nodejs发送邮件

1、nodejs使用nodemailer插件发送邮件,所以需要安装改插件npm install nodemailer --save

2、编写mail.js来完成邮件发送功能

var nodemailer = require("nodemailer");
/*
 * 这里的pass有可能不是163邮箱登录地址,可能是授权码。也就是在开启pop3等 
 * 服务的时候填写的授权码。我在开发过程中就是用的授权码。
 */
var transporter = nodemailer.createTransport({
    host: 'smtp.163.com',
    secure: false,
    port: 25,
    auth: {
        user: 'test@163.com',
        pass: 'test'
    }
});

/*
 * mailData就是jade与数据结合之后的html内容
 */
function sendMail(mailData, callback){
    transporter.sendMail(mailData, function(error, response){
        if (error) {
            console.log(error);
            if(callback) {
                callback(err);
            }
        } else {
            console.log("Message sent: " + response.message);
            if (callback) {
                callback();
            }
        }
        transporter.close();
    });
}
exports.sendMail = sendMail;

3、在nodejs的server.js中添加一个公共方法,来完成数据组装和发送调用

/*
 * template就是jade模板, data就是模板需要的数据, 调用express的render方法来生成html
 */
function sendEmail(data) {
    app.render(data.template, data, function (error, html) {
        var mailData = {
            from: '"Scrumblr" <test@163.com>',
            to: data.to || toDefault,
            subject: data.subject || 'Scrumblr notification!',
            encoding: 'utf-8',
            textEncoding: 'utf-8',
            html: html
        };
        mail.sendMail(mailData);
    });
}

4、调用这个公共功能

sendEmail({
	template: "./email_templates/no_worklog_mail.jade",
	subject: msgTem.NO_WORK_LOG.title,
	title: msgTem.NO_WORK_LOG.title,
	description: msgTem.NO_WORK_LOG.description,
	to: toUserEmails.join(',')
});

第一次写博客,主要是为自己做一下记录,方便日后查阅!

转载于:https://my.oschina.net/u/1176977/blog/672598

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值