如何用js給老婆天天發情話

1、引言

最近家裏添了小孩,在家帶娃陪產了一些天,深入體會到老婆帶孩子的辛苦。php

img

工做的時候不能在家陪她,就想着寫個程序,天天固定在固定時間給她發一些情話,好讓她在帶娃的時候也能感覺到老公的愛心,幫她緩解一下帶娃的煩躁心情。node

考慮的到qq和微信有諸多的限制(一不當心就被封),先來個郵箱版本的吧!ios

Stack Overflow 聯合創始人傑夫·阿特伍德曾經說過,任何一個能用 JavaScript 編寫的應用系統,最終都必將使用 JavaScript 實現。npm

Atwood’s Law是Jeff Atwood在2007年提出的:"any application that can be written in JavaScript, will eventually be written in JavaScript。axios

大佬的定律都出來了,只能說js牛x!windows

img

咱們的技術選型 就是nodejs,首先你得安裝一個nodejs,而後咱們主要使用一個模塊Nodemailerapi

下載連接和截圖微信

img

2、nodemailer介紹

nodemailer是一個發送郵件npm包,咱們可使用它方便快捷的給任何人發送郵件。markdown

3、nodemailer的安裝

打開終端(windows下使用win+r,而後輸入cmd,回車便可)app

img

img

而後輸入以下命令

mkdir mailBot  #cmd建立文件夾mailBot(touch mailBot  #若是是Linux能夠用touch命令)
cd mailBot  #進入文件夾
npm init -y #初始化npm
npm install nodemailer  #安裝郵件發送模塊
複製代碼

咱們建立一個mailBot文件夾,在終端中進入文件夾,初始化npm,而後安裝nodemailer

4、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的地方查看你的受權碼

img

5、自動生成情話

固然如今還有個缺點,既然要獻愛心,那就要發句比較好聽的話,咱們也叫彩虹屁。。。

有個彩虹屁生成網站,網站名字頗有意思,本身體會。

咱們使用這個網站的接口來生成咱們要說的內容。

使用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);
}
複製代碼

6、使用郵件發送情話

index.js中增長測試郵件發送代碼以下

//獲取情話
getHoneyedWords().then(res=>{
    console.log(res.data)
  //發送郵件
    sendMail(res.data);
})

複製代碼

終端中輸入node index.js

**結果顯示 :**春水初生,春林初盛,春風十里,不如你!

7、天天定時發送

考慮到天天定時發送會顯示的更有誠意,接下來搞個定時發送。咱們須要啓動個定時任務,使用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());
  getHoneyedWords().then((res) => {
    console.log(res.data);
    sendMail(res.data);
  });
});

複製代碼

終端中輸入node index.js

這樣天天下午5點21分就會自動發送一句情話!

就連家庭地位都提升了呢!

img

相關文章
相關標籤/搜索