JS来一个极简的每日毒鸡汤

作者: 流眸Tel | 来源:发表于2020-12-19 16:29 被阅读0次

前言

最近发现了基于node的一个发送邮件的小插件,逛论坛看别人用它做了一些有意思的东西,也模仿着搞一个分享下~
重在分享,重在分享!

期望

1. 目标

使用基于nodeJs的nodemailer定时发送随机文案给指定人。

展示

2. 场景

  • 定时发送情话给对象
  • 每日发送给自己朋友圈文案内容
  • ...

实现

1. 所需技术

  • 基础js即可

2. 所需环境/插件

  • nodeJs (环境)
  • nodemailer(发送邮件插件)
  • axios(获取邮件内容,如朋友圈文案、毒鸡汤等)
  • schedule(定时任务插件)

3. 其他

除上述内容,我们需要有邮件相关信息:自己邮箱和对方邮箱、邮箱服务器地址及端口号、自己邮箱的授权码等。下面会有比较详细的介绍。

实现过程

1. node环境安装

首先安装及配置node环境,官网下载安装即可。node中文网

2. 插件安装

自己按照需求安装即可:

// nodemailer:必须
npm i nodemailer

// axios:获取随机鸡汤(毒鸡汤)作为邮件内容;非必须
npm i axios

// schedule:定时任务;非必须
npm i schedule

3. 项目配置

  1. 新建个空目录作为项目目录
  2. 在终端(或者cmd模式)—— npm init
  3. 项目目录下新建index.js

4. index详细配置

const nodemailer = require('nodemailer');
const { default: Axios } = require('axios');
const schedule = require('node-schedule')

// 获取文案
const getMsg = () => {
    // 提供几个文案获取接口,随便选即可。
    // 毒鸡汤: https://du.shadiao.app/api.php
    // 朋友圈: https://pyq.shadiao.app/api.php
    // 彩虹屁: https://chp.shadiao.app/api.php
    // 骂人宝典: https://nmsl.shadiao.app/api.php
    let url = 'https://du.shadiao.app/api.php'; 
    return Axios.get(url);
}

// 发送邮件函数
const sendEmail = async msg => {
    let myEmail = "xxxxxx@163.com";  // 用户(自己)邮箱
    let passCode = "xxxxxx";  // 用户(自己)邮箱授权码
    let mailTo = "xxxxxx@xxx.xxx";    // 对方邮箱
    // 用户账号信息,以163邮箱为例
    let transporter = nodemailer.createTransport({
        host: 'smtp.163.com',   // 服务器地址
        port: 25,   // 协议端口号
        auth: {
            user: myEmail,  // 用户邮箱
            pass: passCode  // 授权码
        }
    });
    // 发送内容编辑
    let mailMsg = await transporter.sendMail({
        from: myEmail,   // 发件人(自己)
        to: mailTo,   // 收件人
        subject: 'mailer测试:毒鸡汤文案',   // 标题
        text: msg
    })
    // 成功后打印下~
    console.log(`发送成功,发送内容为:${msg}`);
}

// 定时发送 每天中午12:30(自己随便改) 发送自己“喜欢”的内容给指定人
schedule.scheduleJob({
    hour: 12,
    minute: 30
}, () => {
    console.log(`启动任务:${new Date()}`);
    getMsg().then(res => {
        sendEmail(res.data);    // 发送邮件
    })
})

// 测试
// console.log(`启动任务:${new Date()}`);
// getMsg().then(res => {
//     sendEmail(res.data);    // 发送邮件
// })

小结

通过上述代码,完成简易的每日毒鸡汤发送给相应邮箱。但我们可以看出,这只是基于node的一些个小插件的使用而已。虽然简单,但是发挥一下,在合适的时间用在合适的地方还是会有一些效果出现的~

喜欢的可以关注公众号【流眸】回复【201219】获取该项目代码~

相关文章

  • JS来一个极简的每日毒鸡汤

    前言 最近发现了基于node的一个发送邮件的小插件,逛论坛看别人用它做了一些有意思的东西,也模仿着搞一个分享下~重...

  • 无标题文章

    我去,发现简书上面好多的毒鸡汤啊!不过我喜欢,来!干了这碗毒鸡汤,我们继续过被生活欺骗的日子!

  • 每日毒鸡汤

    有喜欢的人,有讨厌的人,这很好 ,尊重自己的感受!只有把自己照顾好了,才能照顾别人,照顾自己的心情,也是一种照顾方...

  • 每日毒鸡汤

    别用手托眼镜,别人会觉得你鼻梁塌,管你精明能干,满腹经纶。

  • 每日毒鸡汤

    1、大胆一点,反正生命只有一次,哪有那么多时间来说:我不会,我害怕,我不行。与其这样,还不如拼尽全力,去做自己想做...

  • 彩铅生活|习作10

    真想卸载掉简书,戒掉那些毒鸡汤。

  • 生活不止眼前的苟且,还有远方的苟且。

    当我看到这句毒鸡汤时感觉菊花一紧,感觉以前的心灵鸡汤都被打翻了,反而这碗毒鸡汤让人来的更加清醒。 这碗毒鸡汤的原句...

  • 人年纪越大,越喜欢粉色的东西

    每一个睿智的灵魂 都置顶了毒鸡汤 文 | 毒哥 微信公众号 @毒鸡汤(ID:du-jitang) 经常看毒鸡汤的粉...

  • 每日毒鸡汤04

    蜗牛一直努力的往上爬。但爬了一辈子才发现,爬的速度还没有坠落的快

  • 每日毒鸡汤03

    生活不止眼前的“枸杞”,还有保温杯、秋裤和泡脚盆

网友评论

    本文标题:JS来一个极简的每日毒鸡汤

    本文链接:https://www.haomeiwen.com/subject/xsdcnktx.html