我想使用mailchimp或mailgun或任何电子邮件交付服务器向客户发送自动电子邮件,如订单摘要、登录电子邮件、确认电子邮件、更改密码电子邮件等,因为当我使用nodemailer时,客户正在接收其垃圾邮件收件箱中的电子邮件,有时根本收不到。
下面是我使用的代码:
automated_emails.js文件:
const nodemailer = require('nodemailer');
const ejs = require('ejs');
const user = 'xxx'
const pass = 'xxx';
const transporter = nodemailer.createTransport({
service: 'gmail',
auth: { user, pass }
});
const emailPasswordChange = (email, uuid) => {
ejs.renderFile("./mail/forgot-password.ejs", { uuid }, (err, data) => {
if (err) return console.log(err)
let mailOptions = {
from: 'xxx',
to: email,
subject: "Forgot My Password",
html: data
};
transporter.sendMail(mailOptions, (error, info) => {
if (error) return console.log(error);
});
})
}
module.exports.emailPasswordChange = emailPasswordChange;
EJS文件是一个包含模板的文件,我将电子邮件、姓名等用户信息传递给它。
它们是我在主index.js文件中调用的一堆函数。
您建议我如何实现此功能?有没有办法把mailchimp/mailgun/etc的邮件发送方法放到我的nodemailer应用中?
发布于 2018-08-05 05:29:49
为了防止移动您的电子邮件到垃圾邮件文件夹,请确保发送电子邮件(发件人)与nodemailer使用的userEmail帐户相同。
我正在使用gmail账号通过'nodemailer‘发送电子邮件,并且总是成功,下面是我使用的代码:
const nodemailer = require('nodemailer');
var userEmail = 'yourUserName@gmail.com';
var userPassword = 'yourPassword';
var transporter = nodemailer.createTransport(`smtps://${userEmail}:${userPassword}@smtp.gmail.com`);
// setup e-mail data with unicode symbols
var mailOptions = {
from: userEmail, // sender address
to: 'abc1@hotmail.com, abc2@yahoo.com', // list of receivers
subject: 'Demo-1', // Subject line
text: 'Hello world from Node.js', // plaintext body
html: '<b>Hello world from Node.js</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);
});
https://stackoverflow.com/questions/51689262
复制相似问题