node.js - 电子邮件被 Nodemailer 拒绝发送
问题描述
我正在尝试在 nodemailer-express-handlebars 的帮助下发送一封包含 HTML 内容的电子邮件。每次我的邮件被 Gmail 阻止时,可以在发件人的 Gmail 发件箱中检查,而我从 nodemailer 获得成功消息
时,Email sent: 250 2.0.0 OK 1595608108 i66sm6757247pfc.12 - gsmtp
我无法理解为什么会发生这种情况,因为当我发送带有文本的邮件时,它会被传递。
节点邮件代码
sendMail=(email)=>{
var transporter = nodemailer.createTransport({
service: 'gmail',
auth: {
user: 'emailId',
pass: 'password'
}
});
transporter.use('compile',hbs({
viewEngine:{
partialsDir:"./views/",
defaultLayout: "",
layoutsDir: "",
},
viewPath:"./views/",
extName:'.hbs',
}))
var mailOptions = {
from: '<xyz@gmail.com>',
to: email,
subject: 'Your order has been placed successfully.',
template:'mail',
context:{
name:"XYZ",
address:"133"
}
};
transporter.sendMail(mailOptions, function(error, info){
if (error) {
console.log(error);
} else {
console.log('Email sent: ' + info.response);
}
});
}
解决方案
建议将 OAuth2 与 NodeMailer 和 Gmail 一起使用。使用普通的用户名和密码可能是导致您出现问题的原因。
推荐阅读
- discord.js - Discord.js 消息在每次执行后重复
- microservices - 为什么我的 kong 网关 api 不授权 Web 服务访问微服务?
- javascript - Froala imageUploadToS3 使用 Javascript 返回“解析响应失败”
- javascript - 如何将 Firestore 文档值更新为与当前布尔值相反的值?
- regex - 正则表达式匹配一些字符而不匹配其他字符组合
- ios - 如何转换表示 tensorflowlite 时间序列数据的 3d 数组....注意该模型适用于 python,现在移植到 swift
- deployment - 在 Travis-CI 中部署到 GitHub 页面:将上传哪些文件?
- python - 无法使用 BeautifulSoup 抓取特定表
- python - 如何使用生成器或其他方式设置 TF 2.4 训练数据
- rest - express nodejs Passportjs 总是失败Rederict