如何用js给老婆每天发情话
2020-12-03 15:48
731 查看
一、引言
最近家里添了小孩,在家带娃陪产了一些天,深刻体会到老婆带孩子的辛苦。
工作的时候不能在家陪她,就想着写个程序,每天固定在固定时间给她发一些情话,好让她在带娃的时候也能感受到老公的爱心,帮她缓解一下带娃的烦躁心情。
考虑的到qq和微信有诸多的限制(一不小心就被封),先来个邮箱版本的吧!
Stack Overflow 联合创始人杰夫·阿特伍德曾经说过,任何一个能用 JavaScript 编写的应用系统,最终都必将使用 JavaScript 实现。
Atwood’s Law是Jeff Atwood在2007年提出的:"any application that can be written in JavaScript, will eventually be written in JavaScript。
大佬的定律都出来了,只能说js牛x!
我们的技术选型 就是nodejs,首先你得安装一个nodejs,然后我们主要使用一个模块
Nodemailer。
下载地址和截图
二、nodemailer介绍
nodemailer是一个发送邮件npm包,我们可以使用它方便快捷的给任何人发送邮件。
三、nodemailer的安装
打开终端(windows下使用win+r,然后输入cmd,回车即可)
然后输入如下命令
mkdir mailBot #cmd创建文件夹mailBot(touch mailBot #如果是Linux可以用touch命令) cd mailBot #进入文件夹 npm init -y #初始化npm npm install nodemailer #安装邮件发送模块
我们创建一个mailBot文件夹,在终端中进入文件夹,初始化npm,然后安装
nodemailer
四、nodemailer的使用-发送邮件
接下来在项目中新建 index.js 文件,编写如下代码
const nodemailer = require("nodemailer"); // 发送邮件函数 async function sendMail(text) { var user = "xxx@qq.com";//自己的邮箱 var pass = "xxx"; //qq邮箱授权码,如何获取授权码下面有讲 var to = "waitfor_1153@qq.com";//对方的邮箱 let transporter = nodemailer.createTransport({ host: "smtp.qq.com", port: 587, secure: false, auth: { user: user, // 用户账号 pass: pass, //授权码,通过QQ获取 }, }); let info = await transporter.sendMail({ from: `亲爱的老公<${user}>`, // sender address to: `亲爱的老婆<${to}>`, // list of receivers subject: "亲爱的老婆", // Subject line text: text, // plain text body }); console.log("发送成功"); } //测试一下 send('你好老婆')
在终端中输入
node index.js就可以执行js文件的代码!
通过以上代码,我们就可以发送 任意一句话给你想发送的人!
注意:qq邮箱的pass(授权码)需要进入 qq邮箱 的【设置】-【账户】,然后如下图1的地方,开启smtp,下图2的地方查看你的授权码
五、自动生成情话
当然现在还有个缺点,既然要献爱心,那就要发句比较好听的话,我们也叫彩虹屁。。。
有个彩虹屁生成网站,网站名字很有意思,自己体会。
我们使用这个网站的接口来生成我们要说的内容。
使用
axios模块来下载生成的情话。
安装
axios,在终端中输入如下命令
npm i axios
使用
axios获取情话,在
index.js中 增加如下代码:
const { default: Axios } = require("axios"); function getHoneyedWords() { var url = "https://chp.shadiao.app/api.php"; //获取这个接口的信息 return Axios.get(url); }
六、使用邮件发送情话
index.js中增加测试邮件发送代码如下
//获取情话 getHoneyedWords().then(res=>{ console.log(res.data) //发送邮件 sendMail(res.data); })
终端中输入
node index.js
结果显示 :春水初生,春林初盛,春风十里,不如你!
七、每天定时发送
考虑到每天定时发送会显示的更有诚意,接下来搞个定时发送。我们需要启动个定时任务,使用
node-schedule模块。
安装,终端中输入如下
npm install node-schedule
使用,
index.js增加如下代码
const schedule = require("node-schedule"); //每天下午5点21分发送 schedule.scheduleJob({ hour: 17, minute: 21 }, function () { console.log("启动任务:" + new Date()) 1c871 ; getHoneyedWords().then((res) => { console.log(res.data); sendMail(res.data); }); });
终端中输入
node index.js
这样每天下午5点21分就会自动发送一句情话!
就连家庭地位都提高了呢!
相关文章推荐
- css如何li中选中后加上class属性js控制
- 如何更新 OpenStack 组件?- 每天5分钟玩转 OpenStack(161)
- js中如何截取小数点后两位数字
- 如何通过sea.js进行模块化开发
- js如何判断页面中是否有指定控件~~~
- js下如何弹出保存对话框进行文件下载
- 微信小程序如何通过js操作wxmll的wxss属性
- JS中如何输出空格
- ASP.NET 4.0 Webform传统开发模式下如何压缩css, js
- Sea.js是如何工作的?
- js 中如何获取制定的cook信息。
- win8 APP中网页js如何触发后台的ScriptNotify方法
- 如何用js判断一个复选框是否被选中
- 如何用js得到当前页面的url信息方法(JS获取当前网址信息)
- js如何获得局部变量的值
- 关于jsp页面是放在webroot目录下和web-inf下优缺点/(如何访问WebRoot中的CSS和JS文件)
- JS如何获取页面可见区域高度
- Vue.js每天必学之内部响应式原理探究
- 如何比较js 浮点数
- 百度竞价每天如何优化