1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
//引用模块
const nodemailer = require("nodemailer");
const schedule = require("node-schedule");
const path = require("path");
const template = require("art-template");
//模板路径
const views = path.join(__dirname, "config", "index.art");

//时间差

async function getDatetime() {
var date1 = "2022/03/17 00:00:00"; //以往时间
var date2 = new Date(); //当前时间
var date3 = date2.getTime() - new Date(date1).getTime(); //时间差的毫秒数
//计算出相差天数
var days = Math.floor(date3 / (24 * 3600 * 1000));
//计算出小时数
var leave1 = date3 % (24 * 3600 * 1000); //计算天数后剩余的毫秒数
var hours = Math.floor(leave1 / (3600 * 1000));
//计算相差分钟数
var leave2 = leave1 % (3600 * 1000); //计算小时数后剩余的毫秒数
var minutes = Math.floor(leave2 / (60 * 1000));
//计算相差秒数
var leave3 = leave2 % (60 * 1000); //计算分钟数后剩余的毫秒数
var seconds = Math.round(leave3 / 1000);
j_content(days);
}

//html模板配置
async function j_content(jdatetime) {
//const j_days=
const html = template(views, {
namea: "你",
nameb: "她",
datetime: jdatetime,
Signature: "xxxxxx",
});

j_email(html);
}

//邮箱配置
async function j_email(content) {
const email = nodemailer.createTransport({
service: "xxxxxxx@qq.com", //你的邮箱
secure: true,
auth: {
user: "xxxxxxx@qq.com", //你的邮箱
pass: "自己邮箱账户申请", //你的邮箱授权码
},
});

email.sendMail(
{
from: "11949420@qq.com", //你的邮箱
subject: "久伴私信你",
to: "xxxxxxx@qq.com", //对方邮箱
html: content,
},
(err, data) => {
if (err) {
console.error("发送失败" + err);
} else {
console.log("发送成功");
}
}
);
}

//定时发送
async function getTime() {
var rule = new schedule.RecurrenceRule();
rule.dayOfWeek = [0, new schedule.Range(1, 6)];
rule.hour = 21;
rule.minute = 30;
var j = schedule.scheduleJob(rule, function () {
console.log("执行任务");
getDatetime();
});
}

getTime();