代码编织梦想

1.工具包安装
  • NodeJs

    所有的工具包都是基于安装NodeJs的基础之上

  • nodemailer

    NodeJs 发送邮件的插件包

  • axios

    发送Ajax请求的请求包

  • node-schedule

    定时执行任务包

2.代码
const nodemailer = require("nodemailer"); //npm发送mail包
const { default: Axios } = require("axios"); //在线请求制作彩虹屁;
const schedule = require("node-schedule"); //npm 定时发送包

//在线生成彩虹屁 请求函数
function getHoneyedWords() {
  let url = "https://chp.shadiao.app/api.php";
  return Axios.get(url);
}

// 发送邮件函数
async function sendMail(text) {
  let user = "xxxxxx"; //自己的邮箱
  let pass = "xxxxxx"; //自己邮箱授权码
   //获取方式 登录QQ邮箱 ---设置----账户----获取授权码  即可
  let to = "xxxxxx"; //对方的邮箱

  let transporter = nodemailer.createTransport({
    host: "smtp.qq.com",
    port: 587,
    secure: false,
    auth: {
      user: user, // 用户账号
      pass: pass, //授权码,通过QQ获取
    },
  });

  let info = await transporter.sendMail({
    from: `xxxx<${user}>`,//发送者
    to: `xxxx<${to}>`,//接受者
    subject: "自定义主题", //mail主题
    text: text, //mail 内容
  });
}

//自定义时间进行定时发送   例如  每天的 17:21 定时进行发送
schedule.scheduleJob({ hour: "17", minute: "21" }, function () {
  getHoneyedWords().then((res) => {
    sendMail(res.data);
  });
});

3.使用方法
  • 1.找到一个文件夹或者新建一个空白的文件夹;
  • 2.打开文件夹,Windows+R,执行npm init -y;
  • 3.下载上述工具包;
  • 4.新建index.js脚本文件,复制代码进去,然后保存;
  • 5.然后在CMD中执行node index.js即可;
  • 6.如果不想自己动手执行的话,可以把这个脚本文件放在服务器上面,运行即可;
  • 7.如果有多个人需要发送的话,可以考虑使用for循环;

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/weixin_45356397/article/details/111094321

HTML制作-爱代码爱编程

HTML网页制作 (输入完代码后鼠标右键点击在浏览器中打开即可显示成品) 1.ctrl+s保存为xxx.html,在Sublime-Text3中打开 输入英文状态下的!+Tab可快速获得基本框 lang=“en”(lang语言,en英文,zh-cn中文) UTF-8世界通用语言 title网页名称 body内容 1.1标签 1.p分段 2.a链接可点击;

vue this is undefined-爱代码爱编程

在使用axios经常会出现这个问题 如下面代码 data(){ return{ goods:{ title:null, subTitle:null, originalCost:null, currentPrice:null, discount:null, isFreeD

《HTML+CSS》记录3,常用标签-爱代码爱编程

标题标签 在HTML中,一共有六级标题标签:h1~h6(head),使用HTML时,并不关心标签文字大小,显示效果统一由css来定义,使用HTML时,我们关心标签的语义,六级标题中,h1到h6重要性依次降低,对搜索引擎来说,h1的重要性仅次于title,搜索引擎检索完title,会立即查看h1中的内容。因此h1标签会影响页面在搜索引擎的排名,在页面中只能

VUE组件-爱代码爱编程

这里写目录标题 VUE组件组件的注册全局注册局部注册 VUE组件 组件的注册 全局注册 在组件中设置数据的方法是跟Vue实例有点不同。data是一个函数并且它是直接返回一个对象,而不是像Vue实例中直接就是一个对象<div class="app"> <!--调用注册的组件--> <button-co

动态添加删除Tab选项卡-爱代码爱编程

效果图: html: <div class="tabbable"> <ul class="nav nav-tabs" id="myTab"> <li class="active show" id="compose1-li"> <a data-toggle="tab

2020年下半年1+X Web前端开发(中级)实操考试模拟试题一(附答案)-爱代码爱编程

传送门教育部:职业教育将启动“1+X”证书制度改革职业教育改革1+X证书制度试点启动1+X成绩/证书查询入口 文章目录 试题一(每空 2 分,共 30 分)试题一答案试题二(30分)试题二答案试题三(每空 2 分,共 20 分)试题三答案试题四(每空 2 分,共 20 分)试题四答案 试题一(每空 2 分,共 30 分) 阅

Flask项目--todolist说明书-爱代码爱编程

简介 使用Flask, bootstrap4 和 SQLAlchemy 开发的todo webapp 源码: flask-todolist Demo: todo.NUTURE 目录结构 TODO │ app.py # 后端程序 │ Dockerfile # 使用docker可以方便地部署在服务器上 │ LICENSE │ README.

vue全家桶(vuex简版源码的实现)-爱代码爱编程

Vuex Vuex 集中式存储管理应⽤的所有组件的状态,并以相应的规则保证状态以可预测的⽅式发⽣变化。 下面是Vuex工作的流程图 安装: vue add vuex vue add vuex 核⼼概念 State 状态,数据Actions 异步操作Mutations 更改状态的函数store 包含以上概念的容器状态 -state st

Vue组件之组件间数据交互-爱代码爱编程

父组件向子组件传递值 先看一个父组件向子组件传递数据的例子: 父组件通过属性的方式静态传递值给子组件,子组件通过props接收,效果如下: 父组件还可以通过动态绑定的方式动态传值给子组件: 还可以混搭传值: ==注意:==props属性命名规则: 注意: v-bind绑定和不加冒号绑定区别: <body> <div i

前端跨域(跨域、CROS、JSONP)-爱代码爱编程

跨域 指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对javascript施加的安全限制。例如:a页面想获取b页面资源,如果a、b页面的协议、域名、端口、子域名不同,所进行的访问行动都是跨域的,而浏览器为了安全问题一般都限制了跨域访问,也就是不允许跨域请求资源。注意:跨域限制访问,其实是浏览器的限制。特别注意:不同源的页面之间

js-随机颜色-爱代码爱编程

function getRandomColor(){ var colorStr = "0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f"; var colorArr = colorStr.split(","); var color = "#";

canvas - 炫彩小球-爱代码爱编程

<style> *{ margin: 0; padding: 0; } canvas { border: 1px solid #333; display: block; margin: 20px auto 0; } </styl