小编Blu*_*ird的帖子

使用nodemailer发送ejs模板

我正在尝试使用express.js构建一个Web应用程序.在我的应用程序中,我使用nodemailer发送邮件.如果我只是用它来发送基本邮件就可以了; 但是,当我尝试使用nodemailer发送呈现的ejs文件时,收件人只会收到一封空邮件.所以在这里我的代码的细节:

var transporter = nodemailer.createTransport({
                host: 'smtp.zoho.com',
                port: 465,
                secure: true, // use SSL
                auth: {
                    user: 'testmail@zoho.com',
                    pass: '123456'
                }
            });
fs.readFile('/test.ejs', 'utf8', function (err, data) {
                if (err) {
                    return console.log(err);
                }
                var mainOptions = {
                    from: '"Tester" testmail@zoho.com',
                    to: email,
                    subject: 'Hello, world'
                    html: ejs.render(data, {name: 'Stranger'});
                };
                console.log(mainOptions.html);
});
transporter.sendMail(mainOptions, function (err, info) {
                            if (err) {
                                console.log(err);
                            } else {
                                console.log('Message sent: ' + info.response);
                            }
                        });
Run Code Online (Sandbox Code Playgroud)

这里的test.ejs(也就是结果console.log(mainOptions.html)很好,因为它正确地打印出渲染的ejs文件的字符串(<%= name%>替换为'Stranger')

<style type="text/css">
  .header {
    background: …
Run Code Online (Sandbox Code Playgroud)

javascript ejs node.js express nodemailer

14
推荐指数
2
解决办法
5918
查看次数

标签 统计

ejs ×1

express ×1

javascript ×1

node.js ×1

nodemailer ×1