本地托管时一切正常,但是当访问 Heroku 上托管的后端时,我收到错误“错误:缺少“PLAIN”的凭据。这对我来说也不是第一次,我经历了整个过程故障排除困难。即使尝试了不同的邮件服务以查看错误是否会消失,也没有任何效果。我什至获得了 Gmail API OAuth 代码,但此错误仍然出现在 Heroku 上。有什么想法吗?
let transporter = nodemailer.createTransport({
host: "smtp.gmail.com",
service: Gmail,
port: 587,
secure: false, // true for 465, false for other ports
auth: {
user: process.env.EMAIL,
pass: process.env.PASS,
clientId: process.env.CLIENTID,
clientSecret: process.env.CLIENTSECRET,
refreshToken: process.env.REFRESH
},
tls: {
rejectUnauthorized: false
}
});
Heroku:Console Image for Error Log
最佳答案
请注释掉主机:“smtp.gmail.com”作为其下面的服务行就足够了。您可以将密码放在 pass 前面的单引号中,这样可以快速修复: pass: 'yourpassword', 当然,这不是最好的方法,但它可能会暂时解决问题,直到您找到更好的方法。
关于node.js - Nodemailer "Error: Missing credentials for "PLAIN“Gmail API 凭据之后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60823340/