【发布时间】:2019-06-10 16:44:27
【问题描述】:
我正在尝试使用 nodejs 和 nodemailer 发送邮件,但它对我不起作用。我有这个代码:
const config = require('../../config');
const http = require('http');
const nodemailer = require('nodemailer');
module.exports = {
sendMail: function (params) {
return new Promise((resolve, reject) => {
var transporter = nodemailer.createTransport({
//service: 'gmail', //I tried with this too
host: 'smtp.gmail.com',
port: 465,
secure: true,
auth: {
user: params.fromMail,
pass: params.fromPass
}
});
var mailOptions = {
from: params.fromMail,
to: params.toMailList,
subject: params.subject,
html: params.mailHtmlContent,
};
transporter.sendMail(mailOptions, function(err, info){
if (err) {
reject(err);
} else {
resolve(info.response);
}
});
});
}
};
我收到此错误:
{ 错误:无效登录:535-5.7.8 不接受用户名和密码。 在 535 5.7.8 了解更多信息 https://support.google.com/mail/?p=BadCredentialsp6sm97493129wrx.50 - gsmtp 在 SMTPConnection._formatError (C:\Users\Carlos\Desktop\Proyectos\nodeServer\node_modules\nodemailer\lib\smtp-connection\index.js:774:19) 在 SMTPConnection._actionAUTHComplete (C:\Users\Carlos\Desktop\Proyectos\nodeServer\node_modules\nodemailer\lib\smtp-connection\index.js:1509:34) 在 SMTPConnection._responseActions.push.str (C:\Users\Carlos\Desktop\Proyectos\nodeServer\node_modules\nodemailer\lib\smtp-connection\index.js:547:26) 在 SMTPConnection._processResponse (C:\Users\Carlos\Desktop\Proyectos\nodeServer\node_modules\nodemailer\lib\smtp-connection\index.js:933:20) 在 SMTPConnection._onData (C:\Users\Carlos\Desktop\Proyectos\nodeServer\node_modules\nodemailer\lib\smtp-connection\index.js:739:14) 在 TLSSocket._socket.on.chunk (C:\Users\Carlos\Desktop\Proyectos\nodeServer\node_modules\nodemailer\lib\smtp-connection\index.js:691:47) 在 TLSSocket.emit (events.js:182:13) 在 addChunk (_stream_readable.js:283:12) 在 readableAddChunk (_stream_readable.js:264:11) 在 TLSSocket.Readable.push (_stream_readable.js:219:10) 代码:'EAUTH',响应:'535-5.7.8 用户名和密码不被接受。 了解详情\n535 5.7.8 https://support.google.com/mail/?p=BadCredentialsp6sm97493129wrx.50 - gsmtp',响应代码:535,命令:'AUTH PLAIN' }
我已更改我的 gmail 帐户中有关“不太安全的应用程序”的相应参数。 我也尝试使用另一个非 gmail 帐户。 我试过这个:
service: 'gmail',
这个用于连接:
host: 'smtp.gmail.com',
port: 465,
secure: true,
我在 stackoverflow 中阅读了所有“类似问题”,但我不知道我是否需要其他任何东西,或者我是否做错了什么。 (当然我已经修改了两个帐户的用户名和密码,它们都可以)。
我做错了什么?
【问题讨论】:
-
你试过
secure: false吗?如果还是不行,试试secure: true但port: 587。 -
嗨,我有一个错误“错误:意外的套接字关闭”和“安全:假”和错误“{ [错误:16212:错误:1408F10B:SSL 例程:ssl3_get_record:错误的版本号: openssl\ssl\record\ssl3_record.c:252: ] 代码:'ECONNECTION',命令:'CONN' }",端口 = 587,安全 = true
-
网络上的其他资源都提到要在此链接上执行该步骤:accounts.google.com/b/0/displayunlockcaptcha 恐怕在那之后我无法提供更多帮助。
-
是的,我忘了提到我也尝试过解锁,但还是谢谢你
标签: node.js nodemailer