需求:node发送邮件
定时发送邮件
需要准备的模块nodemailer
,还需要去获取QQ邮箱的授权码
执行的效果
安装指令:
npm install nodemailer --save
发送邮件代码:
//导入发送邮件模块
var nodemailer = require('nodemailer');
var transporter = nodemailer.createTransport({
service: 'qq',
auth: {
user: 'nmxgzs@foxmail.com',//自己的邮箱
pass: 'wgarcnqutrodebci' //授权码,通过邮箱获取
}
});
var mailOptions = {
from: '"柠檬心工作室" <nmxgzs@foxmail.com>', // 发送者(自己)
to: '2507128400@qq.com', // 接受者,可以同时发送多个,以逗号隔开
subject: '腾讯超级会员业务通知', // 邮件标题
text: '', // 文本
//邮件以html代码的方式
//html: `<h2>nodemailer基本使用:</h2><h3>
//<a href="http://www.baidu.com2">
//http://www.baidu.com2</a></h3>`
//下边配置发送附件信息
attachments: [
{
filename: 'router.js',
path: '../router.js'
},
//{
//filename : 'content',
//content : '发送内容'
//}
]
};
//发送邮件
transporter.sendMail(mailOptions, function (err, info) {
if (err) {
console.log(err);
return;
}
console.log('邮件发送成功');
});
发送图片标注作为附件
实现定时发送
可以将上边代码封装为一个函数,设置一个循环执行的定时任务就可以了
官方文档:https://nodejs.org/zh-cn/docs/guides/timers-in-node/
node官方给的代码:
function intervalFunc() {
console.log('Cant stop me now!');
}
setInterval(intervalFunc, 1500);
我测试可以i,望采纳,哈哈哈