Email event adaptor adapter is an internal event adaptor adaper that comes with WSO2 CEP products by default.
Table of Contents |
---|
|
Prerequisites
Follow the steps below to complete the prerequisites.
- Enable the mail transport receiver in axis2 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"/> - Remove any rich text formatting from the email body. It must contain only plain text.
Configuring
...
input email event adapter
The topics below explain how to configure the Email email input event adaptor adapter using the management console or using an XML file as explained in step 5.
...
a configuration file.
Anchor | ||||
---|---|---|---|---|
|
- Log in to product management console, and click Event Processor Configs in the Configure menu.
- Click Add Input Event Adaptor in the Input Event Adaptors menu.
- Enter details as shown in the below example.
Fields of the above screen are described below:- Event Adaptor Name: emailAdaptor
- Event Adaptor Type: email
- Receiving Mail Address: Mail address where CEP the product used to retrieve the mails.
- Receiving Mail Protocol: Can be either pop or imap (If you select imap, make sure it is enabled in your mail account settings).
- Poll Interval: In which time limit CEP 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 Port: 995 (for pop) and 993 (for imap)
Following values are used in the configuration above:
No Format Event Adaptor Name : emailAdaptor Event Adaptor Type : email Receiving Mail Address : wso2cep@gmail.com Receiving Mail Protocol : pop3 Poll Interval(in seconds) : 5 Receiving Mail Protocol Host : pop.gmail.com Receiving Mail Protocol Port : 995 User Name : wso2cep Password : wso2cep Receiving Mail Protocol Port SocketFactory Class : javax.net.ssl.SSLSocketFactory Receiving Mail Protocol Port SocketFactory Fallback : false
- After the adapter is successfully created, you can change its configuration and redeploy it. To do this, click the Edit link associated with it. You can also click the other links associated with it to delete it or enable statistics and tracing.
- An XML editor opens with basic code, allowing you to edit the event adaptor configuration from UI itself, without having to edit the file in the file system. Do your modifications and click Update.
- Alternatively,
Anchor step5 step5 you can specify an event adaptor configuration using an XML file and save it in<PRODUCT_HOME>/repository/deployment/server/inputeventadaptors
directory, which is the Input event adaptor deployment directory. Since hot deployment is enabled, you can simply add/remove files to deploy/undeploy from the server.
Create the XML file with the following Email input event adaptor configurations. Input event adaptor implementation must start with<inputEventAdaptor>
Click Add Event Adaptor.
Info |
---|
After an adapter is successfully added, click Edit to change its configuration and redeploy it. This will open a XML-based editor allowing you to edit the event adapter configurations from the UI. Do your modifications and click Update . You can also delete it or enable statistics and tracing using the provided UI options. |
Info |
---|
Email event adapter can be configured with XML input mapping, Text Mapping and JSON Mapping. |
Info |
---|
If there is any exception occurred continuously when sending mail, check whether |
Anchor | ||||
---|---|---|---|---|
|
Follow the instructions below to configure input email event adapter using a configuration file.
Create a XML file with the following Qpid input event adaptor configurations.
Info Input event adaptor implementation must start with
<inputEventAdaptor>
as the root element.Code Block language html/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.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</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>
Email event adaptor can be configured with XML input mapping, Text Mapping and JSON Mapping.
Info |
---|
If there any exception occurred continuously when sending mail, Please check whether email.in.subject is matched with email subject that we send (Eg: If email.in.subject is "TestMail" then mail subject needs to be "SOAPAction :urn:TestMail" . If issue continues try removing service-meta files in the deployment directory. |
Configuring Input Email Event Adaptor Message Properties
...
Add it in
<PRODUCT_HOME>/repository/deployment/server/inputeventadaptors/
directory.Info Since hot deployment is enabled, you can simply add/remove files to deploy/undeploy to/from the server.
Configuring input email event adapter message properties
- Email Service Name : For an Email 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. The Input JMS Event Adaptor supports XML, Json and text mappings.