Node.js通过Nodemailer定时向她邮箱发送彩虹屁

发送邮件前提得安装node.js、pm2、nodemailer,获取邮箱授权码

1.安装node,新建node目录,并进入node目录

 cd /usr/local
 mkdir node
 cd node

下载node安装包并解压

 wget https://nodejs.org/dist/v14.15.0/node-v14.15.0-linux-x64.tar.xz
 tar xvf node-v14.15.0-linux-x64.tar.xz 
 mv node-v14.15.0-linux-x64 nodejs   //重命名

配置全局使用命令

 ln -s /usr/local/node/nodejs/bin/node /usr/local/bin/node
 ln -s /usr/local/node/nodejs/bin/npm /usr/local/bin/npm

验证是否安装成功

 node -v
 npm -v

2.安装pm2

npm install -g pm2

配置全局使用命令

 ln -s /usr/local/node/nodejs/bin/pm2 /usr/local/bin/pm2

验证是否安装成功

pm2 -v

3.安装 nodemailer

npm install nodemailer

4.获取邮箱授权码

把那个POP3/SMTP服务开启,生成授权码复制出来放到下面的js中
在这里插入图片描述

node.js代码

var nodemailer = require("nodemailer");
const { default: Axios } = require("axios");
// 发送邮件函数
async function sendMail(text) {
  var user = '237*******@qq.com'; //自己的邮箱
  var pass = 'biiia**********'; //qq邮箱授权码
  var to = '220*******@qq.com'; //对方的邮箱
  let transporter = nodemailer.createTransport({
    host: 'smtp.qq.com',
    port: 587,
    secure: false,
    auth: {
      user: '237*******@qq.com', // 用户账号
      pass: 'biiia**********' //授权码,通过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("发送成功");
};

function getHoneyedWords() {
  var url = "https://chp.shadiao.app/api.php";
  //获取这个接口的信息
  return Axios.get(url);
};
const schedule = require("node-schedule");
//每天下午5点20分发送
schedule.scheduleJob({ hour: 17, minute: 20 }, function () {
  console.log("启动任务:" + new Date());
  getHoneyedWords().then((res) => {
    console.log(res.data);
    sendMail(res.data);
  });
});

通过pm2命令来执行

pm2  start  ***.js 

启动成功后执行 pm2 list 可以看见正在挂载运行的node文件
在这里插入图片描述
执行 pm2 log 查看每天发送的日志
在这里插入图片描述

效果每天5点20女朋友的邮箱收到邮件如下:在这里插入图片描述
在这里插入图片描述
执行pm2 start ***.js 可能会出现
在这里插入图片描述
535的情况是邮箱授权码已过期 去QQ邮箱重新获取一下就好了
还可能出现cannot find module ‘xxx’
说明你缺xxx模块,需要做的就是输入命令npm install xxx.之后将会自动下载安装

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值