这里只测试了QQ邮箱
// 引入nodemailer
const nodeMailer = require('nodemailer')
// 详细用法请参照nodemailer官方网站: https://nodemailer.com/usage/
// 创建SMTP客户端配置
const config = {
// 如果是163邮箱则为: smtp.163.com
host: 'smtp.qq.com', // 这代表的是QQ邮箱
port: 465, // 端口 详情请参照邮箱的设置中 POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务的说明
// secureConnection: true, // 使用SSL方式(安全方式,防止被窃取信息)
// 发件人的配置
auth:{
// 发件人的邮箱
user: 'user@qq.com', // qq邮箱
// 发件人的授权码,开通 POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务中的一个即可获取授权码
// pop3 gwntndqqtvlaggce
// ngnwszcezyiaibcd
pass: 'ngnwszcezyiaibcd'
}
}
// 创建一个SMTP客户端配置对象
const transporter = nodeMailer.createTransport(config)
// 创建一个收件人对象
const mail = {
// 发件人 邮箱 '昵称<发件人邮箱>' 注意: 发件人的邮箱必须和授权配置的邮箱相同,昵称可以随便填
from: 'test<user@qq.com>',
// 主题
subject: '激活验证码',
// 收件人 的邮箱 可以是其他邮箱 不一定是qq邮箱
to: 'xxxx@qq.com',
// 内容
text: `您的激活验证码为:666888, 请24小时内有效,请谨慎保管。` ,
//这里可以添加html标签
// 注意: html和text只会显示一种,若存在html则text不会显示
html: '<h3>hello 您的激活验证码为:666888</h3>',
// 上传的附件:
attachments:[
{filename:'index1.html',path:'./index.html'},
{filename:'image.png',path:'https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=3489150134,2737835973&fm=26&gp=0.jpg'}
]
}
// 发送邮件
/**
* @param { object } mail 收件人配置对象
* @param { Function } callback 回调函数
*/
transporter.sendMail(mail,(err,res)=>{
if(err){
return console.log(err);
}
transporter.close()
console.log('mail send:' + res.response);
})