nodemailer 在 Aws Ec2 上的生产环境中导致错误
nodemailer is causing an error in production environment on Aws Ec2
我正在使用 nodemailer
使用 node.js
发送电子邮件,并且我有此配置来发送电子邮件
var transporter = nodemailer.createTransport({
service: 'gmail',
host: 'smtp.gmail.com',
auth: {
user: 'myemail@gmail.com',
pass: 'password'
}
});
const mailOptions = {
from: 'myemail@gmail.com', // sender address
to: user.company_email, // list of receivers
subject: 'EnStream New Account Signup Password', // Subject line
html: `<p style="font-size : 15px;">Please sing in to your en-stream account here <a href="http://demo.en-stream.com/auth/login">http://demo.en-stream.com/auth/login</a> with this password : ${userPassword}</p>`// plain text body
};
它在本地环境中正确发送电子邮件,但在 Aws Ec2
的生产环境中它抛出此错误
code: "EAUTH"
command: "AUTH PLAIN"
response: "534-5.7.14 <https://accounts.google.com/signin/continue?sarp=1&scc=1&plt=AKgnsbua↵534-5.7.14 qup7zOOL4GtmYEf1HEHBASSSBgbuMNJRQqK2v3X9mcxDRX1SrXU2Y_LSqZm7Y7yJvH2PwL↵534-5.7.14 JZW6iSXxsRhBdntFAAamrvitpdKS_YJiE-pEnXWakITAz1PAzwDMxjJPKntQrLl2Qx-xA1↵534-5.7.14 zZ4aTvKvYOAk85YHwABnnd0wHU2HkUeHPoDYqgXUWgSA_8Rrn4xkIsUN> Please log↵534-5.7.14 in via your web browser and then try again.↵534-5.7.14 Learn more at↵534 5.7.14 https://support.google.com/mail/answer/78754 a11sm34494120wrx.5 - gsmtp"
responseCode: 534
我在我的 ec2
实例安全组中允许出站端口 465 是这样的
这里的真正问题是什么?
您可能需要获得 Gmail 的许可。
为此您必须启用 Allow access to your Google Account。
步骤:
- 通过您尝试使用的同一浏览器转到此 link
登录。
- 它会问"Allow access to your Google Account"。单击 "Continue" 按钮。
- 将显示消息 "Account access enabled"。
此外,必须允许 "Less Secure Apps" 的设置。通过这个 link:https://myaccount.google.com/lesssecureapps.
如果问题仍然存在,请检查您的服务器 IP 是否被 Gmail 阻止。
这应该有所帮助!
我正在使用 nodemailer
使用 node.js
发送电子邮件,并且我有此配置来发送电子邮件
var transporter = nodemailer.createTransport({
service: 'gmail',
host: 'smtp.gmail.com',
auth: {
user: 'myemail@gmail.com',
pass: 'password'
}
});
const mailOptions = {
from: 'myemail@gmail.com', // sender address
to: user.company_email, // list of receivers
subject: 'EnStream New Account Signup Password', // Subject line
html: `<p style="font-size : 15px;">Please sing in to your en-stream account here <a href="http://demo.en-stream.com/auth/login">http://demo.en-stream.com/auth/login</a> with this password : ${userPassword}</p>`// plain text body
};
它在本地环境中正确发送电子邮件,但在 Aws Ec2
的生产环境中它抛出此错误
code: "EAUTH"
command: "AUTH PLAIN"
response: "534-5.7.14 <https://accounts.google.com/signin/continue?sarp=1&scc=1&plt=AKgnsbua↵534-5.7.14 qup7zOOL4GtmYEf1HEHBASSSBgbuMNJRQqK2v3X9mcxDRX1SrXU2Y_LSqZm7Y7yJvH2PwL↵534-5.7.14 JZW6iSXxsRhBdntFAAamrvitpdKS_YJiE-pEnXWakITAz1PAzwDMxjJPKntQrLl2Qx-xA1↵534-5.7.14 zZ4aTvKvYOAk85YHwABnnd0wHU2HkUeHPoDYqgXUWgSA_8Rrn4xkIsUN> Please log↵534-5.7.14 in via your web browser and then try again.↵534-5.7.14 Learn more at↵534 5.7.14 https://support.google.com/mail/answer/78754 a11sm34494120wrx.5 - gsmtp"
responseCode: 534
我在我的 ec2
实例安全组中允许出站端口 465 是这样的
这里的真正问题是什么?
您可能需要获得 Gmail 的许可。
为此您必须启用 Allow access to your Google Account。
步骤:
- 通过您尝试使用的同一浏览器转到此 link 登录。
- 它会问"Allow access to your Google Account"。单击 "Continue" 按钮。
- 将显示消息 "Account access enabled"。
此外,必须允许 "Less Secure Apps" 的设置。通过这个 link:https://myaccount.google.com/lesssecureapps.
如果问题仍然存在,请检查您的服务器 IP 是否被 Gmail 阻止。
这应该有所帮助!