将模板作为邮件发送

时间:2015-09-08 09:26:14

标签: node.js nodemailer

我在这个问题上非常挣扎。我想用html作为模板将邮件发送给用户。但是代码完全不起作用,我将htmlpage url存储在一个变量中并附加到邮件但是它没有显示html的内容。可以任何人帮助我?“

                        var html = '/index1.html';
                            transporter.sendMail({
                            from : xxxx@gmail.com,
                            to : xxxx@gmail.com,
                            subject : 'Invitation',
                            html : html
                        });
                    `

1 个答案:

答案 0 :(得分:0)

您的html变量只是一个值/index1.html而不是实际页面的字符串。 :)

如果你正在使用jQuery,你可以通过提取index1.html的内容来实现这一点

$.ajax({
    type: 'GET',
    url: '/index1.html',
    success: function (htmlContent) { // htmlContent will have your html markup
        transporter.sendMail({
            from : xxxx@gmail.com,
            to : xxxx@gmail.com,
            subject : 'Invitation',
            html : htmlContent // set your html to the markup read from ./index1.html
        });
    }
});

编辑:

在OP的最新评论后更新

如果您在后端执行此操作,则可以使用fs节点模块来读取文件

var fs = require("fs");
var filename = "./index1.html";

var data = fs.readFileSync(filename); //data will have contents of your index1.html

transporter.sendMail({
    from : xxxx@gmail.com,
    to : xxxx@gmail.com,
    subject : 'Invitation',
    html : data
});