先看效果图
准备工作
node.js发邮件会需要一个 SMTP 授权码!
我们需要去邮箱里面获取,这里我选择的是QQ邮箱(因为搜到的教程就是QQ的)
如果有会其他邮箱食用方法欢迎交流
先点击设置
选择账户
找到 POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务
点击开启 只开启第一个
然后将生成的授权码复制下来
然后接下来先创建一个文件夹
打开当前目录的小黑盒 npm init -y 初始化
npm install nodemailer 安装依赖
然后文件夹里新建一个js文件
// 引入依赖
const nodemailer = require('nodemailer');
创建 nodemailer 配置
let transporter = nodemailer.createTransport({
service: 'QQ', // 这里用的是qq邮箱
port: 465, // SMTP 端口 这个不用管
secureConnection: true,
auth: {
user: 'qq号@qq.com',
// 这里不是邮箱密码 是授权码
pass: '填写刚才生成的授权码'
}
});
填写内容
let mailOptions = {
// 从哪来
from: '"用户名" <201463610@qq.com>',
// 往哪去
to: 'feng_xudong1@163.com',
// 标题
subject: '发文章的标题',
// 内容
text: '我已经收到邮件啦',
// 附件
attachments:[
{
// 默认会吧文件名称改为这里设置的名称 所以后缀一定加对
filename : 'package.json',
path: './package.json'
}
]
};
附件数组里可以添加多个附件
发送邮件
transporter.sendMail(mailOptions, (error, info) => {
if (error) {
return console.log(error);
}
console.log('邮件发送成功 ID:', info);
});
vscode可以点击顶部终端然后 node 刚才创建的js名称
例如 node email.js
其他编辑器可以自行运行
或者文件夹打开小黑盒 node email.js 运行代码
结果
欢迎对这个有研究、有兴趣或者发现文章有错误的地方的伙伴们和我交流,共同进步~~~