Almost done
This commit is contained in:
48
package-lock.json
generated
Normal file
48
package-lock.json
generated
Normal file
@@ -0,0 +1,48 @@
|
||||
{
|
||||
"name": "me.aski",
|
||||
"version": "1.0.0",
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
"bindings": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/bindings/-/bindings-1.2.1.tgz",
|
||||
"integrity": "sha1-FK1hE4EtLTfXLme0ystLtyZQXxE="
|
||||
},
|
||||
"deasync": {
|
||||
"version": "0.1.14",
|
||||
"resolved": "https://registry.npmjs.org/deasync/-/deasync-0.1.14.tgz",
|
||||
"integrity": "sha512-wN8sIuEqIwyQh72AG7oY6YQODCxIp1eXzEZlZznBuwDF8Q03Tdy9QNp1BNZXeadXoklNrw+Ip1fch+KXo/+ASw==",
|
||||
"requires": {
|
||||
"bindings": "~1.2.1",
|
||||
"node-addon-api": "^1.6.0"
|
||||
}
|
||||
},
|
||||
"deasync-promise": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/deasync-promise/-/deasync-promise-1.0.1.tgz",
|
||||
"integrity": "sha1-KyfeR4Fnr07zS6mYecUuwM7dYcI=",
|
||||
"requires": {
|
||||
"deasync": "^0.1.7"
|
||||
}
|
||||
},
|
||||
"node-addon-api": {
|
||||
"version": "1.6.2",
|
||||
"resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-1.6.2.tgz",
|
||||
"integrity": "sha512-479Bjw9nTE5DdBSZZWprFryHGjUaQC31y1wHo19We/k0BZlrmhqQitWoUL0cD8+scljCbIUL+E58oRDEakdGGA=="
|
||||
},
|
||||
"nodemailer": {
|
||||
"version": "5.1.1",
|
||||
"resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-5.1.1.tgz",
|
||||
"integrity": "sha512-hKGCoeNdFL2W7S76J/Oucbw0/qRlfG815tENdhzcqTpSjKgAN91mFOqU2lQUflRRxFM7iZvCyaFcAR9noc/CqQ=="
|
||||
},
|
||||
"system-sleep": {
|
||||
"version": "1.3.6",
|
||||
"resolved": "https://registry.npmjs.org/system-sleep/-/system-sleep-1.3.6.tgz",
|
||||
"integrity": "sha512-tBQqFUdmuFQhiXtptJR0Nu+fOL0lGFRML2BD0G02bCCCHAZ09Qmu0M/nPzjJL/qx23zQ7arFMo2/LCvfSsgJZA==",
|
||||
"requires": {
|
||||
"deasync-promise": "1.0.1"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
19
package.json
Normal file
19
package.json
Normal file
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"name": "me.aski",
|
||||
"version": "1.0.0",
|
||||
"description": "",
|
||||
"main": "script.js",
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://git.aski.me/AbdellahASKI/EmsiEmailCheckerSender.git"
|
||||
},
|
||||
"author": "",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"nodemailer": "^5.1.1",
|
||||
"system-sleep": "^1.3.6"
|
||||
}
|
||||
}
|
||||
76
script.js
Normal file
76
script.js
Normal file
@@ -0,0 +1,76 @@
|
||||
// Define JSON File
|
||||
var fs = require("fs");
|
||||
var nodemailer = require('nodemailer');
|
||||
var sleep = require('system-sleep');
|
||||
let transporter = nodemailer.createTransport({
|
||||
host: "smtp.zoho.com",
|
||||
port: 465,
|
||||
secure: true, // true for 465, false for other ports
|
||||
auth: {
|
||||
user: "emsi@aski.me", // generated ethereal user
|
||||
pass: "wcbdbvQaGqiH" // generated ethereal password
|
||||
}
|
||||
});
|
||||
date = new Date(Date.now());
|
||||
timeString = date.getHours() + "-" + date.getMinutes() + "-" + date.getSeconds();
|
||||
fileName = "logs\\log " + timeString.toString() + ".txt";
|
||||
|
||||
fs.writeFile(fileName, '\r\n', function (err) {
|
||||
if (err) throw err;
|
||||
console.log('It\'s saved!');
|
||||
}); // => message.txt erased, contains only 'Hello Node'
|
||||
|
||||
async function send(name, email, phone) {
|
||||
|
||||
|
||||
|
||||
let mailOptions = {
|
||||
from: '"Délégué 5IIR EMSI" <emsi@aski.me>', // sender address
|
||||
to: email, // list of receivers
|
||||
subject: "[EMSI] ✔ Confirmation d'email et Numéro de téléphone", // Subject line
|
||||
html: "Bonjour " + name + ",<br><br>Veuillez confirmer que ces informations sont correctes: <br><br>" +
|
||||
"E-mail: <b>" + email + "</b><br>Tél: <b>" + phone +
|
||||
"</b><br><br>Merci de confirmer par une réponse à ce mail le plus tot possible." +
|
||||
"<br><br>Cordialement.<br><br><br><br> ------- " +
|
||||
"<br><br>- Cet email est envoyé par le délégué du 5 IIR G1 EMSI Centre" // html body
|
||||
};
|
||||
|
||||
// send mail with defined transport object
|
||||
let info = await transporter.sendMail(mailOptions)
|
||||
|
||||
console.log("Message sent: ", info);
|
||||
|
||||
}
|
||||
|
||||
|
||||
//sleep(1000*60*2);
|
||||
//send("Abdellah","abdellahaski@gmail.com","0707970909").catch(console.error);
|
||||
|
||||
// Preview only available when sending through an Ethereal account
|
||||
//console.log("Preview URL: %s", nodemailer.getTestMessageUrl(info));
|
||||
|
||||
|
||||
// Get content from file
|
||||
// Define to JSON type
|
||||
var contents = JSON.parse(fs.readFileSync("data.json"));
|
||||
var students = contents["students"];
|
||||
|
||||
var stream = fs.createWriteStream(fileName, {flags:'a'});
|
||||
// Get Value from JSON
|
||||
/*students.forEach(s => {
|
||||
|
||||
stream.write("\r\n------ Student: " + s.name + "--------------\r\n");
|
||||
//send(s.name,s.email,s.phone).catch(console.error);
|
||||
console.log("waiting...");
|
||||
stream.write("teest");
|
||||
|
||||
//sleep(1000*60*1);
|
||||
|
||||
});*/
|
||||
|
||||
function sendToStudent(students, index) {
|
||||
student = students[index];
|
||||
stream.write(student);
|
||||
}
|
||||
sendToStudent(students,0);
|
||||
|
||||
Reference in New Issue
Block a user