<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/aop https://www.springframework.org/schema/aop/spring-aop.xsd">

    <bean id="smtpService" class="com.armedia.acm.services.email.smtp.SmtpService">
        <property name="ecmFileService" ref="ecmFileService"/>
        <property name="acmEmailContentGeneratorService" ref="acmEmailContentGeneratorService"/>
        <property name="emailSenderConfig" ref="emailSenderConfig"/>
        <property name="defaultFolderAndFileConverter" ref="folderConverter"/>
        <property name="acmMailSender" ref="acmMailSender"/>
    </bean>

    <bean id="acmMailSender" class="com.armedia.acm.services.email.smtp.AcmMailSender">
        <property name="emailConfig" ref="emailSenderConfig"/>
        <property name="smtpMailSender" ref="smtpMailSender"/>
        <property name="smtpsMailSender" ref="smtpsMailSender"/>
        <property name="trackOutgoingEmailService" ref="trackOutgoingEmailService"/>
    </bean>

    <bean id="smtpMailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl"/>

    <bean id="smtpsMailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
        <property name="javaMailProperties">
            <props>
                <prop key="mail.smtp.auth">true</prop>
                <prop key="mail.smtp.starttls.enable">true</prop>
                <prop key="mail.smtps.starttls.enable">true</prop>
                <prop key="mail.smtps.auth">true</prop>
            </props>
        </property>
    </bean>
    
    <bean id="trackOutgoingEmailService" class="com.armedia.acm.services.email.smtp.TrackOutgoingEmailService" scope="refresh">
        <aop:scoped-proxy/>
        <property name="acmFolderService" ref="acmFolderService"/>
        <property name="auditPropertyEntityAdapter" ref="auditPropertyEntityAdapter"/>
        <property name="emailReceiverConfig" ref="emailReceiverConfig"/>
        <property name="ecmFileService" ref="ecmFileService"/>
        <property name="ecmFileDao" ref="ecmFileDao"/>
        <property name="emailSenderConfig" ref="emailSenderConfig"/>
        <property name="emlToPDFConverter" ref="emlToPDFConverter"/>
    </bean>

</beans>