我一直在使用此模块: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!"); }); } });};
我可能会将邮件程序部分移至其自己的模块,但是我在此处包括了所有内容,因此您可以一起看到它们。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)