Nodemailer是一个流行的Node.js模块,用于发送电子邮件。它支持使用SMTP、Sendmail、SES等协议发送邮件,并提供了许多功能,如附件、HTML内容、内嵌图像等。
ejs是一个JavaScript模板引擎,可以帮助我们动态生成HTML。它基于JavaScript的标签语法,允许我们插入变量、执行代码、循环和条件语句等,方便生成动态内容。
结合Nodemailer和ejs,我们可以从另一个文件夹呈现模板并发送邮件。以下是具体步骤:
npm install nodemailer ejs
const nodemailer = require('nodemailer');
const ejs = require('ejs');
const fs = require('fs');
const template = fs.readFileSync('templates/template.ejs', 'utf-8');
const renderedTemplate = ejs.render(template, { name: 'John Doe' });
const transporter = nodemailer.createTransport({
host: 'smtp.example.com',
port: 587,
secure: false,
auth: {
user: 'your-email@example.com',
pass: 'your-password'
}
});
请注意,上述示例中的SMTP配置仅为示范,实际使用时应替换为您自己的SMTP服务器。
const mailOptions = {
from: 'your-email@example.com',
to: 'recipient@example.com',
subject: 'Hello from Nodemailer & ejs',
html: renderedTemplate
};
transporter.sendMail(mailOptions, (error, info) => {
if (error) {
console.log('Error occurred:', error);
} else {
console.log('Email sent:', info.response);
}
});
以上就是使用Nodemailer和ejs从另一个文件夹呈现模板并发送邮件的完整流程。
在腾讯云中,您可以使用腾讯云的云服务器(CVM)来搭建Node.js环境,使用云数据库MySQL(CMQ)存储模板和数据,使用弹性公网IP(EIP)提供稳定的网络通信。推荐的腾讯云相关产品和产品介绍链接如下:
通过上述配置和使用腾讯云相关产品,您可以方便地实现从另一个文件夹呈现模板并使用Nodemailer发送邮件的功能。
领取专属 10元无门槛券
手把手带您无忧上云