【node】nodemailer 实现邮件发送

nodemailer 邮件发送功能可用于用户注册等业务场景,高效、低成本。

我们这里使用腾讯的邮件服务。登录QQ邮箱,点击设置-帐户,开启SMTP服务并生成制授权码,复制授权码,后面要用。这个授权码要安全保存,不要外泄。

 配置文件 config.js 

//config.js
export default {
  smtp: {
    get host() {
      return 'smtp.qq.com'  
    },
    get user() {
      return 'xxx@qq.com'  // 这里输入你申请授权的QQ邮箱
    },
    get pass() {
      return 'xxx'   // 这里输入你的授权码
    }
  }
}

安装 nodemailer

npm i -D nodemailer

 

// 注册邮件发送
import nodeMailer from 'nodemailer'
import Email from '../dbs/config'

// 发件服务相关配置及发件人邮箱、授权码
let transporter = nodeMailer.createTransport({
    host: Email.smtp.host,
    port: 587,
    secure: false,  // 开启安全连接
    auth: {
      user: Email.smtp.user,
      pass: Email.smtp.pass
    }
  })
  // 注册码,过期时间、收件人邮箱、收件人用户名
  let ko = {
    code: Email.smtp.code(),
    expire: Email.smtp.expire(),
    email: ctx.request.body.email,
    user: ctx.request.body.username
  }
  // 邮件内容
  let mailOptions = {
    from: `"认证邮件"<${Email.smtp.user}>`,
    to: ko.email,
    subject: '《我就随便写个主题吧》注册码',
    html: `您在《我就随便写个主题吧》中注册,您的邀请码是${ko.code}`
  }
  // 发送邮件
  await transporter.sendMail(mailOptions, (error, info) => {
    if (error) {
      return console.log('error')
    } else {
      return console.log('success')
    }
  })

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值