UNPKG

@openinc/parse-server-opendash

Version:
51 lines (50 loc) 2.67 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.initEmailTransport = initEmailTransport; const nodemailer_1 = __importDefault(require("nodemailer")); const nunjucks_1 = __importDefault(require("nunjucks")); const path_1 = require("path"); const __1 = require(".."); const config_1 = require("../../config"); async function initEmailTransport() { try { if (config_1.ConfigInstance.getInstance().getBoolean("SMTP_ENABLED")) { const emailState = __1.EmailState.getInstance(); console.log("[@openinc/parse-server-opendash] Initializing email transport..."); const transportOptions = { host: config_1.ConfigInstance.getInstance().get("SMTP_HOST"), port: config_1.ConfigInstance.getInstance().getNumber("SMTP_PORT"), secure: config_1.ConfigInstance.getInstance().getBoolean("SMTP_SECURE"), ignoreTLS: config_1.ConfigInstance.getInstance().getBoolean("SMTP_IGNORE_TLS"), }; if (config_1.ConfigInstance.getInstance().get("SMTP_USER") && config_1.ConfigInstance.getInstance().get("SMTP_PASS")) { transportOptions.auth = { user: config_1.ConfigInstance.getInstance().get("SMTP_USER"), pass: config_1.ConfigInstance.getInstance().get("SMTP_PASS"), }; } const transport = nodemailer_1.default.createTransport(transportOptions); if (config_1.ConfigInstance.getInstance().get("SMTP_USER") && config_1.ConfigInstance.getInstance().get("SMTP_PASS")) { console.log("[@openinc/parse-server-opendash] Verifying SMTP transport..."); await transport.verify(); } emailState.setTransport(transport); const templateDir = (0, path_1.resolve)(process.cwd(), config_1.ConfigInstance.getInstance().get("EMAIL_TEMPLATE_DIR")); emailState.setEmailTemplateDir(templateDir); nunjucks_1.default.configure(templateDir, { autoescape: true }); console.log("[@openinc/parse-server-opendash] Email transport initialized successfully"); } else { console.log("[@openinc/parse-server-opendash] SMTP disabled, skipping email transport initialization"); } } catch (error) { console.error(`Parse SMTP Adapter: Error when trying to establish the SMTP connection:`); console.error(error); } }