骡子在EC2上运输

时间:2014-11-02 12:57:01

标签: smtp mule

我部署到EC2的Mule流程无法向nodejs发送电子邮件" simplesmtp"服务器在另一个EC2实例上运行。以下是SMPT服务器的身份验证详细信息

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

我可以使用其他主机上的各种客户端向此SMTP服务器发送电子邮件,这里是nodejs客户端的auth部分:

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

我的Mule smpt端点看起来像这样

<smtp:outbound-endpoint
    host="ec2-54-211-220-210.compute-1.amazonaws.com"
    port="2525"
    user="joseph"
    password="joseph12"
    to="cleardot@aol.com"
    from="joseph@ec2-54-211-220-210.compute-1.amazonaws.com"
    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={toAddresses=cleardot@aol.com, subject=Email from Mule ESB, fromAddress=joseph@ec2-54-211-220-210.compute-1.amazonaws.com}, 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={toAddresses=cleardot@aol.com, subject=Email from Mule ESB, fromAddress=joseph@ec2-54-211-220-210.compute-1.amazonaws.com}, 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 [B@3c32fb80
ERROR 2014-11-02 12:03:09,706 [[q2].connector.smtp.mule.default.dispatcher.01] org.mule.exception.DefaultMessagingExceptionStrategy:

其他评论:

我尝试使用joseph@ec2-54-211-220-210.compute-1.amazonaws.com作为用户参数,但没有运气。

我想知道Mule smpt是否要求我使用标准端口,或者我是否必须使用smpts而不是smpt。

我的SMPT服务器记录了对身份验证的尝试,但看不到来自Mule的任何内容

对此有任何帮助,以及从EC2发送电子邮件的一般问题

1 个答案:

答案 0 :(得分:0)

显然,Mule可以连接到您的服务器,因为它的响应在日志中可见:

530 5.5.1 Authentication Required

虽然您的服务器对网络开放(请参阅上面的评论),但我发现它发布了250 STARTTLS,所以我认为您应该使用SMTP的传输来获取Mule ,而不是SMTP,以便对TLS提供适当的支持。