node.js实现超简单的邮箱验证码发送

第一步,开启邮箱SMTP服务

这里以网易163邮箱为例,登录邮箱后,依次点击“设置-POP3/SMTP/IMAP” ,然后开启SMTP服务。这时候会提示一个授权码,例如:HMASDWFASCZSMTAS,一定要记下来,一会会用到

 第二步,引入nodemailer模块

npm install nodemailer 

写一个工具文件/utils/ mailer.js

const nodemailer = require('nodemailer')

// 配置信息
const mailconfig = {
  host: 'smtp.163.com', // 是什么邮箱,就修改为什么格式,如qq邮箱为:smtp.qq.com
  port: 465, // 默认端口
  auth: {
    user: 'XXXXXXXXXXXX@163.com', // 注册的163邮箱账号
    pass: 'XXXXXXXXXXXXXXXX' // 邮箱的授权码,不是注册时的密码,等你开启的stmp服务自然就会知道了
  }
}

// 创建一个SMTP客户端对象
const transporter = nodemailer.createTransport(mailconfig)

// 发送邮件
function send_verify (mail) {
  transporter.sendMail(mail, function (error, info) {
    if (error) {
      console.log(error)
    } else {
      console.log('mail sent:' + info.response)
    }
  })
}

module.exports = {
  mailconfig,
  send_verify
}

设置好发送对象及内容,就可以进行发送邮件了。(ps:文件内容可以是html格式)

const mailer = require('../utils/mailer')

let verify = Math.random().toFixed(6).slice(-6)// 随机6位验证码

// 发送前准备
var mail = {
                // 发件人
                from: '<' + mailer.mailconfig.auth.user + '>',
                // 主题
                subject: '测试服务平台-邮箱验证', // 邮箱主题
                // 收件人
                to: id, // 前台传过来的邮箱
                // 邮件内容,HTML格式
                text: '<h1>尊敬的用户您好:</h1><br>' +
                  '<h5> 您正在进行邮箱验证,本次验证码为:<span style="color:#ec0808;font-size: 20px;">' + verify + '</span>,请在10分钟内进行使用。</h5>' +
                  '<h5>如非本人操作,请忽略此邮件,由此给您带来的不便请谅解!</h5> <h5 style="text-align: right;">--测试服务平台</h5>'
              }

// 发送邮件
mailer.send_verify(mail)

 邮件效果如下:

 

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值