我想從我的Nodejs應用程序發送電子郵件。我爲此使用包Nodemailer。這是我用來發送電子郵件的代碼;Nodejs,使用Bluehost SMTP使用Nodemailer發送的電子郵件沒有被髮送,沒有錯誤
let smtpTransport = nodemailer.createTransport({
host: "box***.bluehost.com",
port: 465,
secure: true,
auth: {
user: <[email protected]>,
pass: <password>
}
});
let sendResetPasswordEmail = (user, token) => {
let mailOptions = {
to : user.workEmail,
subject : "Reset your password",
text : _generateResetPasswordEmail(user, token)
}
smtpTransport.sendMail(mailOptions, (error, response) => {
if(error){
console.error(error);
} else {
console.log("Message sent: " + response.message);
console.log(response);
}
});
}
在smtpTransport.sendMail
功能的回調,誤差爲空,這是響應我得到
{
accepted: [ '[email protected]' ],
rejected: [],
response: '250 OK id=short-hyphenated-alpha-numeric-id>',
envelope: { from: '', to: [ '[email protected]' ] },
messageId: '<[email protected]>'
}
一切都在響應似乎罰款,狀態代碼是250,但[email protected]
根本不會接受這封電子郵件。此外,我無法在我的bluehost電子郵件信息中心的「發送」列表中找到它。有什麼可能會出錯。
如果郵件已被退回或發送到垃圾郵件,我會得到250OK嗎? –
通常250表示收件人服務器正在接受郵件,但由於某種原因未將郵件給予收件人。您的smtp提供商除此之外無法查看任何內容。但是,如果它彈起,你應該得到一個反彈錯誤代碼。對於垃圾郵件,它會給250確定,所以你需要正確設置你的密鑰。 –
嘗試在聲明'createTransport'時添加'debug:true'。我從bluehost smtp服務獲得了這條消息:'220-我們不授權使用此係統傳輸未經請求的和/或批量電子郵件。「 – oschvr