Node.js:nodemailer + ejs 发送邮件

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}),
});

 

Intoep小程序

微信扫一扫,打开小程序浏览更便捷

转载作品,原作者:skypesky,文章来源:https://www.toutiao.com/i7010579959198548518/

发表回复

登录后才能评论