kritsana135-hooray-server
Version:
for server
82 lines (66 loc) • 3.12 kB
JavaScript
;
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;