2014-11-02 23 views
0

我部署到EC2的Mule流不能将电子邮件发送到另一个EC2实例上运行的nodejs“simplesmtp”服务器。下面是该SMPT服务器的身份验证信息ECle上的Mule smpt传输

user: joseph 
pass: josephk 
port: 2525 (open in security group) 

我可以发送电子邮件到使用各种客户端上的其他主机此SMTP服务器,这里有一个的NodeJS客户端的身份验证部分:

var smtpTransport = nodemailer.createTransport("SMTP",{ 
    host: 'ec2-54-211-220-210.compute-1.amazonaws.com', 
    secureConnection: false, 
    port: 2525, 
    auth: { 
     user: "joseph", 
     pass: "joseph12" 
    } 
}); 

我的骡子SMPT端点看起来像这样

<smtp:outbound-endpoint 
    host="ec2-54-211-220-210.compute-1.amazonaws.com" 
    port="2525" 
    user="joseph" 
    password="joseph12" 
    to="[email protected]" 
    from="[email protected]" 
    subject="Email from Mule ESB" 
    doc:name="send notification" 
/> 

我的日志错误的是(我讨厌放在这里,但是在这种情况下,反倾销日志文件必须)

INFO 2014-11-02 12:03:08,734 [[q2].connector.smtp.mule.default.dispatcher.01]  org.mule.lifecycle.AbstractLifecycleManager: Starting: 'connector.smtp.mule.default.dispatcher.1535039248'. Object is: SmtpMessageDispatcher 
ERROR 2014-11-02 12:03:08,815 [[q2].connector.smtp.mule.default.dispatcher.01] org.mule.exception.DefaultMessagingExceptionStrategy: 
******************************************************************************** 
Message    : Failed to route event via endpoint:  DefaultOutboundEndpoint{endpointUri=smtp://joseph:<password>@ec2-54-211-220-210.compute- 1.amazonaws.com, connector=SmtpConnector 
{ 
    name=connector.smtp.mule.default 
    lifecycle=start 
    this=54d8fd1a 
    numberOfConcurrentTransactedReceivers=4 
    createMultipleTransactedReceivers=true 
    connected=true 
    supportedProtocols=[smtp] 
    serviceOverrides=<none> 
, name='endpoint.smtp.joseph.compute.1.amazonaws.com.2525', mep=ONE_WAY, properties={[email protected], subject=Email from Mule ESB, [email protected]}, transactionConfig=Transaction{factory=null, action=INDIFFERENT, timeout=0}, deleteUnacceptedMessages=false, initialState=started, responseTimeout=10000, endpointEncoding=UTF-8, disableTransportTransformer=false}. Message payload is of type: MimeMessage 
Code     : MULE_ERROR--2 
-------------------------------------------------------------------------------- 
Exception stack is: 
1. 530 5.5.1 Authentication Required 
    (com.sun.mail.smtp.SMTPSendFailedException) 
    com.sun.mail.smtp.SMTPTransport:1829 (null) 
2. Failed to route event via endpoint: DefaultOutboundEndpoint{endpointUri=smtp://joseph:<password>@ec2-54-211-220-210.compute-1.amazonaws.com, connector=SmtpConnector 
{ 
    name=connector.smtp.mule.default 
    lifecycle=start 
    this=54d8fd1a 
    numberOfConcurrentTransactedReceivers=4 
    createMultipleTransactedReceivers=true 
    connected=true 
    supportedProtocols=[smtp] 
    serviceOverrides=<none> 
} 
, name='endpoint.smtp.joseph.compute.1.amazonaws.com.2525', mep=ONE_WAY, properties={[email protected], subject=Email from Mule ESB, [email protected]}, transactionConfig=Transaction{factory=null, action=INDIFFERENT, timeout=0}, deleteUnacceptedMessages=false, initialState=started, responseTimeout=10000, endpointEncoding=UTF-8, disableTransportTransformer=false}. Message payload is of type: MimeMessage (org.mule.api.transport.DispatchException) 
    org.mule.transport.AbstractMessageDispatcher:117 (http://www.mulesoft.org/docs/site/current3/apidocs/org/mule/api/transport/DispatchException.html) 
-------------------------------------------------------------------------------- 
Root Exception stack trace: 
com.sun.mail.smtp.SMTPSendFailedException: 530 5.5.1 Authentication Required 
     at com.sun.mail.smtp.SMTPTransport.issueSendCommand(SMTPTransport.java:1829) 
     at com.sun.mail.smtp.SMTPTransport.mailFrom(SMTPTransport.java:1368) 
     at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:886) 
    + 3 more (set debug level logging or '-Dmule.verbose.exceptions=true' for everything) 
******************************************************************************** 
INFO 2014-11-02 12:03:09,697 [[q2].processArcMessage.stage1.02] org.mule.api.processor.LoggerMessageProcessor: send alert [[email protected] 
ERROR 2014-11-02 12:03:09,706 [[q2].connector.smtp.mule.default.dispatcher.01] org.mule.exception.DefaultMessagingExceptionStrategy: 

其他评论:

我尝试使用[email protected]因为没有运气用户PARAM。

我想知道如果骡子smpt要求我使用标准端口,或者如果我必须使用smpts不smpt。

我SMPT服务器的身份验证登录尝试,但什么也没看到,从骡

未来

赞赏任何帮助和骡子在EC2上发送电子邮件的一般性问题

+0

您的安全组存在问题,因为我可以“telnet ec2-54-211-220-210.compute-1.amazonaws.com 2525”。我想你打算只打开你的实例端口... – 2014-11-03 06:17:30

回答

0

显然,骡子可以连接到你的服务器,因为它响应是可见的日志:

530 5.5.1 Authentication Required 

当你的服务器是开放的网络(见上面我的意见),我已经注意到,它发布了250 STARTTLS所以我在想,你也许应该使用S为了对TLS提供适当的支持,Mule使用MTPS传输,而不是SMTP传输。

+0

大卫谢谢。我故意将该主机留给网络打开,但它出现我的节点SMTP服务器崩溃。 Mule smtps端点返回“Unrecognized SSL message,plaintext connection?(javax.net.ssl.SSLException)”,telnet给了我“220 ip-10-181-241-225 ESMTP node.js simplesmtp”。我将尝试使用Amazon SES作为我的Mule终端,而不是进一步深入SMTP编程的沟渠。这应该是一个常见的设置。 – 2014-11-05 11:56:00