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实现定时发邮件的服务

  1. 首先通过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('你好')
  1. 安装好邮件发送功能以后,各位直男程序猿是不是又苦于不知道情话如何发呢?别担心,已经给你准备好了。先安装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然后就会有下面的输出:

  1. 有了发送邮件的功能是不是还要有个自动发送的功能呢?下面我们来安装定时器。
 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发送了,但是咱们的电脑又不可能一直运行这个服务,所以把它放到云服务器上是最好不过啦。

  1. 将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实现通过邮件定时给女朋友发情话相关推荐

  1. java语言情话_程序员的浪漫:用 java 实现每天给对象法发情话

    一.引言 最近看到一篇用js代码实现表白的文章,深有感触. 然后发现自己也可以用java代码实现,然后就开始写代码了,发现还挺有意思的,话不多说开搞 实现思路: 使用HttpClient远程获取彩虹屁 ...

  2. Java说情话_程序员的浪漫:用 java 实现每天给对象法发情话

    一.引言 最近看到一篇用js代码实现表白的文章,深有感触. 然后发现自己也可以用java代码实现,然后就开始写代码了,发现还挺有意思的,话不多说开搞 实现思路: 使用HttpClient远程获取彩虹屁 ...

  3. 用Java写句情话_程序员的浪漫:用 java 实现每天给对象法发情话

    一.引言 最近看到一篇用js代码实现表白的文章,深有感触. 然后发现自己也可以用java代码实现,然后就开始写代码了,发现还挺有意思的,话不多说开搞 实现思路: 使用HttpClient远程获取彩虹屁 ...

  4. java 浪漫_程序员的浪漫:用 java 实现每天给对象法发情话

    一.引言 最近看到一篇用js代码实现表白的文章,深有感触. 然后发现自己也可以用java代码实现,然后就开始写代码了,发现还挺有意思的,话不多说开搞 实现思路: 使用HttpClient远程获取彩虹屁 ...

  5. 程序员的浪漫:晨起给女友定时发送天气预报,睡前给女友定时讲故事

    情侣之间除了平日一起探究有趣的事情,总是少不了就是 "日常早晚请安" 1.请安情景一 男: 今日阳光明媚,多云转晴,小懒猪快起床啦 女:早起啦,话说你是不是还在被窝里呢 男:嘿嘿 ...

  6. 谁说程序员不懂浪漫?用Python每天自动给女友免费发短信

    今天的教程就是教大家怎么发送免费短信给女朋友. 发送短信接口,我知道的常见的有两个平台,一个是 twilio,可以免费发短信 500 条,可发任意信息,一个是腾讯云,可以免费发短信 100 条,需要申 ...

  7. 520情人节程序员的浪漫告白~html+css+js浪漫星空❤爱心3D相册 (含音乐)

    ❉ 来自程序员的浪漫告白~html+css+js浪漫星空❤爱心3D相册 (含音乐)可自定义编辑文字 一年一度的/520情人节/七夕情人节/生日礼物/告白师妹/圣诞节/元旦节跨年/程序员表白,是不是要给 ...

  8. 程序员的浪漫,你值得拥有!

    作者 | 小游子: 来源 | CSDN 博客 今天我们就来盘点一下 GitHub 程序员开源的情人节表白的代码.来一睹大牛们是怎么过情人节的,是怎么跟自己的女朋友表白的?(文中图片均来自项目本身) 前 ...

  9. Java程序员情人节_盘点程序员情人节的表白,前端程序员最浪漫,后端不服来战...

    今天是 2 月 14 日情人节,我看公众号后台有好多人在回复关键字:情人节表白代码.我想,我作为大家的校长,必须给大家送一波福利代码啊!我是真没想到,竟然很多程序员都想用代码表白,还整的挺浪漫的,看来 ...

最新文章

  1. php怎么接受,如何使php://input接收到另一个php的数据
  2. netcore命令行部署|跨域问题
  3. Python入门100题 | 第024题
  4. 《系统集成项目管理工程师》必背100个知识点-03项目管理过程组
  5. pip install mysqlclient报错: error: command ‘gcc‘ failed with exit status 1 OSError: mysql_config no
  6. 如何连接两个窗口JAVA_java-如何连接两个ArrayLists?
  7. Angular——单页面与路由的使用
  8. linux的基础知识——网络字节序转化,ip地址转换函数,sockaddr数据结构
  9. 项目实战大全,提升经验的最好办法(一)
  10. KAWAI 钢琴编号、年代、型号表
  11. scholarscope不显示影响因子_Cancer Cell | 冯嘉怡博士等揭示精氨酸甲基转移酶抑制剂可通过影响RNA剪接发挥抑癌效果...
  12. mysql命令行导入dmp文件,oracle的备份文件(dmp)导入mysql数据库方法
  13. Keras指定GPU训练模式,设置GPU的使用量
  14. studio one 3 机架声道设置_「声卡跳线」IXI Mega M8 声卡电脑/手机直播机架跳线(图文教程)...
  15. c语言烟花表白程序代码,表白神器-七彩烟花源码
  16. VB获取一个文件夹中指定的文件或文件夹名称到列表
  17. 发送邮件被对方服务器退回_如何更好地给老外发邮件,可以了解下
  18. 我爱淘冲刺阶段站立会议2每天任务1
  19. 2.(leaflet篇)leaflet加载接入百度地图
  20. amoeba启动报错

热门文章

  1. 写一段excel vba筛查重复项
  2. iphone信任不了证书老是说验证不了和重新接入互联网,可能是?
  3. 结合inotify与rsync实现openstack镜像的实时增量同步
  4. 使用开源产品的代价_使用我们从事的开源产品的责任
  5. go 语言值传递和引用传递
  6. pandas:read_excel()和to_excel函数解析
  7. 基于STM32的多点温湿度无线传输检测及控制(基于单片机的蔬菜大棚温湿度智能控制系统)
  8. AKVIS Coloriage给一张旧照片上色操作教程
  9. c语言校验mac函数,C语言验证MAC地址字符串合法性函数
  10. 关于DataStage Designer