shri kant
shri kant

Reputation: 105

How to send an email on my personal email id fro WSO2 ESB

I am trying to send an email from the WSO2 ESB and configured as per one wos2 blog. I am getting error " MailTransportListener Checking mail for account : [email protected]". I a not sure what is wrong in code and can I also send am email on my personal email id so that I can come to know that everything is working fine.

Synapse Code:

<proxy name="StockQuoteProxy" transports="mailto">

<parameter name="transport.mail.Address">[email protected]</parameter>
<parameter name="transport.mail.Protocol">pop3</parameter>
<parameter name="transport.PollInterval">5</parameter>
<parameter name="mail.pop3.host">pop.gmail.com</parameter>
<parameter name="mail.pop3.port">995</parameter>
<parameter name="mail.pop3.user">synapse.demo.1</parameter>
<parameter name="mail.pop3.password">mailpassword</parameter>
<parameter name="mail.pop3.socketFactory.class">javax.net.ssl.SSLSocketFactory</parameter>
<parameter name="mail.pop3.socketFactory.fallback">false</parameter>
<parameter name="mail.pop3.socketFactory.port">995</parameter>
<parameter name="transport.mail.ContentType">application/xml</parameter>

<target>
    <inSequence>
        <property name="senderAddress" expression="get-property('transport', 'From')"/>
        <log level="full">
            <property name="Sender Address" expression="get-property('senderAddress')"/>
        </log>
        <send>
            <endpoint>
                <address uri="http://localhost:9000/services/SimpleStockQuoteService"/>
            </endpoint>
        </send>
    </inSequence>
    <outSequence>
        <property name="Subject" value="Custom Subject for Response" scope="transport"/>
  <property name="messageType" value="text/plain" scope="axis2-client"/>
<script language="js"><![CDATA[
          mc.setPayloadXML(<ns:text xmlns:ns="http://ws.apache.org/commons/ns/payload">Plain text received!</ns:text>);
   ]]></script>
        <header name="To" expression="fn:concat('mailto:', get-property('senderAddress'))"/>
        <log level="full">
            <property name="message" value="Response message"/>
            <property name="Sender Address" expression="get-property('senderAddress')"/>
        </log>
        <send/>
    </outSequence>
</target>
<publishWSDL uri="file:repository/samples/resources/proxy/sample_proxy_1.wsdl"/>

Thanks for your response. All I want is to send an email once I hit this service. my new code is :

<proxy name="SendEmailService" transports="http" startOnLoad="true" statistics="enable" trace="disable">
    <target inSequence="SendEmailService_IN" />
    <publishWSDL key="SendEmailService_wsdl"/>
</proxy>
<localEntry key="SendEmailService_wsdl" src="file:repository/conf/employee/OverseaseEmployee.wsdl"/>
<sequence name="SendEmailService_IN">
 <property name="Subject" value="Custom Subject for Response" scope="transport"/>
    <property name="ContentType" value="text/plain" scope="axis2"/>
    <property name="OUT_ONLY" value="true" scope="default" type="STRING"/>
     <send>
        <endpoint>
           <address uri="[email protected]"/>
        </endpoint>
     </send>
   <parameter name="mail.smtp.user">shrikant</parameter>
   <parameter name="transport.mail.Protocol">smtp</parameter>
   <parameter name="transport.mail.Address">[email protected]</parameter>
   <parameter name="mail.smtp.port">587</parameter>
   <parameter name="mail.smtp.password">pass</parameter>
   <parameter name="transport.mail.ContentType">text/plain</parameter>
   <parameter name="mail.smtp.starttls.enable">true</parameter>
   <parameter name="mail.smtp.auth">true</parameter>
   <parameter name="mail.smtp.from">[email protected]</parameter>
   <parameter name="mail.smtp.host">smtp.gmail.com</parameter>
 <send/>

</sequence> 

Upvotes: 0

Views: 861

Answers (2)

Elilmatha Sivanesan
Elilmatha Sivanesan

Reputation: 51

You can refer this blog for sending email with wso2 esb http://elilsivanesan.blogspot.com/2016/06/mail-transport-with-wso2-esb.html

Upvotes: 0

Bee
Bee

Reputation: 12512

Here is a working proxy to call a service and send the response to an email address. Here, transports="http,https" should be changed depending on how you want to call the proxy service.

<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
       name="MyPxy"
       transports="http,https"
       statistics="disable"
       trace="disable"
       startOnLoad="true">
   <target>
      <inSequence>
         <send>
            <endpoint>
               <address uri="http://www.mocky.io/v2/57cd173e1200008620bb7826"/>
            </endpoint>
         </send>
      </inSequence>
      <outSequence>
         <property name="Subject"
                   value="Custom Subject for Response"
                   scope="transport"/>
         <property name="ContentType" value="text/plain" scope="axis2"/>
         <property name="OUT_ONLY" value="true" scope="default" type="STRING"/>
         <send>
            <endpoint>
               <address uri="mailto:[email protected]"/>
            </endpoint>
         </send>
         <respond/>
      </outSequence>
   </target>
   <parameter name="mail.smtp.user">fromemailuser</parameter>
   <parameter name="transport.mail.Protocol">smtp</parameter>
   <parameter name="transport.mail.Address">[email protected]</parameter>
   <parameter name="mail.smtp.port">587</parameter>
   <parameter name="mail.smtp.password">pass</parameter>
   <parameter name="transport.mail.ContentType">text/plain</parameter>
   <parameter name="mail.smtp.starttls.enable">true</parameter>
   <parameter name="mail.smtp.auth">true</parameter>
   <parameter name="mail.smtp.from">[email protected]</parameter>
   <parameter name="mail.smtp.host">smtp.gmail.com</parameter>
   <description/>
</proxy>

Upvotes: 1

Related Questions