UNPKG

kritsana135-hooray-server

Version:

for server

82 lines (66 loc) 3.12 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = sendEmail; exports.sendToVerifyEmail = void 0; var _verify = require("./verify"); var _template = require("../constants/template"); var _language = require("../constants/language"); function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } var nodemailer = require("nodemailer"); function sendEmail(_x, _x2, _x3, _x4, _x5) { return _sendEmail.apply(this, arguments); } function _sendEmail() { _sendEmail = _asyncToGenerator(function* (smtp, fromEmail, toEmail, title, content) { // Create the SMTP transport. var transporter = nodemailer.createTransport({ host: smtp.host, port: smtp.port, secure: false, // true for 465, false for other ports auth: { user: smtp.username, pass: smtp.password } }); // Specify the fields in the email. var mailOptions = { from: fromEmail, to: toEmail, subject: title, html: content // Custom headers for configuration set and message tags. }; // Send the email. var info = yield transporter.sendMail(mailOptions); console.log("Message sent: %s", info.messageId); // Message sent: <b658f8ca-6296-ccf4-8306-87d57a0b4321@example.com> // Preview only available when sending through an Ethereal account // console.log("Preview URL: %s", nodemailer.getTestMessageUrl(info)); // Preview URL: https://ethereal.email/message/WaQKMgKddxQDoou... return info; }); return _sendEmail.apply(this, arguments); } var sendToVerifyEmail = /*#__PURE__*/function () { var _ref = _asyncToGenerator(function* () { var locale = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _language.EN; var email = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ""; var app = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : ""; var template = app.templates.find(element => element.name === _template.TEMPLATE_TYPE.VERIFY_EMAIL); var { smtp } = app.option; var toEmail = email; var title = "Verify Email"; var { content, verifyToken } = yield (0, _verify.getTokenVerify)(template, _template.TEMPLATE_TYPE.VERIFY_EMAIL); var info = yield sendEmail(smtp, smtp.senderEmail, toEmail, title, content); return verifyToken; }); return function sendToVerifyEmail() { return _ref.apply(this, arguments); }; }(); exports.sendToVerifyEmail = sendToVerifyEmail;