Gmail NodeEmailer在本地工作,但不在生产上工作
我将我的应用程序联机并尝试使用我的联系人表单,但由于smtp连接超时,NodeEmailer无法工作 这是我的交通工具Gmail NodeEmailer在本地工作,但不在生产上工作,gmail,nodemailer,production,Gmail,Nodemailer,Production,我将我的应用程序联机并尝试使用我的联系人表单,但由于smtp连接超时,NodeEmailer无法工作 这是我的交通工具 let transporter = nodemailer.createTransport({ host: 'smtp.gmail.com', port: 465, secure: true, auth: { user: process.env.MAIL_USERNAME, // pass: process.env.MAIL_PASSWORD //
let transporter = nodemailer.createTransport({
host: 'smtp.gmail.com',
port: 465,
secure: true,
auth: {
user: process.env.MAIL_USERNAME, //
pass: process.env.MAIL_PASSWORD // Google app password
},
tls: {
rejectUnauthorized: process.env.APP_ENV == 'local' ? false : true // which is true but also tried false
}
});
还有我的sendmail功能
let info = await transporter.sendMail({
from: `"${data.firstname} ${data.lastname}" <${data.email}>`,
to: process.env.MAIL_TO_DESTINATION, // list of receivers
subject: data.subject,
html: `<p><strong>Fullname:</strong> ${data.firstname} ${data.lastname}</p>
<p><strong>Email:</strong> ${data.email}</p>
<p><strong>Subject:</strong> ${data.subject}</p>
<p><strong>Message:</strong> ${data.message}</p>`
});
我不知道出了什么问题,因为它在本地工作。有人知道为什么吗
谢谢。我找到了解决方法。问题不在于我的剧本,而在于主持人。我必须手动打开465 tcp出口端口
(node:3743) UnhandledPromiseRejectionWarning: Error: Connection timeout
at SMTPConnection._formatError (/home/clients/974a427295deac388e59a945b2c70917/portfolio-mytdragon/node_modules/nodemailer/lib/smtp-connection/index.js:784:19)
at SMTPConnection._onError (/home/clients/974a427295deac388e59a945b2c70917/portfolio-mytdragon/node_modules/nodemailer/lib/smtp-connection/index.js:770:20)
at Timeout._connectionTimeout.setTimeout (/home/clients/974a427295deac388e59a945b2c70917/portfolio-mytdragon/node_modules/nodemailer/lib/smtp-connection/index.js:235:22)
at ontimeout (timers.js:436:11)
at tryOnTimeout (timers.js:300:5)
at listOnTimeout (timers.js:263:5)
at Timer.processTimers (timers.js:223:10)