2014-11-02 53 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