From da6c642f5a6817d5b81c1e4a138140aa9e14dd9c Mon Sep 17 00:00:00 2001 From: AbdellahASKI Date: Sat, 12 Jan 2019 02:15:46 +0100 Subject: [PATCH] Almost done --- package-lock.json | 48 ++++++++++++++++++++++++++++++ package.json | 19 ++++++++++++ script.js | 76 +++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 143 insertions(+) create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 script.js diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..8baf1cb --- /dev/null +++ b/package-lock.json @@ -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" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..c93d401 --- /dev/null +++ b/package.json @@ -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" + } +} diff --git a/script.js b/script.js new file mode 100644 index 0000000..e32e9fd --- /dev/null +++ b/script.js @@ -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" ', // sender address + to: email, // list of receivers + subject: "[EMSI] ✔ Confirmation d'email et Numéro de téléphone", // Subject line + html: "Bonjour " + name + ",

Veuillez confirmer que ces informations sont correctes:

" + + "E-mail:   " + email + "
Tél:        " + phone + + "

Merci de confirmer par une réponse à ce mail le plus tot possible." + + "

Cordialement.



------- " + + "

- 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); +