我正在尝试使用一个简单的nodejs应用程序发送电子邮件。但我遇到了一个错误,错误是:
错误:无效登录:534-5.7.14请通过您的网络浏览器和534-5.7.14登录,然后重试。534-5.7.14在534 5.7.14了解更多信息_formatError22-v6sm29249729pfl.126-SMTPConnection的gsmtp。SMTPConnection的https://support.google.com/mail/answer/78754(C:\User\USER\Desktop\codeworkr\node_modules\nodemailer\lib\smtp-connect\index.js:606: 19)。SMTPConnection的_actionAUTHComplete(C:\User\USER\Desktop\codeworkr\node_modules\nodemailer\lib\smtp-connect\index.js:1335: 34)。SMTPConnection的_responseActions.push.str(C:\User\USER\Desktop\codeworkr\node_modules\nodemailer\lib\smtp-connect\index.js:366: 26)。SMTPConnection的_processResponse(C:\User\USER\Desktop\codeworkr\node_modules\nodemailer\lib\smtp-connect\index.js:762: 20)。SMTPConnection的_onData(C:\User\USER\Desktop\codeworkr\node_modules\no)在TLSSocket的可读AddChunk(_stream_readable.js:250: 11)。Readable.push(_stream_readable.js:208: 10)在TLSWrap.onread(net.js:597: 20)
我的代码是:
var nodemailer = require('nodemailer');
var transporter = nodemailer.createTransport({
service: 'gmail',
secure: false,
// port: 25,
auth: {
user: 'surendrap7208@gmail.com',
pass: ''
}
/* tls: {
rejectUnauthorized: false
}*/
});
var mailOptions = {
from: 'surendrap7208@gmail.com',
to: 'surendrap720@gmail.com',
subject: 'Sending Email using Node.js',
text: 'Hello'
};
transporter.sendMail(mailOptions, function(error, info){
if (error) {
console.log(error);
} else {
console.log('Email sent: ' + info.response);=
}
});
出于安全考虑,我已经删除了密码。
我有另一个同样的解决方案。如果您想出于安全目的删除密码,那么也可以使用我的解决方案。
首先,您需要一些发件人帐户凭据,您可以从这里创建:https://console.developers.google.com/projectselector/apis/credentials?supportedpurview=project
Node.js,Nodemailer,SMTP问题
这是我的测试代码[file:server.js]
//start server
var http = require('http');
// Create a Transport instance using nodemailer
var nodemailer = require('nodemailer');
var smtpTransport = nodemailer.createTransport({
host: "smtp.gmail.com",
auth: {
type: "OAuth2",
user: "sender_email_id",
clientId: "YOUR_CLIENT_ID",
clientSecret: "YOUR_CLIENT_SECRET",
refreshToken: "YOUR_REFRESH_TOKEN"
}
});
var htmlBody = '<h2>Hello Body</h2>';
// Setup mail configuration
var mailOptions = {
from: 'serder_email_id', // sender address
to: 'recipent_email_id', // list of receivers
subject: 'TEST SUBJECT', // Subject line
text: 'Hello Body', // plaintext body
html: htmlBody // html body
};
var app = http.createServer(function (req, res) {
// send mail
smtpTransport.sendMail(mailOptions, function(error, info) {
res.writeHead(200, {'Content-Type': 'text/html'});
if (error) {
console.log('error', error)
res.write('Error');
res.end();
}
console.log('Message %s sent: %s', info.messageId, info.response);
smtpTransport.close();
res.write('Email sent');
res.end();
});
}).listen(3000);
仔细检查您的凭据,并且您需要允许gmail中的应用程序不太安全。
1) 转到https://myaccount.google.com/lesssecureapps
2)启用不太安全的应用程序选项
我试图通过节点邮件发送电子邮件,但无法发送电子邮件,并显示以下错误。 我使用的是nodemailer文档中所示的确切代码。 这是我正在使用的服务器端代码。 这在几天前运行良好,在其他邮件客户端和gmail上也运行良好,因此我认为这个问题可能与gmail帐户的任何安全设置有关。
这是我用的密码。 早些时候,我把邮件发送到一个Gmail地址,所以“service”是“Gmail”,它工作得很好。 对于“office@company.ro”这样的地址,我应该传递什么作为“服务”?
下面是我为nodemailer做的函数- 在这里,我已经在.env文件中给出了电子邮件id和密码,我正在下面使用这个功能。客户将从我的id获得一封邮件到他的电子邮件id中。 密码是正确的。但我遇到了这个错误- 错误:无效的登录名:534-5.7.9需要应用程序特定的密码。了解更多信息,请访问534 5.7.9 https://support.google.com/mail/?p=invalidse
我已经创建了一个帐户与sendInBlue,并导入了nodemailer和nodemailer-sendinblue-transport到我的项目中,我正在尝试发送一个简单的确认电子邮件。下面的代码是我如何尝试安装的: 下面的代码是我的注册方法中负责发送确认邮件的一节: 当我运行我的程序时,注册过程成功,但抛出以下错误,而不是发送电子邮件: 错误:在数据库中找不到键(失败,401) 我读到他们的v
我已经在本地()设置了一个基本的NodeJS服务器(使用nodemailer模块),这样我就可以测试该服务器是否真的可以发送电子邮件。 如果我正确理解SMTP选项(如果我错了,请纠正我),我可以尝试从我的服务器直接发送电子邮件到某人的电子邮件帐户,或者我可以发送电子邮件,仍然使用node.js,但通过一个实际的电子邮件帐户(在本例中是我的个人Gmail帐户),即使用SMTP。此选项要求我通过Nod
问题内容: 我已经在本地()设置了一个基本的NodeJS服务器(使用nodemailer模块),以便可以测试该服务器是否可以实际发送电子邮件。 如果我正确理解SMTP选项(如果我输入错了,请更正我),我可以尝试将服务器中的电子邮件 直接 发送到某人的电子邮件帐户, 或者 可以仍然使用Node.js来发送电子邮件,但是 通过实际的电子邮件帐户 (在本例中为我的个人Gmail帐户),即使用SMTP。此