auto-cms-server
Version:
Auto turn any webpage into editable CMS without coding.
42 lines (41 loc) • 1.38 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.sendEmail = sendEmail;
const nodemailer_1 = require("nodemailer");
const env_1 = require("./env");
const debug_1 = __importDefault(require("debug"));
let log = (0, debug_1.default)('auto-cms:email');
log.enabled = env_1.env.NODE_ENV == 'development';
let transport = (0, nodemailer_1.createTransport)({
service: env_1.env.EMAIL_SERVICE,
host: env_1.env.EMAIL_HOST,
port: env_1.env.EMAIL_PORT,
auth: {
user: env_1.env.EMAIL_USER,
pass: env_1.env.EMAIL_PASSWORD,
},
tls: {
// workaround for self-signed certificate from gmail
rejectUnauthorized: env_1.env.EMAIL_SERVICE == 'google' ? false : true,
},
});
async function sendEmail(options) {
if (env_1.env.EMAIL_USER === 'skip') {
log('sendEmail:', options);
let to = Array.isArray(options.to)
? options.to
: [options.to];
return {
accepted: to,
rejected: [],
response: '250 2.0.0 OK',
envelope: { from: options.from, to },
messageId: 'mock-message-id',
};
}
let info = await transport.sendMail(options);
return info;
}