@node-notifications/transport-mailer
Version:
Mail transport for Notification System
34 lines (33 loc) • 1.13 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.SmtpTransport = void 0;
const core_1 = require("@node-notifications/core");
const nodemailer_1 = __importDefault(require("nodemailer"));
class SmtpTransport extends core_1.AbstractTransport {
constructor(dataProvider, config) {
super(dataProvider);
this.dataProvider = dataProvider;
this.transporter = nodemailer_1.default.createTransport(config.options, config.defaults);
this.transporter.verify().then();
}
async send(data) {
let status;
let response;
try {
response = await this.transporter.sendMail(data);
status = core_1.NotificationStatusEnum.SENT;
}
catch (e) {
response = e;
status = core_1.NotificationStatusEnum.ERROR;
}
return Promise.resolve({
status,
response,
});
}
}
exports.SmtpTransport = SmtpTransport;