UNPKG

@m-ld/gateway

Version:

m-ld gateway for services

34 lines 2.76 kB
import nodemailer from 'nodemailer'; import LOG from 'loglevel'; export const logNotifier = { async sendActivationCode(email, activationCode) { LOG.info(`Activation code for ${email}: ${activationCode}`); } }; export class SmtpNotifier { /** * @param options SMTP options * @param name gateway domain, used as a default self hostname * @see https://community.nodebb.org/post/81300 */ constructor({ smtp: options, '@domain': name }) { this.transporter = nodemailer.createTransport({ name, ...options }); this.from = options?.from; const address = typeof options?.from == 'object' ? options.from.address : options?.from; let [, domain] = address?.match(/@(\w+)/) || []; this.domain = domain || 'm-ld-gateway'; } sendActivationCode(email, activationCode) { return this.transporter.sendMail({ from: this.from, to: email, subject: `Hi from ${this.domain}`, text: `Your activation code is ${activationCode}\n\n` + 'This code is usable for the next 10 minutes.\n' + 'Cheers,\n' + `the ${this.domain} team` }); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTm90aWZpZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VydmVyL05vdGlmaWVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sVUFBMkIsTUFBTSxZQUFZLENBQUM7QUFHckQsT0FBTyxHQUFHLE1BQU0sVUFBVSxDQUFDO0FBUTNCLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBYTtJQUNuQyxLQUFLLENBQUMsa0JBQWtCLENBQUMsS0FBYSxFQUFFLGNBQXNCO1FBQzVELEdBQUcsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLEtBQUssS0FBSyxjQUFjLEVBQUUsQ0FBQyxDQUFDO0lBQzlELENBQUM7Q0FDRixDQUFBO0FBRUQsTUFBTSxPQUFPLFlBQVk7SUFLdkI7Ozs7T0FJRztJQUNILFlBQVksRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBRzNDO1FBQ0MsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUMsZUFBZSxDQUFDLEVBQUUsSUFBSSxFQUFFLEdBQUcsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUNwRSxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sRUFBRSxJQUFJLENBQUM7UUFDMUIsTUFBTSxPQUFPLEdBQUcsT0FBTyxPQUFPLEVBQUUsSUFBSSxJQUFJLFFBQVEsQ0FBQyxDQUFDO1lBQ2hELE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxFQUFFLE1BQU0sQ0FBQyxHQUFHLE9BQU8sRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2hELElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxJQUFJLGNBQWMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsa0JBQWtCLENBQUMsS0FBYSxFQUFFLGNBQXNCO1FBQ3RELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUM7WUFDL0IsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsRUFBRSxFQUFFLEtBQUs7WUFDVCxPQUFPLEVBQUUsV0FBVyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2pDLElBQUksRUFBRSwyQkFBMkIsY0FBYyxNQUFNO2dCQUNuRCxnREFBZ0Q7Z0JBQ2hELFdBQVc7Z0JBQ1gsT0FBTyxJQUFJLENBQUMsTUFBTSxPQUFPO1NBQzVCLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiJ9