UNPKG

@hv-kit/hexpress

Version:

facilitates typescript backend development with express

135 lines 5.83 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.Email = void 0; const nodemailer_1 = __importDefault(require("nodemailer")); const hexpress_config_json_1 = __importDefault(require("../../../../hexpress.config.json")); class Email { constructor() { this.senderName = hexpress_config_json_1.default.email.username; this.transporterConfig = { host: hexpress_config_json_1.default.email.host, port: hexpress_config_json_1.default.email.port, secure: hexpress_config_json_1.default.email.tls, auth: { user: hexpress_config_json_1.default.email.user, pass: hexpress_config_json_1.default.email.password, }, }; this.transporter = nodemailer_1.default.createTransport(this.transporterConfig); } ChangeSenderDatas(name, mail) { if (!name) { this.senderName = String(name); } if (!mail) { this.transporterConfig.auth.user = String(mail); } this.transporter = nodemailer_1.default.createTransport(this.transporterConfig); return this; } SendEmail(recipient, subject, content) { return __awaiter(this, void 0, void 0, function* () { return new Promise((resolve, reject) => { this.transporter.sendMail({ from: `"${this.senderName}" <${this.transporterConfig.auth.user}>`, to: recipient, subject: subject, text: content, }, (err, info) => { if (err) { if (hexpress_config_json_1.default.debug) { console.log('******----- > communication.ts > Email - SendEmail - err:: ', err); reject(false); } } else { resolve(true); } }); }); }); } SendHtmlEmail(recipient, subject, content) { return __awaiter(this, void 0, void 0, function* () { return yield (new Promise((resolve, reject) => { this.transporter.sendMail({ from: `"${this.senderName}" ${this.transporterConfig.auth.user}`, to: recipient, subject: subject, html: content, }, (err, info) => { if (err) { if (hexpress_config_json_1.default.debug) { console.log('******----- > communication.ts > Email - SendHtmlEmail - err:: ', err); reject(false); } } else { resolve(true); } }); })); }); } SendMultipleEmail(recipients, subject, content) { return __awaiter(this, void 0, void 0, function* () { return yield (new Promise((resolve, reject) => { this.transporter.sendMail({ from: `"${this.senderName}" ${this.transporterConfig.auth.user}`, to: recipients.join(', '), subject: subject, text: content, }, (err, info) => { if (err) { if (hexpress_config_json_1.default.debug) { console.log('******----- > communication.ts > Email - SendMultipleEmail - err:: ', err); reject(false); } } else { resolve(true); } }); })); }); } SendMultipleHtmlEmail(recipients, subject, content) { return __awaiter(this, void 0, void 0, function* () { return new Promise((resolve, reject) => { this.transporter.sendMail({ from: `"${this.senderName}" ${this.transporterConfig.auth.user}`, to: recipients.join(', '), subject: subject, html: content, }, (err, info) => { if (err) { if (hexpress_config_json_1.default.debug) { console.log('******----- > communication.ts > Email - SendMultipleHtmlEmail - err:: ', err); reject(false); } } else { resolve(true); } }); }); }); } } exports.Email = Email; exports.default = { Email, }; //# sourceMappingURL=communication.js.map