Node.js使用第三方插件nodemailer实现邮件发送示例

这篇文章主要为大家介绍了Node.js使用第三方插件nodemailer实现邮件发送示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

环境搭建

npm init -y npm install nodemailer --save 

新建文件nodemailer.js

// 邮箱验证 const nodemailer = require('nodemailer'); //发送邮件的node插件 function sendEmail (data){ let transporter = nodemailer.createTransport({ host: 'smtp.163.com', port: 465, // SMTP 端口 auth: {   //发送者的账户和授权码 user: 'xxx@163.com', //账户 pass: 'xxx', //smtp授权码,到邮箱设置下获取 } }); let mailOptions = { from: '"Bertil Chan" ', // 发送者昵称和地址 to: data.email, // 接收者的邮箱地址 subject: '激活验证码', // 邮件主题 html: data.content }; //发送邮件 transporter.sendMail(mailOptions, (error, info) => { if (error) { return console.log(error); } console.log('邮件发送成功 ID:', info.messageId); }); } let yzm = 'dslk' let data = { email:'xxx@qq.com', // 接收者的邮箱 // 邮件模板,可自行修改 content:`   
尊敬的用户:您好! 您正在进行XXX账号申请操作,请在验证码输入框中输入:${yzm},以完成操作。

注意:此操作可能会修改您的密码、登录邮箱或绑定手机。如非本人操作,请及时登录并修改密码以保证帐户安全
(工作人员不会向你索取此验证码,请勿泄漏!)

此为系统邮件,请勿回复
请保管好您的邮箱,避免账号被他人盗用

Bertil Chan

` } sendEmail(data)

运行

执行命令node nodemailer.js 运行起来,这时候就可以在接收者邮箱看到所发送的邮件了!

扩展:node执行定时任务

如果需要实现定时发送邮件,可以使用node-schedule这个第三方库来完成

  • 安装依赖
npm install node-schedule --save 
  • 修改nodemailer.js 文件中的代码
// 定时发送邮件 const nodemailer = require('nodemailer'); //发送邮件的node插件 const schedule = require('node-schedule'); //执行定时任务的插件 function sendEmail (data){ //这里的内容同上 } schedule.scheduleJob('10 * * * * *', ()=>{ sendEmail(data) }); 
  • 执行命令node nodemailer.js 运行,这时每分钟的第10秒钟就会自动发送邮件了。

schedule的6个占位符含义

*  *  *  *  *  * ┬ ┬ ┬ ┬ ┬ ┬ │ │ │ │ │  | │ │ │ │ │ └ day of week (0 - 7) (0 or 7 is Sun) │ │ │ │ └───── month (1 - 12) │ │ │ └────────── day of month (1 - 31) │ │ └─────────────── hour (0 - 23) │ └──────────────────── minute (0 - 59) └───────────────────────── second (0 - 59, OPTIONAL)   

6个占位符从左到右分别代表:秒、分、时、日、月、周几

'*'表示通配符,匹配任意,当秒是'*'时,表示任意秒数都触发,其它类推

下面可以看看以下传入参数分别代表的意思

每分钟的第30秒触发: '30 * * * * *'
每小时的1分30秒触发 :'30 1 * * * *'
每天的凌晨1点1分30秒触发 :'30 1 1 * * *'
每月的1日1点1分30秒触发 :'30 1 1 1 * *'
2016年的1月1日1点1分30秒触发 :'30 1 1 1 2016 *'
每周1的1点1分30秒触发 :'30 1 1 * * 1'

以上就是Node.js使用第三方插件nodemailer实现邮件发送示例的详细内容,更多关于Node.js nodemailer发送邮件的资料请关注0133技术站其它相关文章!

以上就是Node.js使用第三方插件nodemailer实现邮件发送示例的详细内容,更多请关注0133技术站其它相关文章!

赞(0) 打赏
未经允许不得转载:0133技术站首页 » JavaScript 教程