
本文介绍了如何使用 Nodemailer 发送包含 HTML 模板的邮件。通过使用模板字符串和变量插值,您可以动态地生成邮件内容,并将其发送给指定的收件人。文章提供详细的代码示例,并解释了在 Nodemailer 中使用 HTML 模板的关键步骤和注意事项,帮助开发者轻松实现邮件发送功能。
Nodemailer 是一个流行的 Node.js 模块,用于发送电子邮件。它支持多种传输方式,包括 SMTP、Sendmail 和 Amazon SES。 除了发送纯文本邮件,Nodemailer 还允许你发送包含 HTML 内容的邮件,这使得你可以创建更丰富、更具吸引力的邮件。
要使用 Nodemailer 发送 HTML 邮件,你需要设置 html 选项,其值为包含 HTML 代码的字符串。例如:
const nodemailer = require('nodemailer');
// 创建一个 transporter 对象
let transporter = nodemailer.createTransport({
host: 'your_smtp_host',
port: 587,
secure: false, // true for 465, false for other ports
auth: {
user: 'your_email@example.com',
pass: 'your_email_password'
}
});
// 邮件选项
let mailOptions = {
from: 'your_email@example.com',
to: 'recipient@example.com',
subject: 'Hello from Nodemailer',
html: '<h1>Welcome</h1><p>That was easy!</p>'
};
// 发送邮件
transporter.sendMail(mailOptions, (error, info) => {
if (error) {
return console.log(error);
}
console.log('Message sent: %s', info.messageId);
});这段代码会发送一封包含标题为 "Welcome" 的 H1 标签和一段文字的 HTML 邮件。
立即学习“前端免费学习笔记(深入)”;
直接在 JavaScript 代码中拼接 HTML 字符串可能比较繁琐,特别是当 HTML 结构比较复杂时。这时,可以使用模板字符串来更方便地构建 HTML 内容。模板字符串允许你在字符串中嵌入变量,使代码更具可读性和可维护性。
const nodemailer = require('nodemailer');
// 创建一个 transporter 对象
let transporter = nodemailer.createTransport({
host: 'your_smtp_host',
port: 587,
secure: false, // true for 465, false for other ports
auth: {
user: 'your_email@example.com',
pass: 'your_email_password'
}
});
// 假设我们有一些动态数据
const name = 'John Doe';
const email = 'john.doe@example.com';
// 邮件选项
let mailOptions = {
from: 'your_email@example.com',
to: 'recipient@example.com',
subject: 'Hello from Nodemailer',
html: `
<h1>Hello, ${name}!</h1>
<p>Your email address is: ${email}</p>
`
};
// 发送邮件
transporter.sendMail(mailOptions, (error, info) => {
if (error) {
return console.log(error);
}
console.log('Message sent: %s', info.messageId);
});在这个例子中,我们使用了模板字符串(用反引号 `包裹)来构建 HTML 内容。${name}和${email}` 会被实际的变量值替换。
使用 Nodemailer 发送 HTML 邮件非常简单。通过结合模板字符串,可以方便地构建动态的邮件内容。 在使用过程中,需要注意安全性、HTML 结构和兼容性,并进行充分的测试。 通过遵循这些建议,你可以轻松地使用 Nodemailer 发送美观、专业的 HTML 邮件。
以上就是使用 Nodemailer 发送 HTML 模板邮件的详细内容,更多请关注php中文网其它相关文章!
HTML怎么学习?HTML怎么入门?HTML在哪学?HTML怎么学才快?不用担心,这里为大家提供了HTML速学教程(入门课程),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号