之前有任务需求,需要前端自己生成一张图片之后,将这张图片、发送邮件给指定人员,生成图片用puppeteer模块,生成之后,用nodemailer模块发送邮件
nodemailer官网:https://nodemailer.com/about/
1.首先安装nodemailer模块
npm i nodemailer
2.以QQ邮箱为例,emails.js发送邮箱的文件配置如下
const nodemailer = require('nodemailer');
let transporter = nodemailer.createTransport({
// host: 'smtp.qq.com',
// // service: 'qq', // 使用了内置传输发送邮件 查看支持列表:https://nodemailer.com/smtp/well-known/
// port:587, //端口号
// secure:false, //465为true,其他为false
// auth: {
// user: '88888888@qq.com',//你的邮箱
// // 这里密码不是qq密码,是你设置的smtp授权码
// pass: 'jqrtkhfznxgtbcgb',
// }
});
3.发送的邮件配置如下:
let mailOptions = {
from: '你的qq邮箱 <88888888@qq.com>', // sender address
to: '111111111@qq.com,222222222@qq.com,333333333@qq.com', // list of receivers
subject: '邮件标题', // Subject line
// 发送text或者html格式
// text: 'Hello 我是火星黑洞', // plain text body
html: '<img style="height:50%;width:150%" src="cid:00000001"/><br><br><br><b style="font-size:20px;">top50渠道明细数据(请用PC端打开):</b>', // html body
attachments : //邮件的附件,这里我放的是图片
[
{
filename: 'paper.jpeg', // 改成你的附件名
path: '/data/services/iptvDailyPaper/DailyPaper/paper.jpeg', // 改成你的附件路径
cid : '00000001' // cid可被邮件使用
}
]
};
// send mail with defined transport object
transporter.sendMail(mailOptions, (error, info) => {
if (error) {
return console.log(error);
}
if (info) {
console.log(info);
}
transporter.close(); //发送完毕后关闭
console.log('Message sent: %s', info.messageId);
// Message sent: <04ec7731-cc68-1ef6-303c-61b0f796b78f@qq.com>
});
最后执行node脚本
node email.js