Как использовать js, чтобы каждый день отправлять любовные слова жене

JavaScript

Введение

Недавно я добавил ребенка, и у меня есть день рождения в моей семье, и я глубоко понимаю тяжелую работу моей жены.

img

Я не могу сопровождать ее дома на работе, поэтому я подумал написать программу, которая посылала бы ей несколько слов любви в определенное время каждый день, чтобы она могла чувствовать любовь своего мужа, когда она заботится о своем ребенке, и помогать ее облегчить ее раздражительность.

Учитывая, что на QQ и WeChat существует множество ограничений (если вы не будете осторожны, вас заблокируют), давайте сначала запустим электронную версию!

Соучредитель Stack Overflow Джефф Этвуд однажды сказал, что любая прикладная система, которая может быть написана на JavaScript, в конечном итоге будет реализована на JavaScript.

Закон Этвуда был предложен Джеффом Этвудом в 2007 году: «любое приложение, которое может быть написано на JavaScript, в конечном итоге будет написано на JavaScript.

Вышли законы больших парней, могу только сказать, что js — это круто!

img

Наш выбор технологии - nodejs, сначала вам нужно установить nodejs, а затем мы в основном используем модульNodemailer.

ссылка на скачиваниеи скриншоты

img

Во-вторых, введение nodemailer

nodemailerЭто пакет npm для отправки электронных писем, мы можем использовать его для удобной и быстрой отправки электронных писем кому угодно.

3. Установка нодмайлера

Откройте терминал (win + r, используя окна, введите cmd и нажмите Enter)

img

img

Затем введите следующую команду

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 необходимо ввести в [Настройки] — [Учетная запись] почтового ящика qq, а затем открыть smtp, как показано на рисунке 1 ниже, и проверить код авторизации на рисунке 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

Это будет автоматически отправлять любовное сообщение каждый день в 17:21!

Даже семейное положение улучшилось!

img