在WSO2 ESB中发送电子邮件时出错

时间:2017-09-15 01:44:04

标签: email wso2esb

我发送邮件与WSO2 ESB 5.0.0

1。我已在Axis2.xml文件中取消注释以下行

<transportSender name="mailto" class="org.apache.axis2.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">lmphuong</parameter>
        <parameter name="mail.smtp.password">password</parameter>
        <parameter name="mail.smtp.from">lmphuong@gmail.com</parameter>
    </transportSender>

 <transportReceiver name="mailto" class="org.apache.axis2.transport.mail.MailTransportListener">
        <!-- configure any optional POP3/IMAP properties
        check com.sun.mail.pop3 and com.sun.mail.imap package documentation for more details-->
    </transportReceiver>

2。在axis2.xml的messageFormatters中添加内容

<messageFormatter contentType="text/html" class="org.apache.axis2.transport.http.ApplicationXMLFormatter"/>

第3。我在WSO2 ESB中创建了代理服务

<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
       name="EmailSender"
       transports="http https"
       startOnLoad="true">
   <description/>
   <target>
      <inSequence>
         <log/>
         <property name="messageType"
                   value="text/html"
                   scope="axis2"
                   type="STRING"/>
         <property name="ContentType" value="text/html" scope="axis2"/>
         <property name="Subject" value="Testing ESB" scope="transport"/>
         <property name="OUT_ONLY" value="true"/>
         <property name="FORCE_SC_ACCEPTED" value="true" scope="axis2"/>
         <payloadFactory media-type="xml">
            <format>
               <ns:text xmlns:ns="http://ws.apache.org/commons/ns/payload">$1</ns:text>
            </format>
            <args>
               <arg value="Hello WSO2 ESB.....!"/>
            </args>
         </payloadFactory>
         <log level="full"/>
         <send>
            <endpoint>
               <address uri="mailto:ledung123@gmail.com"/>
            </endpoint>
         </send>
      </inSequence>
      <outSequence/>
   </target>
</proxy>

4。我收到了错误

ERROR - MailTransportSender Error creating mail message or sending it to the configured server
javax.mail.AuthenticationFailedException
        at javax.mail.Service.connect(Service.java:306)        
...    
[2017-09-15 08:04:05,945] ERROR - MailTransportSender Error generating mail message    
...

请帮我解决如何解决此错误

1 个答案:

答案 0 :(得分:0)

您的凭据看起来有问题(AuthenticationFailedException)。您的凭证中是否有任何特殊字符?或者esb和gmail之间是否有代理服务器?

您可以做的是在调试/启用有线日志中启动esb以查看完整的流量。更多信息可以在这里找到。

https://docs.wso2.com/display/ESB500/Debugging+Mediation#DebuggingMediation-Viewingwirelogs

另一种选择可能是使用可在此处找到的GMail连接器。

https://docs.wso2.com/display/ESBCONNECTORS/Gmail+Connector https://store.wso2.com/store/pages/top-assets?q=%22_default%22%3A%22gmail%22