Class MailSender

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

@Category("Advanced") public class MailSender extends MailSenderBase implements HasPhysicalDestination
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