<?xml version="1.0" encoding="utf-8" ?>
<objects xmlns="http://www.springframework.net"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://www.springframework.net http://www.springframework.net/xsd/spring-objects.xsd" >



  
  <!-- Messages -->

  <object id="feedbackMessage" type="System.Net.Mail.MailMessage">
    <property name="From" ref="fromMailAddress" />
    <property name="IsBodyHtml" value="false" />
    <property name="Subject" value="${email.feedback.subject}" />
  </object>


  <object id="newAccountMessage" type="System.Net.Mail.MailMessage">
    <property name="From" ref="fromMailAddress" />
    <property name="IsBodyHtml" value="true" />
    <property name="Subject" value="${user.create.email.subject}" />
    
  </object>

  <object id="passwordResetMessage" type="System.Net.Mail.MailMessage">
    <property name="From" ref="fromMailAddress" />
    <property name="IsBodyHtml" value="false" />
    <property name="Subject" value="${user.passreset.email.subject}" />
  </object>

  <object id="securityQuestionsResetMessage" type="System.Net.Mail.MailMessage">
    <property name="From" ref="fromMailAddress" />
    <property name="IsBodyHtml" value="false" />
    <property name="Subject" value="${user.security.questions.reset.email.subject}" />
  </object>

  <object id="passwordForgotMessage" type="System.Net.Mail.MailMessage">
    <property name="From" ref="fromMailAddress" />
    <property name="IsBodyHtml" value="true" />
    <property name="Subject" value="${user.passforgot.email.subject}" />
    <property name="CC">
        <list element-type="System.Net.Mail.MailAddress">
            <ref local="fromMailAddress"/>
            <!--<ref local="anotherAddress"/>   -->
        </list>
      </property>
  </object>

  <object id="agencyResponseToAmendmentMessage" type="System.Net.Mail.MailMessage">
    <property name="From" ref="fromMailAddress" />
    <property name="IsBodyHtml" value="false" />
    <property name="Subject" value="${agency.response.to.amendment.email.subject}" />
  </object>
  <object id="agencyResponseToRepudiationMessage" type="System.Net.Mail.MailMessage">
    <property name="From" ref="fromMailAddress" />
    <property name="IsBodyHtml" value="false" />
    <property name="Subject" value="${agency.response.to.repudiate.email.subject}" />
  </object>
  <object id="reportSubmissionSuccessEmailMessage" type="System.Net.Mail.MailMessage">
    <property name="From" ref="fromMailAddress" />
    <property name="IsBodyHtml" value="false" />
    <property name="Subject" value="${report.submission.success.email.subject}" />
  </object>
  <object id="repudiationRequestMessage" type="System.Net.Mail.MailMessage">
    <property name="From" ref="fromMailAddress" />
    <property name="IsBodyHtml" value="false" />
    <property name="Subject" value="${repudiation.request.email.subject}" />
  </object>
  <object id="reportRepudiatedMessage" type="System.Net.Mail.MailMessage">
    <property name="From" ref="fromMailAddress" />
    <property name="IsBodyHtml" value="false" />
    <property name="Subject" value="${report.repudiated.email.subject}" />
  </object>
  <object id="userAccountLockedMessage" type="System.Net.Mail.MailMessage">
    <property name="From" ref="fromMailAddress" />
    <property name="IsBodyHtml" value="false" />
    <property name="Subject" value="${user.account.locked.email.subject}" />
  </object>
  <object id="userAccountUnlockedMessage" type="System.Net.Mail.MailMessage">
    <property name="From" ref="fromMailAddress" />
    <property name="IsBodyHtml" value="false" />
    <property name="Subject" value="${user.account.unlocked.email.subject}" />
  </object>
  <object id="userAccountInactivatedMessage" type="System.Net.Mail.MailMessage">
    <property name="From" ref="fromMailAddress" />
    <property name="IsBodyHtml" value="false" />
    <property name="Subject" value="${user.account.inactivated.email.subject}" />
  </object>
  <object id="userAccountActivatedMessage" type="System.Net.Mail.MailMessage">
    <property name="From" ref="fromMailAddress" />
    <property name="IsBodyHtml" value="false" />
    <property name="Subject" value="${user.account.activated.email.subject}" />
  </object>
 

  <!-- Setup -->
  <object id="smtp" type="System.Net.Mail.SmtpClient">
    <constructor-arg name="host" value="${smtp.host}" />
    <constructor-arg name="port" value="${smtp.port}" />
    <property name="DeliveryMethod" value="${smtp.delivery.method}" />
    <!--<property name="Timeout" value="300000" />-->
    <property name="UseDefaultCredentials" value="${smtp.delivery.openrelay}" />
  </object>

  <object id="smtpCredentials" type="System.Net.NetworkCredential">
    <constructor-arg name="userName" value="${smtp.delivery.username}"/>
    <constructor-arg name="password" value="${smtp.delivery.password}"/>
  </object>

  <object id="fromMailAddress" type="System.Net.Mail.MailAddress">
    <constructor-arg name="address" value="${smtp.fromAddress}" />
    <constructor-arg name="displayName" value="${smtp.fromName}" />
  </object>
  
  <object id="emailUtility" type="Sleis.Utility.EmailUtility">
    <property name="Smtp" ref="smtp" />
    <property name="Credentials" ref="smtpCredentials" />
    <property name="VelocityEngine" ref="velocityEngine" />
    <property name="Messages">
      <dictionary key-type="string" value-type="System.Net.Mail.MailMessage">
        <!-- Message key should correspond to the template name minus the ext (.vm) -->
        <entry key="Feedback" value-ref="feedbackMessage" />
        <entry key="NewAccountMessage" value-ref="newAccountMessage" />
        <entry key="PasswordResetMessage" value-ref="passwordResetMessage" />
        <entry key="PasswordForgotMessage" value-ref="passwordForgotMessage" />
        <entry key="AgencyResponseToAmendmentMessage" value-ref="agencyResponseToAmendmentMessage"/>
        <entry key="AgencyResponseToRepudiationMessage" value-ref="agencyResponseToRepudiationMessage"/>
        <entry key="ReportSubmissionSuccessEmailTemplate" value-ref="reportSubmissionSuccessEmailMessage"/>
        <entry key="SecurityQuestionsResetMessage" value-ref="securityQuestionsResetMessage"/>
        <entry key="RepudiationRequestMessage" value-ref="repudiationRequestMessage"/>
        <entry key="ReportRepudiatedMessage" value-ref="reportRepudiatedMessage"/>
        <entry key="UserAccountActivatedMessage" value-ref="userAccountActivatedMessage"/>
        <entry key="UserAccountInactivatedMessage" value-ref="userAccountInactivatedMessage"/>
        <entry key="UserAccountUnlockedMessage" value-ref="userAccountUnlockedMessage"/>
        <entry key="UserAccountLockedMessage" value-ref="userAccountLockedMessage"/>
      </dictionary>
    </property>
  </object>
 

</objects>