节点邮件程序无法使用电子邮件模板

时间:2019-02-23 09:57:57

标签: node.js express nodemailer email-templates

我正在尝试使用带有电子邮件模板的pug引擎使用我的自定义模板发送电子邮件。这是我的代码:

var mailer = require("nodemailer");
const logger = require('./logger');
var path = require('path');
var EmailTemplate = require('email-templates');
var templateDir = path.join(__dirname, "../", 'templates', 'resetPassword')
var mailTemplate = new EmailTemplate(templateDir)

// IF i do print templateDir here, it gives me the absolute path 


var smtpTransport = mailer.createTransport({
    service: "Gmail",
    auth: {
      user: "myuser@gmail.com",
      pass: "mypass"
    }
});
			
exports.sendPasswordReset = async (to, token) => {
	var locals = {
		resetUrl: 'someurlWithToken' + token.toString()
	};

	mailTemplate.render(locals, function(err, temp){ // It throws error with path argument must of type string
		if(err){
			logger.info("ERROR in Render email template" + err)
		} else {
			smtpTransport.sendMail({
				from: "myuser@gmail.com",
				to: to,
				subject: "Password Reset Link",
				text: temp.text,
				html:  temp.html
			}, function(error, response){
				if(error){
					logger.info('Mail Error' + error);
					return console.error(err)
				} else{
					logger.info("Message sent: " + response.message);
					return response;
				}
      });
		}
	})
}

我不确定,我想念的是什么。电子邮件模板的文档显示了不包含节点邮件传送器的示例。

0 个答案:

没有答案