[英]How to send mail using Nodemailer in Node.js
我尝试在 Node.js 中使用 Nodemailer 发送电子邮件,但它不起作用。 我不知道为什么它不起作用。 如果有人知道,请帮助找到解决方案。
收到此错误:
Error: Invalid login: 535-5.7.8 Username and Password not accepted. Learn more at
535 5.7.8 https://support.google.com/mail/?p=BadCredentials 9sm14519585pfh.160 - gsmtp
数据.controller.js:
const nodemailer = require('nodemailer');
// create reusable transporter object using the default SMTP transport
let transporter = nodemailer.createTransport({
service: 'gmail',
auth: {
user: 'mygmail@gmail.com',
pass: 'mypass'
}
});
let mailOptions = {
from: "mygmail@example.com", // sender address
subject: "Hello ✔", // Subject line
text: "Hello This is an auto generated Email for testing from node please ignore it", // plaintext body
to: "togmail@gmail.com"
}
// send mail with defined transport object
transporter.sendMail(mailOptions, (error, info) {
if (error) {
return console.log(error);
}
console.log('Message %s sent: %s', info.messageId, info.response);
});
const nodemailer = require('nodemailer');
const email = 'myemail@gmail.com';
const password = '**********';
您应该将 smtp 主机设置为smtp.gmail.Z4D236D9A2D102C5FE6AD1C50DA4B 。
您可以将 smtp 端口号设置为 587 或 465。
587 是 tls,465 是 ssl。
var transporter = nodemailer.createTransport({
host: 'smtp.gmail.com',
port: 587,
secure: false,
auth: {
user: `${email}`,
pass: `${password}`
}
});
transporter.sendMail(mailOptions, function (error, info) {
if (error) {
console.log(error);
} else {
console.log('Email sent: ' + info.response);
var mail = 'message';
const from_email = 'sender@email.com';
const to_email = 'receiver@email.com';
var mailOptions = {
from: email,
to: to_email,
subject: 'Your subject',
text: mail
};
}
});
我使用了上面的代码,以便我发送邮件。
请试试这个。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.