【JavaScript源代码】如何利用nodejs自动定时发送邮件提醒(超实用).docx
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
如何利用nodejs自动定时发送邮件提醒(超实用) 需要先安装插件 npm install Nodemailer --save index.js global.SG = { nodemailer: require("nodemailer")//发送邮件需要的服务 }; sg.js //发送邮件参数:收件人(支持群发)、主题、正文(支持html格式)---------------------------------------- sendMail(to, subject, html) { //下面这几个改成你自己的邮箱、昵称和授权码 const user = "AT 在JavaScript的世界里,Node.js作为一个强大的后端运行环境,提供了许多便利的功能,其中之一就是通过Nodemailer模块实现自动定时发送邮件。本篇文章将详细介绍如何利用Node.js和Nodemailer搭建一个自动发送邮件的系统,这对于日常工作中的提醒服务非常实用。 确保你的项目中已经安装了Nodemailer这个包。在命令行中输入以下命令进行安装: ```bash npm install Nodemailer --save ``` 安装完成后,在项目中引入Nodemailer。在`index.js`文件中,你可以看到全局定义了一个SG对象,其中包含了Nodemailer服务: ```javascript global.SG = { nodemailer: require("nodemailer") // 发送邮件需要的服务 }; ``` 接下来,我们需要配置邮件发送的具体逻辑。创建一个名为`sg.js`的文件,定义一个`sendMail`函数,这个函数接收三个参数:收件人(to),主题(subject)和邮件正文(html): ```javascript function sendMail(to, subject, html) { // 这里需要替换为你自己的邮箱、昵称和授权码 const user = "[email protected]"; const name = "强哥"; const pass = "btwyxxsd***yqdcgeda"; // 授权码在QQ邮箱设置-账号-开启服务:POP3/SMTP服务 // 使用Nodemailer创建一个SMTP传输器 const transporter = global.SG.nodemailer.createTransport({ host: "smtp.qq.com", auth: { user, pass } }); // 设置邮件内容 const mailOptions = { from: `${name}<${user}>`, // 发送者,例如:"标题别名<[email protected]>" to, // 收件人邮箱,多个邮箱地址间用英文逗号隔开 subject, // 邮件主题 html // 支持HTML格式的正文 }; // 发送邮件 transporter.sendMail(mailOptions, (err) => { if (err) { console.log("邮件发送失败: ", err); } }); } ``` 在上述代码中,`createTransport`用于配置SMTP服务器的连接信息,包括主机(host)和认证信息(auth)。`auth.user`是你的邮箱地址,`auth.pass`是授权码,不是常规的密码。授权码的获取方法是在QQ邮箱的设置中启用POP3/SMTP服务。 发送邮件的调用方式如下: ```javascript sendMail( "[email protected],[email protected]", "日报发送提醒(系统自动发送请勿回复)", `<h1>亲,怎么还没发送日报呀?</h1><br>这是来自强哥的问候,实在不行访问下我的博客吧 <a href="http://www.shuzhiqiang.com" rel="external nofollow" target="_blank">www.shuzhiqiang.com</a>` ); ``` 在实际应用中,为了实现定时发送邮件,我们可以结合Node.js的`node-cron`库来设置定时任务。通过`npm install node-cron --save`安装`node-cron`。然后在代码中添加定时器: ```javascript const cron = require('node-cron'); // 每天9点30分发送邮件 cron.schedule('30 9 * * *', () => { sendMail( "[email protected],[email protected]", "日报发送提醒(系统自动发送请勿回复)", `<h1>亲,怎么还没发送日报呀?</h1><br>这是来自强哥的问候,实在不行访问下我的博客吧 <a href="http://www.shuzhiqiang.com" rel="external nofollow" target="_blank">www.shuzhiqiang.com</a>` ); }); ``` 以上就是利用Node.js和Nodemailer实现自动定时发送邮件的完整步骤。通过这样的设置,你可以根据需求定期发送提醒、通知或其他类型的邮件,极大地提高了工作效率。记得在实际使用时替换为自己的邮箱和授权码,并根据需要调整定时任务的触发时间。

























- 粉丝: 1w+
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- vben-app-移动应用开发资源
- spp-bluetooth-tool-单片机开发资源
- go-view-Typescript资源
- go-ldap-admin-Go资源
- OpenAuth.Net-C#资源
- CAD教程参考.doc
- 2023年电子科技大学数据库原理及应用实验报告.doc
- Aspach心脑血管养护之旅.pptx
- 2022网络研修心得体会_.docx
- GB T 19902.2-2005 工业自动化系统与集成 制造软件互操作性能力建规 第2部分 建规方法论.pdf
- ASP动态网页程序设计与制作实训教程.ppt
- 2023年时间片轮转调度算法实验报告.docx
- 毕业设计-基于msp430单片机的气体涡轮流量计的设计.doc
- SQL数据库实习报告(推荐文档).doc
- 电脑工程师-IIS安装WEB服务.docx
- 大型复杂IT项目管理实践第一篇-大型复杂IT项目的特点和管理难点.doc


