nodemailer-sequelize-queue
Version:
Queue for mails with nodemailer and cron scheduler
29 lines • 4.17 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const nodemailer_1 = __importDefault(require("nodemailer"));
class Mailer {
constructor(defaults, transport) {
this.transporter = transport
? nodemailer_1.default.createTransport(transport, defaults)
: nodemailer_1.default.createTransport(defaults);
}
async sendMail(message) {
const mailResult = await this.transporter.sendMail(message);
return mailResult;
}
composeMailFromModel(mail) {
const message = {
from: mail.email_from,
to: mail.email_to,
subject: mail.subject,
html: mail.html,
attachments: mail.attachments,
};
return message;
}
}
exports.default = Mailer;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWFpbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL01haWxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDREQUFxRTtBQUlyRSxNQUFxQixNQUFNO0lBR3pCLFlBQVksUUFBYyxFQUFFLFNBQXVCO1FBQ2pELElBQUksQ0FBQyxXQUFXLEdBQUcsU0FBUztZQUMxQixDQUFDLENBQUMsb0JBQVUsQ0FBQyxlQUFlLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQztZQUNqRCxDQUFDLENBQUMsb0JBQVUsQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDMUMsQ0FBQztJQUVELEtBQUssQ0FBQyxRQUFRLENBQUMsT0FBZ0I7UUFDN0IsTUFBTSxVQUFVLEdBQW9CLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUE7UUFFNUUsT0FBTyxVQUFVLENBQUE7SUFDbkIsQ0FBQztJQUNELG9CQUFvQixDQUFDLElBQTRDO1FBQy9ELE1BQU0sT0FBTyxHQUFZO1lBQ3ZCLElBQUksRUFBRSxJQUFJLENBQUMsVUFBVTtZQUNyQixFQUFFLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDakIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3JCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztTQUM5QixDQUFBO1FBQ0QsT0FBTyxPQUFPLENBQUE7SUFDaEIsQ0FBQztDQUNGO0FBeEJELHlCQXdCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBub2RlbWFpbGVyLCB7IFRyYW5zcG9ydGVyLCBTZW50TWVzc2FnZUluZm8gfSBmcm9tICdub2RlbWFpbGVyJ1xuaW1wb3J0IHsgVXJsIH0gZnJvbSAndXJsJ1xuaW1wb3J0IHsgQWRkUXVldWVNb2RlbEF0dHJpYnV0ZXMsIE5zcU1haWxRdWV1ZSB9IGZyb20gJy4vUXVldWVNb2RlbCdcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTWFpbGVyIGltcGxlbWVudHMgSU1haWxlciB7XG4gIHByaXZhdGUgdHJhbnNwb3J0ZXJcblxuICBjb25zdHJ1Y3RvcihkZWZhdWx0cz86IGFueSwgdHJhbnNwb3J0PzogVHJhbnNwb3J0ZXIpIHtcbiAgICB0aGlzLnRyYW5zcG9ydGVyID0gdHJhbnNwb3J0XG4gICAgICA/IG5vZGVtYWlsZXIuY3JlYXRlVHJhbnNwb3J0KHRyYW5zcG9ydCwgZGVmYXVsdHMpXG4gICAgICA6IG5vZGVtYWlsZXIuY3JlYXRlVHJhbnNwb3J0KGRlZmF1bHRzKVxuICB9XG5cbiAgYXN5bmMgc2VuZE1haWwobWVzc2FnZTogTWVzc2FnZSk6IFByb21pc2U8U2VudE1lc3NhZ2VJbmZvPiB7XG4gICAgY29uc3QgbWFpbFJlc3VsdDogU2VudE1lc3NhZ2VJbmZvID0gYXdhaXQgdGhpcy50cmFuc3BvcnRlci5zZW5kTWFpbChtZXNzYWdlKVxuXG4gICAgcmV0dXJuIG1haWxSZXN1bHRcbiAgfVxuICBjb21wb3NlTWFpbEZyb21Nb2RlbChtYWlsOiBOc3FNYWlsUXVldWUgfCBBZGRRdWV1ZU1vZGVsQXR0cmlidXRlcyk6IE1lc3NhZ2Uge1xuICAgIGNvbnN0IG1lc3NhZ2U6IE1lc3NhZ2UgPSB7XG4gICAgICBmcm9tOiBtYWlsLmVtYWlsX2Zyb20sXG4gICAgICB0bzogbWFpbC5lbWFpbF90byxcbiAgICAgIHN1YmplY3Q6IG1haWwuc3ViamVjdCxcbiAgICAgIGh0bWw6IG1haWwuaHRtbCxcbiAgICAgIGF0dGFjaG1lbnRzOiBtYWlsLmF0dGFjaG1lbnRzLFxuICAgIH1cbiAgICByZXR1cm4gbWVzc2FnZVxuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU1haWxlciB7XG4gIHNlbmRNYWlsKG1lc3NhZ2U6IE1lc3NhZ2UpOiBQcm9taXNlPFNlbnRNZXNzYWdlSW5mbz5cbiAgY29tcG9zZU1haWxGcm9tTW9kZWwobWFpbDogTnNxTWFpbFF1ZXVlKTogTWVzc2FnZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEF0dGFjaG1lbnQge1xuICAvKiogZmlsZW5hbWUgdG8gYmUgcmVwb3J0ZWQgYXMgdGhlIG5hbWUgb2YgdGhlIGF0dGFjaGVkIGZpbGUsIHVzZSBvZiB1bmljb2RlIGlzIGFsbG93ZWQuIElmIHlvdSBkbyBub3Qgd2FudCB0byB1c2UgYSBmaWxlbmFtZSwgc2V0IHRoaXMgdmFsdWUgYXMgZmFsc2UsIG90aGVyd2lzZSBhIGZpbGVuYW1lIGlzIGdlbmVyYXRlZCBhdXRvbWF0aWNhbGx5ICovXG4gIGZpbGVuYW1lPzogc3RyaW5nIHwgZmFsc2VcbiAgLyoqIHBhdGggdG8gYSBmaWxlIG9yIGFuIFVSTCAoZGF0YSB1cmlzIGFyZSBhbGxvd2VkIGFzIHdlbGwpIGlmIHlvdSB3YW50IHRvIHN0cmVhbSB0aGUgZmlsZSBpbnN0ZWFkIG9mIGluY2x1ZGluZyBpdCAoYmV0dGVyIGZvciBsYXJnZXIgYXR0YWNobWVudHMpICovXG4gIHBhdGg/OiBzdHJpbmcgfCBVcmxcbiAgdXJsPzogc3RyaW5nIHwgVXJsXG59XG5cbmV4cG9ydCB0eXBlIE1lc3NhZ2UgPSB7XG4gIGZyb206IHN0cmluZ1xuICB0bzogc3RyaW5nXG4gIHN1YmplY3Q6IHN0cmluZ1xuICBodG1sOiBzdHJpbmdcbiAgYXR0YWNobWVudHM/OiBBdHRhY2htZW50W11cbn1cbiJdfQ==