如何在Express/node.js应用程序中使用Mailgun/MailChimp/etc发送电子邮件

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (162)

我想使用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应用程序中?

提问于
用户回答回答于

为了防止你的电子邮件移动到垃圾邮件文件夹,请使用nodemailer时,确保发送电子邮件是相同的用户邮件帐户。

我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);
});

扫码关注云+社区

领取腾讯云代金券