用node实现发送邮箱验证码

  首先,你需要注册一个支持发送的邮箱,我注册是网易邮箱,然后配置smtp。

      然后,创建一个node项目,输入npm install nodemailer --save安装邮件依赖。

      接着创建一个文件(sendMail.js),代码如下:

  
const nodemailer = require('nodemailer');
  // 创建可重用邮件传输器
  const transporter = nodemailer.createTransport({
    host: "smtp.126.com", // 网易的邮件地址
    port: 465, // 端口
    secureConnection: false, // use SSL
    auth: {
      "user": 'iline_online@126.com', // 邮箱账号
      "pass": '******' // 邮箱的授权码
    }
  });
  const send = (mailOptions) => {
    transporter.sendMail(mailOptions, function(error, info) {
      if (error) {
        return console.log(error);
      }
      console.log('Message send: %s', info.messageId);
    });
  }

  let emailCode = '000000' //验证码为6位随机数,这个自己用random()写就行
  let email = {
  title: '医联在线--邮箱验证码',
  htmlBody: '<h1>Hello!</h1><p style="font-size: 18px;color:#000;">医联在线的验证码为:<u style="font-size: 16px;color:#1890ff;">' + emailCode + '</u></p><p style="font-size: 14px;color:#666;">10分钟内有效</p>'
  }
  let mailOptions = {
    from: 'iline_online@126.com', // 发件人地址
    to: '*****@qq.com', // 收件人地址,多个收件人可以使用逗号分隔
    subject: email.title, // 邮件标题
    html: email.htmlBody // 邮件内容
  };
  send(mailOptions)

 

  最后输入命令:node sendMail.js就可以了。注意:一般邮件都是会直接放到垃圾箱,你得先去垃圾箱看看
 
  

 

posted @ 2019-01-11 17:26  tomatoa  阅读(2273)  评论(0编辑  收藏  举报