mailex
Version:
Easy Mail Sender
59 lines (58 loc) • 2.21 kB
JavaScript
;
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 mailID' });
}
const data = new URLSearchParams();
data.append('recipient', mailObj.email);
data.append('subject', mailObj.subject);
data.append('body', mailObj.content);
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 mailID' });
}
const data = new URLSearchParams();
data.append('recipient', mailObj.email);
data.append('subject', mailObj.subject);
data.append('body', mailObj.content);
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;