nodemailer: 在 node.js 环境下轻松实现邮件发送功能.
ejs: 高效的嵌入式 javascript 模板引擎,让你利用 javascript 生成HTML页面
1. 安装 nodemailer + ejs
npm install --save nodemailer ejs npm install --save-dev @types/nodemailer
2. 发送文本信息
const transporter: Mail = createTransport({
service: "qq", // 使用的是qq邮箱
port: 465, // smtp端口
auth: {
user: `your_qq_email@qq.com`, // 用户名
pass: `clcqtcdwmelbecde`, // 密码(此处使用的是: qq授权码)
},
});
await transporter.sendMail({
from: `your_qq_email@qq.com`, // 发件人
to: `xxx@163.com, xxx2@163.com`, // 收件人,多个邮箱使用 , 间隔
cc: `xxx@163.com`, // 抄送
bcc: `xxx@163.com`, // 密送
subject: `node.js yyds!`, // 邮件主旨
text: `hello world!`, // 发送文本信息
});
3. 发送 html 信息
const transporter: Mail = createTransport({
service: "qq", // 使用的是qq邮箱
port: 465, // smtp端口
auth: {
user: `your_qq_email@qq.com`, // 用户名
pass: `clcqtcdwmelbecde`, // 密码(此处使用的是: qq授权码)
},
});
await transporter.sendMail({
from: `your_qq_email@qq.com`, // 发件人
to: `xxx@163.com, xxx2@163.com`, // 收件人,多个邮箱使用 , 间隔
cc: `xxx@163.com`, // 抄送
bcc: `xxx@163.com`, // 密送
subject: `node.js yyds!`, // 邮件主旨
html: `<h1 bgColor="red">hello world!</h1>`, // 发送html
});
4. 发送附件
const transporter: Mail = createTransport({
service: "qq", // 使用的是qq邮箱
port: 465, // smtp端口
auth: {
user: `your_qq_email@qq.com`, // 用户名
pass: `clcqtcdwmelbecde`, // 密码(此处使用的是: qq授权码)
},
});
await transporter.sendMail({
from: `your_qq_email@qq.com`, // 发件人
to: `xxx@163.com, xxx2@163.com`, // 收件人,多个邮箱使用 , 间隔
cc: `xxx@163.com`, // 抄送
bcc: `xxx@163.com`, // 密送
subject: `node.js yyds!`, // 邮件主旨
html: `<h1 bgColor="red">hello world!</h1>`, // 发送html
// 发送附件
attachments: [
{
filename: `abc.jpeg`, // 附件名称
path: `${process.cwd()}/src/assets/girl.jpeg`, // 附件地址
},
],
});
5. 使用ejs
const transporter: Mail = createTransport({
service: 'qq', // 使用的是qq邮箱
port: 465, // smtp端口
auth: {
user: `your_qq_email@qq.com`, // 用户名
pass: `clcqtcdwmelbecde`, // 密码(此处使用的是: qq授权码)
},
});
await transporter.sendMail({
from: `your_qq_email@qq.com`, // 发件人
to: `xxx@163.com, xxx2@163.com`, // 收件人
cc: `xxx@163.com`, // 抄送
bcc: `xxx@163.com`, // 密送
subject: `node.js yyds!`, // 邮件主旨
html: await ejs.render(`<h1 bgColor="red"><%= title %></h1>`, {title: 'hello world!'}, {async: true}),
});
转载作品,原作者:skypesky,文章来源:https://www.toutiao.com/i7010579959198548518/
微信赞赏
支付宝赞赏 