106 lines
2.8 KiB
JavaScript
106 lines
2.8 KiB
JavaScript
var nodemailer = require("nodemailer");
|
|
var handlebars = require("handlebars");
|
|
const cron = require('node-cron');
|
|
var fs = require("fs");
|
|
let transporter = nodemailer.createTransport({
|
|
pool: true,
|
|
host: "mail.tgj.services",
|
|
port: 587,
|
|
secure: false, // use TLS
|
|
auth: {
|
|
user: "admin@tgj.services",
|
|
pass: "&,kErryPRominSBulOrTArDliaThstINtS,70",
|
|
},
|
|
tls: {
|
|
ciphers:'SSLv3'
|
|
}
|
|
});
|
|
|
|
var prefix = "/opt/app/"
|
|
|
|
var readHTMLFile = function(path, callback) {
|
|
fs.readFile(path, {encoding: 'utf-8'}, function (err, html) {
|
|
if (err) {
|
|
throw err;
|
|
callback(err);
|
|
}
|
|
else {
|
|
callback(null, html);
|
|
}
|
|
});
|
|
};
|
|
|
|
var mysql = require('mysql');
|
|
const { exit } = require("process");
|
|
|
|
var con = mysql.createConnection({
|
|
host: "db.tgj.services",
|
|
user: "wednesday",
|
|
password: "ki5htfYWwWUCdfqu",
|
|
database: "wednesday_db"
|
|
});
|
|
|
|
console.log("waiting for wednesday!")
|
|
|
|
con.connect(function(err) {
|
|
if (err) throw err;
|
|
//console.log("You are connected!");
|
|
console.log("connected waiting for wednesday!")
|
|
cron.schedule('0 0 * * WED', function() {
|
|
console.log('running a task every wed');
|
|
check();
|
|
});
|
|
});
|
|
|
|
|
|
|
|
var count = 0;
|
|
|
|
//console.log(mURL);
|
|
|
|
function check(){
|
|
query = "SELECT user_email FROM users WHERE need_wed = '1'";
|
|
con.query(query, function(error,results,fields){
|
|
if(error) throw error;
|
|
console.log(results);
|
|
results.forEach(row => {
|
|
var htmlToSend;
|
|
readHTMLFile(prefix+"email.html",function(err,html){
|
|
//console.log(html)
|
|
//console.log(randURL)
|
|
var template = handlebars.compile(html);
|
|
var replacements = {
|
|
htmlURL: "https://tgj.services",
|
|
};
|
|
|
|
|
|
htmlToSend = template(replacements);
|
|
var mailOptions = {
|
|
from: 'wednesday@tgj.services',
|
|
to: row["user_email"],
|
|
subject: "BACK BY POPULAR DEMAND: IT'S WEDNESDAY MY DUUDES!",
|
|
html: htmlToSend
|
|
};
|
|
//console.log(htmlToSend)
|
|
console.log("Job Finished! - " + row["user_email"]);
|
|
SendMail(mailOptions,results);
|
|
});
|
|
count += 1;
|
|
});
|
|
});
|
|
}
|
|
|
|
function SendMail(options,results){
|
|
transporter.sendMail(options, function(error, info){
|
|
if (error) {
|
|
console.log(error);
|
|
} else {
|
|
console.log('Email sent: ' + info.response);
|
|
}
|
|
});
|
|
console.log(count)
|
|
}
|
|
|
|
function disconnect(){
|
|
con.end();
|
|
} |