Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Email event adapter is an internal event adaper that comes with WSO2 products by default. It can be configured with  XML, text, and JSON input mapping types.

Table of Contents
maxLevel3

Excerpt
hiddentrue

NOTE TO WRITERS: Add the TOC here.

Table of Contents
maxLevel3

Prerequisites

Follow the steps below to complete the prerequisites before starting the input adapter configurations.

  1. Enable the mail transport receiver in Axis2 level by uncommenting the following line in <PRODUCT_HOME>/repository/conf/axi2/axis2.xml file:
    <transportReceiver name="mailto" class="org.apache.axis2.transport.mail.MailTransportListener"/>
  2. Remove any rich text formatting from the email body. It must contain only plain text.  

Configuring input email event adapter

You can configure the email input event adapter using the management console or using a configuration file.

Anchor
Using the management console
Using the management console
Configure using the management console

Follow the instructions below to configure input email event adapter using the management console. This deploys the event adapter in the <PRODUCT_HOME> /

...

  1. Log in to product's management console, and click  Configure.
  2. Click  Input Event Adaptors in the Event Processor Configs menu, and then click Add Input Event Adaptor.
  3. Enter details as shown in the below example.
    create input email event adapter
    Properties of the above configuration are described below.  

    PropertyDescription
    Event Adaptor NameName of the input event adapter
    Event Adaptor TypeType of the input event adapter
    Receiving Mail AddressMail address, where the product used to retrieve the mails
    Receiving Mail ProtocolCan be either POP or IMAP (If you select IMAP, make sure it is enabled in your email account settings)
    Poll IntervalThe time limit, in which the product needs to check for new mails
    Receiving Mail Protocol Host:pop.gmail.com for POP, and imap.gmail.com for IMAP
    Receiving Mail Protocol Port995 for POP, and 993 for IMAP
    User NameUsername of the email account
    PasswordUsername of the email account
    Receiving Mail Protocol Port SocketFactory ClassClass of the receiving mail protocol port
    Receiving Mail Protocol SocketFactory FallBack To enable or disable fallback of the receiving mail protocol class

     

  4. Click    Add Event Adaptor.

Anchor
Using the management console
Using the management console
Configure using a configuration file

Follow the instructions below to configure input email event adapter using a configuration file.

  1. Create an XML file with the following input email event adapter configurations. Input event adaptor implementation must start with  <inputEventAdaptor>  as the root element.

    Code Block
    languagehtml/xml
    <inputEventAdaptor name="emailAdaptor" type="email" xmlns="http://wso2.org/carbon/eventadaptormanager">
      <property name="mail.protocol.socketFactory.fallback">false</property>
      <property name="transport.mail.Address">wso2cep@gmail>wso2bam@gmail.com</property>
      <property name="mail.protocol.password">mailpassword</property>
      <property name="mail.protocol.host">pop.gmail.com</property>
      <property name="mail.protocol.port">995</property>
      <property name="mail.protocol.user">wso2cep<>wso2bam</property>
      <property name="transport.PollInterval">5</property>
      <property name="transport.mail.Protocol">pop3</property>
      <property name="mail.protocol.socketFactory.class">javax.net.ssl.SSLSocketFactory</property>
    </inputEventAdaptor>
  2. Add the XML file to the  <PRODUCT_HOME>/repository/deployment/server/inputeventadaptors/  directory. Since hot deployment is enabled, you can simply add/remove files to deploy/undeploy to/from the server.   

...

Info

If there is any exception occurred continuously when sending mail, check whether email.in.subject matches with email subject that we send. (For example: If email.in.subject is TestMail then subect of the mail needs to be SOAPAction :urn:TestMail. If the issue still continues, try removing service-meta files in the deployment directory.

Configuring input email event adapter message properties

The configured input event adapters are used in event builders. With input event adapter message properties, event builders are able to extract data from the incoming events to build the event streams. Following are the specific message properties of the input email event adapter.
input email event adapter message propertiesImage Removed
The message properties of the input email Message properties specific to input event adapters of the email type can be configured as follows.
  1. Log into the BAM Management Console. For detailed instructions, see Running the Product.
  2. In the Main tab, click Event Streams to open the Available Event Streams page.
  3. Click the Inflows link of the event stream to which the relevant input event adapter is connected. As a result, Event In-Flows (<Input_Event_Adapter_Name>)opens.
  4. Click on the relevant event builder name to open the Event Builder Details page.
    input email event adapter message propertiesImage AddedThe message properties of an email input event adapter are described below.

...

  1. Change the property values as required.

    PropertyDescription
    Email Service NameFor an email to be processed through this event builder, the subject must be SOAPAction:urn:{Email Service Name}.
    Input Mapping Type The incoming event type to be mapped.