怎么把html页面化到邮件中,如何在Node.js中将HTML页面作为电子邮件发送

小编典典

我一直在使用此模块:https :

//github.com/andris9/Nodemailer

更新了示例(使用express和nodemailer),包括从文件系统获取index.jade模板并将其作为电子邮件发送:

var _jade = require('jade');

var fs = require('fs');

var nodemailer = require("nodemailer");

var FROM_ADDRESS = 'foo@bar.com';

var TO_ADDRESS = 'test@test.com';

// create reusable transport method (opens pool of SMTP connections)

var smtpTransport = nodemailer.createTransport("SMTP",{

service: "Gmail",

auth: {

user: "bar@foo.com",

pass: "PASSWORD"

}

});

var sendMail = function(toAddress, subject, content, next){

var mailOptions = {

from: "SENDERS NAME ",

to: toAddress,

replyTo: fromAddress,

subject: subject,

html: content

};

smtpTransport.sendMail(mailOptions, next);

};

exports.index = function(req, res){

// res.render('index', { title: 'Express' });

// specify jade template to load

var template = process.cwd() + '/views/index.jade';

// get template from file system

fs.readFile(template, 'utf8', function(err, file){

if(err){

//handle errors

console.log('ERROR!');

return res.send('ERROR!');

}

else {

//compile jade template into function

var compiledTmpl = _jade.compile(file, {filename: template});

// set context to be used in template

var context = {title: 'Express'};

// get html back as a string with the context applied;

var html = compiledTmpl(context);

sendMail(TO_ADDRESS, 'test', html, function(err, response){

if(err){

console.log('ERROR!');

return res.send('ERROR');

}

res.send("Email sent!");

});

}

});

};

我可能会将邮件程序部分移至其自己的模块,但是我在此处包括了所有内容,因此您可以一起看到它们。

2020-07-07

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值