@openinc/parse-server-opendash
Version:
Parse Server Cloud Code for open.INC Stack.
51 lines (50 loc) • 2.67 kB
JavaScript
;
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);
}
}