程序员的浪漫——Node.js实现通过邮件定时给女朋友发情话
Node.js是什么?
Node.js is a JavaScript runtime built on Chrome’s V8 JavaScript engine.Node.js是一个构建于谷歌V8引擎的JavaScript运行时环境。
- Node.js不是一门语言,不是库,不是框架
- Node.js是一个js运行时的环境
- Node.js可以解析和运行js代码,
以前只有浏览器可以运行js,现在js可以完全脱离浏览器运行,一切都归功于Node.js。
Node.js能做什么?
- Web服务器后台
- 命令行工具
- npm
- git
- hexo
- 对于前端工程师来讲,接触最多的是它的命令行工具
Npm世界上最大的开源生态系统,绝大多数的JavaScript相关的包,都存放在了npm上,这样做的目的是为了让开发人员能够更好的使用node.js。
通过node实现定时发邮件的服务
- 首先通过node的npm包管理器安装邮件发送模块
npm install nodemailer
接着在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 addressto: `亲爱的老婆<${to}>`, // list of receiverssubject: "亲爱的老婆", // Subject linetext: text, // plain text body});console.log("发送成功");
}//测试一下
sendMail('你好')
- 安装好邮件发送功能以后,各位直男程序猿是不是又苦于不知道情话如何发呢?别担心,已经给你准备好了。先安装axios获取接口数据:
npm i axios
然后在js文件中加入如下代码,这里不仅给你准备了情话的接口,还有朋友圈、骂人、毒鸡汤的接口,总有一个适合你,只需要替换掉url就可以:
const {default: Axios} = require('axios');
function getHoneyedWords() {//http://lwfcll.top:3000/pyq 朋友圈//http://lwfcll.top:3000/nmsl 骂人//http://lwfcll.top:3000/chp 情话var url = 'http://lwfcll.top:3000/chp';//获取这个接口的信息return Axios.get(url);
}
那么我们接下来测试一下:
getHoneyedWords().then(res => {console.log(res.data);});
执行node 你的文件名.js
然后就会有下面的输出:
- 有了发送邮件的功能是不是还要有个自动发送的功能呢?下面我们来安装定时器。
npm install node-schedule
安装完成以后写入一下代码:
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);});
});
然后重新运行一下服务,就可以每天下午5:21发送了,但是咱们的电脑又不可能一直运行这个服务,所以把它放到云服务器上是最好不过啦。
- 将node项目运行在云服务,并实现挂载
(一)、在服务器上安装pm2
npm install -g pm2
(二)、安装完成后显示 pm2安装的位置
(三)、使用以下命令将pm2放入系统路径下就可以了 注意把上面安装的路径(我的是/app/nodejs/lib/node_modules/pm2/bin/pm2)替换一下,在后面加上 /usr/local/bin
,否则直接使用pm2会显示命令不存在。
ln -s /app/nodejs/lib/node_modules/pm2/bin/pm2 /usr/local/bin
(四)、然后将你刚才写好的文件上传到云服务中,并且通过cd进入到这个文件夹,执行以下代码:
pm2 start 你的文件名.js
出现以下代表大功告成:
到这里就实现了通过node实现通过邮件定时给女朋友发情话的功能啦!你学到了吗?小伙伴们,快去尝试一下,给你女朋友一个惊喜吧,或者可以用毒鸡汤给基友一个惊吓哦~~
程序员的浪漫——Node.js实现通过邮件定时给女朋友发情话相关推荐
- java语言情话_程序员的浪漫:用 java 实现每天给对象法发情话
一.引言 最近看到一篇用js代码实现表白的文章,深有感触. 然后发现自己也可以用java代码实现,然后就开始写代码了,发现还挺有意思的,话不多说开搞 实现思路: 使用HttpClient远程获取彩虹屁 ...
- Java说情话_程序员的浪漫:用 java 实现每天给对象法发情话
一.引言 最近看到一篇用js代码实现表白的文章,深有感触. 然后发现自己也可以用java代码实现,然后就开始写代码了,发现还挺有意思的,话不多说开搞 实现思路: 使用HttpClient远程获取彩虹屁 ...
- 用Java写句情话_程序员的浪漫:用 java 实现每天给对象法发情话
一.引言 最近看到一篇用js代码实现表白的文章,深有感触. 然后发现自己也可以用java代码实现,然后就开始写代码了,发现还挺有意思的,话不多说开搞 实现思路: 使用HttpClient远程获取彩虹屁 ...
- java 浪漫_程序员的浪漫:用 java 实现每天给对象法发情话
一.引言 最近看到一篇用js代码实现表白的文章,深有感触. 然后发现自己也可以用java代码实现,然后就开始写代码了,发现还挺有意思的,话不多说开搞 实现思路: 使用HttpClient远程获取彩虹屁 ...
- 程序员的浪漫:晨起给女友定时发送天气预报,睡前给女友定时讲故事
情侣之间除了平日一起探究有趣的事情,总是少不了就是 "日常早晚请安" 1.请安情景一 男: 今日阳光明媚,多云转晴,小懒猪快起床啦 女:早起啦,话说你是不是还在被窝里呢 男:嘿嘿 ...
- 谁说程序员不懂浪漫?用Python每天自动给女友免费发短信
今天的教程就是教大家怎么发送免费短信给女朋友. 发送短信接口,我知道的常见的有两个平台,一个是 twilio,可以免费发短信 500 条,可发任意信息,一个是腾讯云,可以免费发短信 100 条,需要申 ...
- 520情人节程序员的浪漫告白~html+css+js浪漫星空❤爱心3D相册 (含音乐)
❉ 来自程序员的浪漫告白~html+css+js浪漫星空❤爱心3D相册 (含音乐)可自定义编辑文字 一年一度的/520情人节/七夕情人节/生日礼物/告白师妹/圣诞节/元旦节跨年/程序员表白,是不是要给 ...
- 程序员的浪漫,你值得拥有!
作者 | 小游子: 来源 | CSDN 博客 今天我们就来盘点一下 GitHub 程序员开源的情人节表白的代码.来一睹大牛们是怎么过情人节的,是怎么跟自己的女朋友表白的?(文中图片均来自项目本身) 前 ...
- Java程序员情人节_盘点程序员情人节的表白,前端程序员最浪漫,后端不服来战...
今天是 2 月 14 日情人节,我看公众号后台有好多人在回复关键字:情人节表白代码.我想,我作为大家的校长,必须给大家送一波福利代码啊!我是真没想到,竟然很多程序员都想用代码表白,还整的挺浪漫的,看来 ...
最新文章
- php怎么接受,如何使php://input接收到另一个php的数据
- netcore命令行部署|跨域问题
- Python入门100题 | 第024题
- 《系统集成项目管理工程师》必背100个知识点-03项目管理过程组
- pip install mysqlclient报错: error: command ‘gcc‘ failed with exit status 1 OSError: mysql_config no
- 如何连接两个窗口JAVA_java-如何连接两个ArrayLists?
- Angular——单页面与路由的使用
- linux的基础知识——网络字节序转化,ip地址转换函数,sockaddr数据结构
- 项目实战大全,提升经验的最好办法(一)
- KAWAI 钢琴编号、年代、型号表
- scholarscope不显示影响因子_Cancer Cell | 冯嘉怡博士等揭示精氨酸甲基转移酶抑制剂可通过影响RNA剪接发挥抑癌效果...
- mysql命令行导入dmp文件,oracle的备份文件(dmp)导入mysql数据库方法
- Keras指定GPU训练模式,设置GPU的使用量
- studio one 3 机架声道设置_「声卡跳线」IXI Mega M8 声卡电脑/手机直播机架跳线(图文教程)...
- c语言烟花表白程序代码,表白神器-七彩烟花源码
- VB获取一个文件夹中指定的文件或文件夹名称到列表
- 发送邮件被对方服务器退回_如何更好地给老外发邮件,可以了解下
- 我爱淘冲刺阶段站立会议2每天任务1
- 2.(leaflet篇)leaflet加载接入百度地图
- amoeba启动报错
热门文章
- 写一段excel vba筛查重复项
- iphone信任不了证书老是说验证不了和重新接入互联网,可能是?
- 结合inotify与rsync实现openstack镜像的实时增量同步
- 使用开源产品的代价_使用我们从事的开源产品的责任
- go 语言值传递和引用传递
- pandas:read_excel()和to_excel函数解析
- 基于STM32的多点温湿度无线传输检测及控制(基于单片机的蔬菜大棚温湿度智能控制系统)
- AKVIS Coloriage给一张旧照片上色操作教程
- c语言校验mac函数,C语言验证MAC地址字符串合法性函数
- 关于DataStage Designer