如何在Node.js中将HTML页面作为电子邮件发送

如何在Node.js中将HTML页面作为电子邮件发送,第1张

如何在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 <" + FROM_ADDRESS + ">",    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!");      });    }  });};

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



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4960368.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-13
下一篇 2022-11-13

发表评论

登录后才能评论

评论列表(0条)

保存