This site contains the documentation that is relevant to older WSO2 product versions and offerings.
For the latest WSO2 documentation, visit https://wso2.com/documentation/.

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

The MailTo transport supports sending messages (E-Mail) over SMTP and receiving messages over POP3 or IMAP. This transport implementation is available as a module of the WS-Commons Transports project. 

Enabling the transport

The JAR consisting of the MailTo transport implementation is named axis2-transport-mail.jar and the following sender and receiver classes should be included in the ESB configuration to enable the MailTo transport:

  • org.apache.axis2.transport.mail.MailTransportSender 
  • org.apache.axis2.transport.mail.MailTransportListener

To enable the MailTo transport sender

  • Edit the <ESB_HOME>/repository/conf/axis2/axis2.xml file and uncomment the MailTo sender as follows:
<transportSender name="mailto" class="org.apache.synapse.transport.mail.MailTransportSender">
    <parameter name="mail.smtp.host">smtp.gmail.com</parameter>
    <parameter name="mail.smtp.port">587</parameter>
    <parameter name="mail.smtp.starttls.enable">true</parameter>
    <parameter name="mail.smtp.auth">true</parameter>
    <parameter name="mail.smtp.user">synapse.demo.0</parameter>
    <parameter name="mail.smtp.password">mailpassword</parameter>
    <parameter name="mail.smtp.from">synapse.demo.0@gmail.com</parameter>
</transportSender>

The MailTo transport sender is generally configured globally so that all services can share the same transport sender configuration.

To enable the MailTo transport receiver

  • Edit the <ESB_HOME>/repository/conf/axis2/axis2.xml file and uncomment the MailTo listener as follows:
<transportReceiver name="mailto" class="org.apache.axis2.transport.mail.MailTransportListener">
</transportReceiver> 

The MailTo transport receiver should be configured at service level and each service configuration should explicitly state the mail transport receiver configuration. This is required to enable different services to receive mails over different mail accounts and configurations. 

Note

You need to provide correct parameters for a valid mail account at the service level.

Service Level Transport Receiver Parameters

The MailTo transport listener implementation can be configured by setting the parameters described in JavaMail API documentation. For IMAP related properties refer the documentation for com.sum.mail.imap package. For POP3 properties please refer the documentation for com.sun.mail.pop3 package. Apart from the parameters describes in JavaMail API documentation, MailTo transport listener supports the following transport parameters.

Tip

In transport parameter tables, literals displayed in italic mode under the "Possible Values" column should be considered as fixed literal constant values. Those values can be directly put in transport configurations.

Parameter Name

Description

Requried

Possible Values

Default Value

transport.mail.Address

The mail address from which this service should fetch incoming mails.

Yes

A valid e-mail address

 

transport.mail.Folder

The mail folder in the server from which the listener should fetch incoming mails.

No

A valid mail folder name (eg: inbox)

inbox folder if that is available or else the root folder

transport.mail.Protocol

The mail protocol to be used to receive messages.

No

pop3, imap

imap

transport.mail.PreserveHeaders

A comma separated list of mail header names that this receiver should preserve in all incoming messages.

No

A comma separated list

 

transport.mail.RemoveHeaders

A comma separated list of mail header names that this receiver should remove from incoming messages.

No

A comma separated list

 

transport.mail.ActionAfterProcess

Action to perform on the mails after processing them.

No

MOVE, DELETE

DELETE

transport.mail.ActionAfterFailure

Action to perform on the mails after a failure occurs while processing them.

No

MOVE, DELETE

DELETE

transport.mail.MoveAfterProcess

Folder to move the mails after processing them.

Required if ActionAfterProcess is MOVE

A valid mail folder name

 

transport.mail.MoveAfterFailure

Folder to move the mails after encountering a failure.

Required if ActionAfterFailure is MOVE

A valid mail folder name

 

transport.mail.ProcessInParallel

Whether the receiver should incoming mails in parallel or not (works only if the mail protocol supports that - for example, IMAP).

No

true, false

false

transport.ConcurrentPollingAllowed

Whether the receiver should poll for multiple messages concurrently.

No

true, false

false

transport.mail.MaxRetryCount

Maximum number of retry operations to be performed when fetching incoming mails.

Yes

A positive integer

 

transport.mail.ReconnectTimeout

The reconnect timeout in milliseconds to be used when fetching incoming mails.

Yes

A positive integer

 

Global Transport Sender Parameters

For a list of parameters supported by the MailTo transport sender, please, refer the API documentation for JavaMail com.sun.mail.smtp package. In addition to the parameters described there, the MailTo transport sender supports the following parameters.

Parameter Name

Description

Requried

Possible Values

Default Value

transport.mail.SMTPBccAddresses

If one or more e-mail addresses need to be specified as BCC addresses for outgoing mails, this parameter can be used.

No

A comma separated list of e-mail addresses

 

transport.mail.Format

Format of the outgoing mail.

No

Text, Multipart

Text

For more information, see:

  • No labels