从服务器从 nodemailer 发送电子邮件时出错
Posted
技术标签:
【中文标题】从服务器从 nodemailer 发送电子邮件时出错【英文标题】:Getting error while sending emails from nodemailer from server 【发布时间】:2019-11-26 22:38:09 【问题描述】:我正在尝试使用 nodemailer 从我的 node.js 应用程序发送电子邮件。 我不知道为什么,但是当我在我的 cpanel 中上传文件并检查后尝试时,它发送错误为:
“错误:连接 ECONNREFUSED 74.125.24.108:587”
虽然它在我的本地主机上运行良好。
我什至允许在我的 Google 帐户中使用不太安全的应用程序。
var nodemailer = require('nodemailer');
var transporter = nodemailer.createTransport(
host: 'smtp.gmail.com',
port: 587,
secure: false,
auth:
user: 'myemail@gmail.com',
pass: 'XXXXXXXXX'
,
tls:
rejectUnauthorized: false
);
var mailOptions =
from: 'myemail@gmail.com',
to: "myclient@gmail.com",
subject: 'Code',
text: "Hello",
;
transporter.sendMail(mailOptions, function(error, info)
if (error)
console.log(error);
else
console.log('Email sent');
);
得到错误:
“错误:连接 ECONNREFUSED 74.125.24.108:587”
【问题讨论】:
确保您的服务器允许发送 smtp ,检查您是否可以发送电子邮件? smtper.net 你能告诉我如何检查吗?我不知道... 通过我给出的链接测试它:smtper.net 我得到了这个:“SMTP 服务器需要安全连接或客户端未通过身份验证。服务器响应为:5.7.0 必须先发出 STARTTLS 命令。c26sm10992497qtp.40 - gsmtp”跨度> 它在本地主机上工作正常,但在实际服务器上却不行,这是什么问题? 【参考方案1】:在服务器上使用这种方式,允许您的 gmail 帐户降低安全性 https://support.google.com/cloudidentity/answer/6260879?hl=en
var transporter = nodemailer.createTransport(
service: "gmail",
secure: true,
auth:
user: 'myemail@gmail.com',
pass: 'XXXXXXXXX'
);
【讨论】:
我已经启用了“lesssecureapps”选项,但仍然出现错误。 你用上面的代码替换了你的代码,你得到了什么错误?以上是关于从服务器从 nodemailer 发送电子邮件时出错的主要内容,如果未能解决你的问题,请参考以下文章
使用 firebase 功能和 nodemailer 从联系表单发送电子邮件
使用 nodemailer 通过 Node.js 发送电子邮件不起作用
使用 Async/Await 的 Nodemailer 电子邮件确认