首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在express/node.js应用中使用mailgun/mailchimp/etc发送电子邮件

如何在express/node.js应用中使用mailgun/mailchimp/etc发送电子邮件
EN

Stack Overflow用户
提问于 2018-08-05 04:17:12
回答 1查看 3.5K关注 0票数 2

我想使用mailchimp或mailgun或任何电子邮件交付服务器向客户发送自动电子邮件,如订单摘要、登录电子邮件、确认电子邮件、更改密码电子邮件等,因为当我使用nodemailer时,客户正在接收其垃圾邮件收件箱中的电子邮件,有时根本收不到。

下面是我使用的代码:

automated_emails.js文件:

代码语言:javascript
复制
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应用中?

EN

回答 1

Stack Overflow用户

发布于 2018-08-05 05:29:49

为了防止移动您的电子邮件到垃圾邮件文件夹,请确保发送电子邮件(发件人)与nodemailer使用的userEmail帐户相同。

我正在使用gmail账号通过'nodemailer‘发送电子邮件,并且总是成功,下面是我使用的代码:

代码语言:javascript
复制
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);
});
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51689262

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档