UNPKG

node-email-verificator

Version:

A simple way of email confirmation by sending a confirmation code to the client for verificatiion

73 lines (59 loc) 1.83 kB
const nodemailer = require('nodemailer'); const fs = require('fs'); const path = require('path') // Email Template Style const styles = require('./styles'); // Configuration Declaration let username; let smtp; let password; let coded = ''; // Store (Code) Data const verification = fs.readFileSync(path.join(__dirname, 'store.txt'), 'UTF-8', function (err, data) { if (err) throw err; return data; }); // Module Object const nev = { //Configuration Declaration config:(service, user, pass) => { smtp = service; username = user; password = pass; return true }, send: function (email) { // Random 5-6digit code generator coded = Math.floor(Math.random() * 903192); console.log('Mailing *********************'); // Storing code for loss prevention fs.writeFile(path.join(__dirname, 'store.txt'), coded, function (err) { if (err) throw err; }); //Sending Email Using Nodemailer var transporter = nodemailer.createTransport({ service: smtp, auth: { user: username, pass: password } }); var mailOptions = { from: username, to: email, subject: 'EMAIL CONFIRMATION', html: styles.text(coded), text: styles.text(coded) }; transporter.sendMail(mailOptions, function (error, info) { if (error) { console.log('Error Sending Verification Code') } else { return true; } }); }, //Verification Function verify: code => code === parseInt(verification) } module.exports = nev