使用js进行邮件发送

node 发送邮件

// 导入nodemailer
const nodemailer = require('nodemailer')

/**
 * 发送邮件
 * @param {type: string, Default:none} fromEmail 发出邮件的邮箱
 * @param {type: string, Default:none} toEmail  给谁发送邮件的邮箱
 * @param {type: string, Default:none} user 发送邮件的邮箱
 * @param {type: string, Default:none} pass 邮箱授权码(不是邮箱密码,需要到QQ邮箱 设置 -> 账户 -> POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务 -> 开启服务并获取授权码)
 * @param {type:String | Number, Default:none} sendText 发送的信息
 * @param {type:String , Default:'smtp.qq.com'} host   邮箱服务的host,例如QQ是【smtp.qq.com】,网易是【smtp.163.com】,其它邮箱自行查
 * @return {undefined | Error} undefined 表示发送成功 | Error表示出错
 */
const sendEmail = async (fromEmail, toEmail, user, pass, sendText, host = 'smtp.qq.com') => {
  let transporter = nodemailer.createTransport({
    /**
     * 邮箱服务的host:
     * qq: smtp.qq.com
     * 163: smtp.163.com
     */
    host: host,
    // 开启安全连接,这个开不开都可以,对安全性有要求的话,最好开启
    secureConnection: true,
    auth: {
      user: user,// 你发送邮件的邮箱
      pass: pass, // 你发送邮件的邮箱的授权码
    },
    tls: {
      rejectUnauthorized: false, // 拒绝认证就行了, 不然会报证书问题
    },
  });


  let info = await transporter.sendMail({
    from: '"来自" <' + fromEmail + '>', //发送邮件的邮箱信息
    to: toEmail, // 发送给谁的邮箱
    subject: "验证码", // 标题
    // text: sendText, //发送文本
    // 发送html
    // html: "你的验证码为<b style='color:skybkue;'>" + sendText + "</b>,5分钟内有效,请务透漏给他人!",
    html: "这是一条测试邮件,使用node用qq邮箱发送,内容:" + "<b style='color:skybkue;'>" + sendText + "</b>",
    //  // 发送邮箱附件
    //  attachments: [{
    //     // 文件名
    //     filename: 'server.js',
    //     // 文件路径
    //     path: './server.js'
    // }]
  }).then(res => {
    console.log(res);
    console.log('邮件发送成功');
  })
}

sendEmail('you-email@qq.com', 'reception-email@qq.com', 'you-email@qq.com', 'xxxxxxxxxxx', '我是发送的信息').catch(console.error)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值