2017-03-09 336 views
2

發送電子郵件當我嘗試通過Wakanda服務器發送電子郵件,使用下面的代碼,出現錯誤:不能與Wakanda服務器1.1.3

var mail = require('waf-mail/mail'); 
var message = new mail.Mail(); 
message.subject = "Here the subject of the email"; 
message.from = "[email protected]"; 
message.to = '[email protected]'; 
message.setBody("This is a test message"); 

mail.send({ 
    address: 'mail.mydomain.com', 
    port: 587, 
    isSSL: true, 
    username: 'MY-USERNAME', 
    password: 'MY-PASSWORD', 
    domain: 'mydomain.com' 
}, message); 

當在調試模式中mail.send發生錯誤運行,在以下行:

socket = tls.connect(port, address, connectCallback); 

調試時,我不能進入此函數調用,並嘗試這樣做時發生錯誤。

的文檔說mail.send應該返回一個狀態對象,但這並不發生在這裏。添加一個try/catch到mail.send呼叫在catch產生這個錯誤對象:

Error = { 
    error: [{ 
     componentSignature: "xbox" 
     errCode: 5 
     message: ""}], 
    messages: [""] 
} 

Wakanda服務器1.1.3

的MacOS 10.11.6

我使用Gmail發送我電子郵件。

回答

1

確保在mail.send屬性中包含正確的地址端口。 你必須尋找正確的SMTP設置您所使用的電子郵件。 的Gmail我贏得成功使用發送郵件如下:

var mail = require('waf-mail/mail'); 
var message = new mail.Mail(); 
message.subject = "Test"; 
message.from = "[email protected]"; 
message.to = ['[email protected]' , '[email protected]']; 
message.setBody("This is a test message"); 
mail.send({ 
    address: 'smtp.gmail.com', 
    port: 465, 
    isSSL: true, 
    username: 'username', 
    password: 'password', 
    domain: 'gmail.com' 
}, message); 
+0

原來,密碼的最後一個字符失蹤。不知道這是怎麼發生的。即便如此,WAF郵件應該3的動作屬性值返回狀態對象(驗證失敗),而不是拋出一個異常艱澀。 –