Введение
Недавно я добавил ребенка, и у меня есть день рождения в моей семье, и я глубоко понимаю тяжелую работу моей жены.
Я не могу сопровождать ее дома на работе, поэтому я подумал написать программу, которая посылала бы ей несколько слов любви в определенное время каждый день, чтобы она могла чувствовать любовь своего мужа, когда она заботится о своем ребенке, и помогать ее облегчить ее раздражительность.
Учитывая, что на QQ и WeChat существует множество ограничений (если вы не будете осторожны, вас заблокируют), давайте сначала запустим электронную версию!
Соучредитель Stack Overflow Джефф Этвуд однажды сказал, что любая прикладная система, которая может быть написана на JavaScript, в конечном итоге будет реализована на JavaScript.
Закон Этвуда был предложен Джеффом Этвудом в 2007 году: «любое приложение, которое может быть написано на JavaScript, в конечном итоге будет написано на JavaScript.
Вышли законы больших парней, могу только сказать, что js — это круто!
Наш выбор технологии - nodejs, сначала вам нужно установить nodejs, а затем мы в основном используем модульNodemailer
.
ссылка на скачиваниеи скриншоты
Во-вторых, введение nodemailer
nodemailer
Это пакет npm для отправки электронных писем, мы можем использовать его для удобной и быстрой отправки электронных писем кому угодно.
3. Установка нодмайлера
Откройте терминал (win + r, используя окна, введите cmd и нажмите Enter)
Затем введите следующую команду
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 ниже.
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!
Даже семейное положение улучшилось!