本文介绍如何在Node.js项目中使用nodemailer模块(版本2.5.0)配置QQ邮箱发送电子邮件。详细讲解了获取POP3/SMTP授权码的步骤,提供了基础文本/HTML邮件发送代码,并演示了如何添加附件实现文件传输功能,包含完整的后端实现示例。
nodemailer模块介绍与安装
nodemailer是nodejs中的邮件发送模块,本文使用的版本为2.5.0
安装该模块
npm install nodemailer
通过npm下载模块后,在项目中引入就可以使用: var nodemailer = require('nodemailer');
QQ邮箱授权码获取
以QQ邮箱为例.
获取授权码
进入QQ个人邮箱, 设置-账户-开启服务POP3/SMTP服务,并生成授权码,现在获取授权码需要验证手机号等.

基础邮件发送实现
后端代码
var nodemailer = require('nodemailer');
var transporter = nodemailer.createTransport({
service: 'qq',
auth: {
user: '527828938@qq.com',
pass: 'ugxovfwhvxxxxxx' //授权码,通过QQ获取
}
});
var mailOptions = {
from: '527828938@qq.com', // 发送者
to: '452076103@qq.com', // 接受者,可以同时发送多个,以逗号隔开
subject: 'nodemailer2.5.0邮件发送', // 标题
//text: 'Hello world', // 文本
html: `<h2>nodemailer基本使用:</h2>`
};
transporter.sendMail(mailOptions, function (err, info) {
if (err) {
console.log(err);
return;
}
console.log('发送成功');
});
运行结果

邮件附件发送功能
发送附件
var transporter = nodemailer.createTransport({
service: 'qq',
auth: {
user: '527828938@qq.com',
pass: 'ugxovfwhvxypxxxx'
}
});
var mailOptions = {
from: '527828938@qq.com', // 发送者
to: '452076103@qq.com', // 接受者,可以同时发送多个,以逗号隔开
subject: 'nodemailer2.5.0邮件发送', // 标题
//text: 'Hello world', // 文本
html: `<h2>nodemailer基本使用:</h2>`,
attachments:[
{
filename : 'package.json',
path: './package.json'
},
{
filename : 'content',
content : '发送内容'
}
]
};
transporter.sendMail(mailOptions, function (err, info) {
if (err) {
console.log(err);
return;
}
console.log('发送成功');
});
运行结果

将附件下载下来,打开

这个发送附件应该算个不错的功能.
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。