node.js - NodeMailer 电子邮件样式

标签 node.js nodemailer

下面我引用了 NodeJS 中 NodeMailer 包的一个示例。它旨在自动发送电子邮件。正如您所看到的,在 mailOptions 对象中,您可以将 HTML 写入邮件正文。这是我计划使用的一个很棒的功能。

但是,我确实有一个关于如何设置此 HTML 样式的问题。我可以在此 HTML 上使用任何样式选项吗?我将如何处理这个问题。 我认为最合乎逻辑的方式是内联样式。

之前有人尝试过并取得成功吗?

var nodemailer = require('nodemailer');

// create reusable transporter object using the default SMTP transport
var transporter = 
nodemailer.createTransport('smtps://user%40gmail.com:pass@smtp.gmail.com');

// setup e-mail data with unicode symbols
var mailOptions = {
    from: '"Fred Foo ?" <foo@blurdybloop.com>', // sender address
    to: 'bar@blurdybloop.com, baz@blurdybloop.com', // list of receivers
    subject: 'Hello ✔', // Subject line
    text: 'Hello world ?', // plaintext body
    html: '<b>Hello world ?</b>' // html body
};

// send mail with defined transport object
transporter.sendMail(mailOptions, function(error, info){
    if(error){
        return console.log(error);
    }
    console.log('Message sent: ' + info.response);
});

最佳答案

我将为您提供一些提示,希望您也能够在您的项目中实现它。

首先,您需要一个 EJS(还有其他模板引擎)。您在项目中需要这样的:

const ejs = require('ejs');

我在一个类中实现了,它动态加载所需的模板,然后向其提供数据。

这就是我的渲染方法(输出 HTML )的样子:

renderTemplate(template, parameters, options) {
        return ejs.render(template, parameters, options);
    }

您可以检查EJS更多细节。 这将是非常基本的实现,应该会让您朝着好的方向前进。稍后,您可以包含与此相关的页眉或页脚。

玩得开心

关于node.js - NodeMailer 电子邮件样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53819678/

相关文章:

node.js - 如何使用 mongoose 和 Node.js 只检索 Azure Cosmos 中的子对象?

real-time - Nodejs 网络 - 实时通信

javascript - 将 Nodemailer 与 Google OAuth 结合使用

javascript - Node - 用于发送电子邮件的选项,sendgrid 和 nodemailer 其中之一或组合

javascript - Nodemailer 自定义 SMTP 不适用于 Firebase 功能

javascript - Nodemailer 和 Amazon SES

javascript - 即使将元素插入其中后,数组元素也是未定义的

javascript - 使用AWS SDK for Node.js,如何等待EC2实例添加到ECS集群?

node.js - TypeError : Buffer. alloc 不是函数

node.js - Nodemailer,连接超时