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/