准备工作
为了实现这个功能,你首先要有一个邮箱,由于需要使用 SMTP 方式发送,你还需要开启相关功能。你可以登录你的邮箱,然后开启这个设置,以QQ邮箱为例:
你需要开启这两个服务
服务端
这里要用到 nodemailer
,需要自行安装:
npm install nodemailer
在文件中引入这个模块:
const nodemailer = require('nodemailer');
首先,创建一个传输方式:
const transporter = nodemailer.createTransport({
service: 'qq',
auth: {
user: '你的邮箱地址',//发送者邮箱
pass: '授权码' //授权码,在准备工作中开启服务时候的授权码
}
});
配置信息
const mailOptions = {
from: 'xxxxxx@qq.com', // 发送者
to: 'xxxxxx@163.com', // 接受者,可以同时发送多个,以逗号隔开
cc: ',xxxxx@163.com',//抄送
subject: '发送邮件测试', // 标题
text: 'Hello world', // 文本
html: `<h2>NodeJS发送邮件测试</h2>`,
attachments:[ //发送附件
{
filename : 'app.js', //文件名称
path: './app.js' //文件路径
},
{
filename : 'package.json',
content : './package.json'
}
]
};
发送邮件
transporter.sendMail(mailOptions, function (err, info) {
if (err) {
console.log(err);
return;
}
console.log(`发送成功:${info.accepted}`);
});