Class MailSender

  • All Implemented Interfaces:
    IConfigurable, IConfigurationAware, INamedObject, IScopeProvider, ISender, ISenderWithParameters, IWithParameters, org.springframework.beans.factory.Aware, org.springframework.context.ApplicationContextAware

    @Category("Advanced")
    public class MailSender
    extends MailSenderBase
    sender that sends a mail specified by an XML message.

    Sample email.xml:

        <email>
           <recipients>
              <recipient type="to">***@hotmail.com</recipient>
              <recipient type="cc">***@gmail.com</recipient>
           </recipients>
           <from name="*** ***">***@yahoo.com</from>
           <subject>This is the subject</subject>
           <threadTopic>subject</threadTopic>
           <message>This is the message</message>
           <messageType>text/plain</messageType><!-- Optional -->
           <messageBase64>false</messageBase64><!-- Optional -->
           <charset>UTF-8</charset><!-- Optional -->
           <attachments>
              <attachment name="filename1.txt">This is the first attachment</attachment>
              <attachment name="filename2.pdf" base64="true">JVBERi0xLjQKCjIgMCBvYmoKPDwvVHlwZS9YT2JqZWN0L1N1YnR5cGUvSW1...vSW5mbyA5IDAgUgo+PgpzdGFydHhyZWYKMzQxNDY2CiUlRU9GCg==</attachment>
              <attachment name="filename3.pdf" url="file:/c:/filename3.pdf"/>
              <attachment name="filename4.pdf" sessionKey="fileContent"/>
           </attachments><!-- Optional -->
       </email>
     

    Notice: the XML message must be valid XML. Therefore, especially the message element must be plain text or be wrapped as CDATA. Example:

        <message><![CDATA[<h1>This is a HtmlMessage</h1>]]></message>
     

    The sessionKey attribute for attachment can contain an inputstream or a string. Other types are not supported at this moment.

    The attribute order for attachments is as follows:

    1. sessionKey
    2. url
    3. value of the attachment element

    The base64 attribute is only used when the value of the PipeLineSession variable sessionKey is a String object or when the value of the attachment element is used. If base64=true then the value will be decoded before it's used.

    Compilation and Deployment Note: mail.jar (v1.2) and activation.jar must appear BEFORE j2ee.jar. Otherwise errors like the following might occur: NoClassDefFoundException: com/sun/mail/util/MailDateFormat

    Author:
    Johan Verrips, Gerrit van Brakel