【发布时间】:2016-08-16 06:22:32
【问题描述】:
我正在使用 nodemailer 尝试通过命令行向自己发送电子邮件:
var nodemailer = require('nodemailer');
// config
var smtpConfig = {
host: 'smtp.myhost.com',
port: 465,
secure: false, // dont use SSL
tls: {rejectUnauthorized: false}
};
// create reusable transporter object using the default SMTP transport
var transporter = nodemailer.createTransport(smtpConfig);
// setup e-mail data with unicode symbols
var mailOptions = {
from: '"Fred Foo ????" <foo@blurdybloop.com>', // sender address
to: 'person@gmail.com', // list of receivers
subject: 'Hello ✔', // Subject line
text: 'Hello world ????', // plaintext body
html: '<b>Hello world ????</b>' // html body
};
// send mail with defined transport object
transporter.sendMail(mailOptions, function(error, info){
if(error){
return console.log(error);
}
console.log('Message sent: ' + info.response);
});
当我尝试运行此代码时,出现以下错误:
Error: Invalid login: 535-5.7.8 Username and Password not accepted. Learn more at\n535 5.7.8 https://support.google.com/mail/answer/14257
该链接会将您带到一个页面,该页面告诉您在 Google 控制台中注册您的应用程序。但这不是我想要做的。
有很多电子邮件客户端可以将电子邮件发送到 gmail 收件箱,而无需登录 该电子邮件帐户。这就是我想要做的。我正在尝试将我的终端变成一个可以向任何收件箱发送邮件的 smtp 客户端。这不应该需要广泛的身份验证。我该怎么做?
注意
只是为了提供一些观点,我正在尝试使用 unix sendmail 命令在节点中复制可能的内容:
sendmail person@gmail.com < testemail.txt
如何使用 nodemailer 做到这一点?
【问题讨论】:
-
发送到 gmail 与使用 gmail 发送电子邮件完全不同。
-
我知道...我正在尝试发送到 gmail。
-
@Mark B。我想你在一个简短的想法中总结了这个问题。我认为我“看到”的时间还不够早。
-
@MarcB 虽然这可能是真的,但对于不理解的人来说,这听起来像是一个谜。有什么区别?
-
您在问为什么 [在此处插入 SMTP 服务器] 不是 Open Mail Relay,以及为什么开放邮件中继不再常见。该链接应该让您感到困惑。
标签: javascript node.js email smtp nodemailer