UNPKG

mailex

Version:

Easy Mail Sender

71 lines (70 loc) 2.69 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.Mailex = void 0; const axios_1 = __importDefault(require("axios")); class Mailex { constructor(script) { this.script = ''; this.script = script; } sendMail(mailObj, mailResponse = (res) => { }) { const recipientUrl = mailObj.email.split('@')[1]; if (recipientUrl === "test.com" || recipientUrl === "test.in") { return mailResponse({ status: 'failure', message: 'test domain' }); } const data = new URLSearchParams(); data.append('recipient', mailObj.email); data.append('subject', mailObj.subject); data.append('body', mailObj.content); if (mailObj.cc) data.append('cc', mailObj.cc); if (mailObj.bcc) data.append('bcc', mailObj.bcc); if (mailObj.files) data.append('files', JSON.stringify(mailObj.files)); data.append('isHTML', 'true'); axios_1.default.post(this.script, data) .then((response) => { mailResponse(response.data); }) .catch(error => { console.error('Error:', error.message); mailResponse({ status: 'failure', message: 'Internal server error!', error }); }); } sendMailAsync(mailObj) { return new Promise((resolve, reject) => { const recipientUrl = mailObj.email.split('@')[1]; if (recipientUrl === "test.com" || recipientUrl === "test.in") { return reject({ status: 'failure', message: 'test domain' }); } const data = new URLSearchParams(); data.append('recipient', mailObj.email); data.append('subject', mailObj.subject); data.append('body', mailObj.content); if (mailObj.cc) data.append('cc', mailObj.cc); if (mailObj.bcc) data.append('bcc', mailObj.bcc); if (mailObj.files) data.append('files', JSON.stringify(mailObj.files)); data.append('isHTML', 'true'); axios_1.default.post(this.script, data) .then(response => { if (response.data.status === 'success') { resolve(response.data); } else { reject(response.data); } }) .catch(error => { reject(error); }); }); } } exports.Mailex = Mailex;