Nodejs使用nodemailer怎么发送邮件?下面本篇文章给大家Nodejs使用nodemailer发送邮件的方法,希望对大家有所帮助!
特 点- 零依赖的单个模块- 代码易于审核,因为没有暗角。
- 高度关注安全,没人喜欢RCE漏洞
- Unicode 支持使用任何字符,包括表情符号
- Windows 支持- 您可以安装它高于海平面在 Windows 上,就像任何其他模块一样,没有编译依赖项。从 Azure 或 Windows 盒子轻松使用它
- 使用HTML 内容,以及纯文本替代
- 添加 附件 留言
- 嵌入式 HTML 内容的图像附件 - 您的设计不会被阻止
- 使用TLS/STARTTLS安全发送电子邮件****
- 不同的 运输方式 除了内置的 SMTP 支持
- 风俗 插件支持 用于处理消息
- 理智 OAuth2 验证
- 代理 用于 SMTP 连接
- ES6码-没有更多的无意内存泄漏,由于吊装VAR的
邮件已经封装好使用不同SMTP邮件服务器代发,发送任意内容的邮件信息
//引入模块 nodemailer
const nodemailer = require('nodemailer')
const partnerEmail = {
"QQ": {
"host": "smtp.qq.com",
"port": 465,
"user": "",
"pass": ""
},
"126": {
"host": "smtp.126.com",
"port": 465,
"user": "",
"pass": ""
},
"163": {
"host": "smtp.163.com",
"port": 465,
"user": "",
"pass": ""
}
}
const config = {
// 163邮箱 为smtp.163.com
host: partnerEmail.QQ.host,//这是qq邮箱
//端口
port: partnerEmail.QQ.port,
auth: {
// 发件人邮箱账号
user: partnerEmail.QQ.user,
//发件人邮箱的授权码 这里可以通过qq邮箱获取 并且不唯一
pass: partnerEmail.QQ.pass
}
}
// 发送带附件的邮件
function sendMail(email,code) {
// code 验证码
const transporter = nodemailer.createTransport(config)
const mail = {
// 发件人 邮箱 '昵称<发件人邮箱>'
from: '<xxx@qq.com>',
// 主题
subject: '激活验证码',
// 收件人 的邮箱 可以是其他邮箱 不一定是qq邮箱
to: email,
// 内容
text: `您的激活验证码为:${code}, 请3分钟内有效,请谨慎保管。`,
//这里可以添加html标签
html: '<a href="https://www.baidu.com.com">baidu</a>',
attachments:[
{
"filename":"xxx.mp3",
"path":"./xxx.mp3"
},
{
"filename":"xxx.txt",
"content":"文件"
},
{
"filename":"xxx.JPG",
"path":"./xxx.JPG",
"cid":"01" // 插在邮件正文中的图片
}
]
}
return new Promise((resolve, reject) => {
transporter.sendMail(mail, function (error, info) {
error ? reject(error) : resolve(info.response)
transporter.close()
})
})
}
exports.sendMail = sendMail`
|