我使用托管在 GoDaddy 上的 Microsoft 365 Outlook 帐户。
当用户单击 [联系我们] 按钮时,我试图让我的节点服务器向我的 Outlook 帐户发送一封电子邮件。代码如下:
const nodemailer = require('nodemailer');
app.post('/contact', function(req, res){
res.send(JSON.stringify(req.body));
//generate email
let transporter = nodemailer.createTransport({
host: 'smtp.office365.com',
port: 587,
secure: false,
auth: {
user: 'myemail@mysite.com',
pass: 'mypass'
}
});
const mailOptions = {
from: '"Administrator" <myemail@mysite.com>',
to: 'myemail@mysite.com',
subject: "Someone has messaged your website",
html: "<p>Name: " + req.body.fullName + "<br>Email: " + req.body.email + "<br>Message: " + req.body.msg + "</p>"
};
transporter.sendMail(mailOptions, function (err, info) {
if(err)
console.log(err)
else
console.log(info.messageId);
});
});
正在记录到控制台的错误是:
'451 4.7.0 Temporary server error. Please try again later. PRX4 [CO2PR04CA0181.namprd04.prod.outlook.com]'
更新 7/13 另一个可能更有用的错误消息(如错误堆栈中的第一行)如下:
at SMTPConnection._formatError