本文介紹了node實(shí)現(xiàn)定時(shí)發(fā)送郵件的示例代碼,分享給大家,具體如下:
定時(shí)發(fā)送,可做提醒使用
nodemailer
nodemailer 是一款簡(jiǎn)單易用的基于于SMTP協(xié)議(或 Amazon SES)的郵件發(fā)送組件
cron
cron可以指定每隔一段時(shí)間執(zhí)行指定的程序、也可以指定每天的某個(gè)時(shí)刻執(zhí)行某個(gè)程序、還可以按照星期、月份來(lái)指定。
npm install nodemailer -Snpm install nodemailer-smtp-transport -Snpm install cron -S
代碼中有詳細(xì)的注釋(同時(shí)希望大家在平時(shí)寫(xiě)代碼的時(shí)候養(yǎng)成寫(xiě)注釋的習(xí)慣)
let nodemailer = require('nodemailer'), smtpTransport = require('nodemailer-smtp-transport'), cronJob = require('cron').CronJob;// SMTP 連接let transport = nodemailer.createTransport(smtpTransport({ // 主機(jī) host: 'smtp.163.com', // 是否使用 SSL secure: false, secureConnection: false, // 網(wǎng)易的SMTP端口 port: 25, auth: { // 賬號(hào) user: '***@163.com', // 授權(quán)碼(自行百度郵箱SMTP的授權(quán)碼設(shè)置),此處非密碼 pass: '***', }}));// 設(shè)置郵件內(nèi)容let mailOptions = { // 發(fā)件人地址,例如 1234<1234@163.com> from: '***<***@163.com>', // 收件人地址,可以使用逗號(hào)隔開(kāi)添加多個(gè) // '***@qq.com, ***@163.com' to: '***@qq.com', // 標(biāo)題 subject: 'Hello World', // 郵件內(nèi)容可以自定義樣式 html: '<strong style="color: red">測(cè)試"郵件轟炸機(jī)"</strong>'}// 定時(shí)發(fā)送郵件// 每秒執(zhí)行一次// 具體的各項(xiàng)設(shè)置查看上方的鏈接new cronJob('* * * * * *', () => { transport.sendMail(mailOptions, (error, response) => { if (error) { console.error(error) } else { console.log('Message Send Ok') } // 記得關(guān)閉連接 transport.close(); })}, null, true, 'Asia/Shanghai');
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持武林網(wǎng)。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注