2016-04-25 72 views
0

我有一個簡單的代碼不按預期工作。我正在使用nodemailer。通過nodemailer發送電子郵件不工作

var nodemailer = require('nodemailer'); 

var smtpTransport = nodemailer.createTransport('SMTP', { 
    service: 'Gmail', 
    auth: { 
    user: 'personal gmail address', 
    pass: 'password' 
    } 
}); 

var mailOptions = { 
    from: 'personal gmail address', 
    to: 'personal gmail address', 
    subject: 'Hello world!', 
    text: 'Plaintext message example.' 
}; 

smtpTransport.sendMail(mailOptions, function(err) { 
    console.log('Message sent!'); 
}); 

我收到控制檯發送的消息。但收件箱中沒有電子郵件。

+0

檢查您的垃圾郵件文件夾 – admix

+0

@admix,也不會在垃圾郵件文件夾中禁止任何操作。 – user2281858

回答

1

的Gmail服務,我用這個:

const smtpTransport = require('nodemailer-smtp-transport') 
const nodemailer = require('nodemailer') 

const transport = nodemailer.createTransport(smtpTransport({ 
    service: 'gmail', 
    auth: { 
    user: 'email', 
    pass: 'pass' 
    } 
})) 

但你需要讓你的Gmail帳戶或電子郵件不太安全認證不發送。 我覺得步驟是:

+0

@jaumard ...沒有工作。我已經改變了設置。 – user2281858

+0

禁用您的防病毒並嘗試。我能夠做到 – siddmuk2005

0

您可以檢查錯誤消息。

... 
smtpTransport.sendMail(mailOptions, function(err) { 
    if(err) 
    { 
    console.log(err); 
    } 
    else 
    { 
    console.log('Message sent!'); 
    } 
}); 

因爲在示例代碼中你有,即使nodemailer返回有效的錯誤,它仍然會打印信息已發出

一些時間的消息可排隊或者說在mailOptions任何類型的錯誤,該消息不能被傳遞。