当我试图使用nodemailer发送电子邮件时,我得到了代码'ETIMEDOUT'的连接超时错误,但是当我在笔记本上尝试使用相同的电子邮件帐户和密码时,没有错误。
这是文件“mail.js”:
const nodemailer = require('nodemailer');
const user = process.env.EMAIL;
const pass = process.env.EMAIL_PASS;
const transporter = nodemailer.createTransport({
service: 'kinghost',
host: 'smtp.kinghost.net',
port: 587,
secure: false,
pool: true,
auth: { user, pass }
});
module.exports = {
sendMail(to, subject, html) {
const mailOptions = {
from: user,
to,
subject,
html
};
console.log(user)
transporter.sendMail(mailOptions, (err, info) => {
if (err) {
console.log(err)
};
console.log(`Mail to ${mail} has been sended`);
});
}
};发布于 2019-11-28 12:47:28
这可能是因为在生产网站上,您所在的服务器拥有与您自己不同的IP,而且您的电子邮件服务可能正在运行某种过滤,因为它认为这可能是意外行为。
您可能应该研究验证电子邮件客户端的其他安全方法,或者可能查看是否可以注册生产服务器的IP (效率较低)。
https://stackoverflow.com/questions/59088687
复制相似问题