开始
这里使用的是qq邮箱,因为qq邮箱的权限比较好设置一些。
安装模块
cnpm i nodemailer -S
创建-个SMTP客户端配置
//引入模块 nodemailer
const nodemailer = require('nodemailer')
// 创建一个SMTP客户端配置
const config = {
service: "QQ",
auth: {
// 发件人邮箱账号
user: 'xxxxxx@qq.com',
//发件人邮箱的授权码 这里可以通过qq邮箱获取 并且不唯一
pass: 'xxxxxxxxxxx'
}
}
创建一个SMTP客户端配置对象
const transporter = nodemailer.createTransport(config)
创建一个收件人对象
// 验证码随机数
let code = Math.random().toString().substr(2, 4)
const mail = {
// 发件人 邮箱 '昵称<发件人邮箱>'
from: `"web"<xxxx@qq.com>`,
// 主题
subject: '激活验证码',
// 收件人 的邮箱 可以是其他邮箱 不一定是qq邮箱
to: '',
//这里可以添加html标签
html: `<b>您的激活验证码为:${code}, 请24小时内有效,请谨慎保管。</b>`
}
发送邮件 调用transporter.sendMail(mail, callback)
transporter.sendMail(mail, function(error, info) {
if (error) {
return console.log(error);
}
transporter.close()
console.log('mail sent:', info.response)
})
qq权限的设置

最后就可以愉快的可以发送邮件啦

完整代码演示
//引入模块 nodemailer
const nodemailer = require('nodemailer')
// 验证码随机书
let code = Math.random().toString().substr(2, 4)
// 创建一个SMTP客户端配置
const config = {
service: "QQ",
auth: {
// 发件人邮箱账号
user: 'xxxxxxxxx@qq.com',
//发件人邮箱的授权码 这里可以通过qq邮箱获取 并且不唯一
pass: 'xxxxxxxxxxxxxxxxxxxxxx' //授权码生成之后,要等一会才能使用,否则验证的时候会报错,但是不要慌张哦
}
}
//创建一个SMTP客户端配置对象
const transporter = nodemailer.createTransport(config)
//创建一个收件人对象
const mail = {
// 发件人 邮箱 '昵称<发件人邮箱>'
from: `"web"<xxxxxxxxxx@qq.com>`,
// 主题
subject: '激活验证码',
// 收件人 的邮箱 可以是其他邮箱 不一定是qq邮箱
to: 'xxxxxxx@163.com',
//这里可以添加html标签
html: `<b>您的激活验证码为:${code}, 请24小时内有效,请谨慎保管。</b>`
}
// 发送邮件 调用transporter.sendMail(mail, callback)
transporter.sendMail(mail, function(error, info) {
if (error) {
return console.log(error);
}
transporter.close()
console.log('mail sent:', info.response)
})