41 lines
1.4 KiB
JavaScript
41 lines
1.4 KiB
JavaScript
"use strict";
|
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
};
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.default = emailMxLookup;
|
|
const dns_1 = __importDefault(require("dns"));
|
|
const debug_log_1 = __importDefault(require("../../../utils/logging/debug-log"));
|
|
function emailMxLookup(email, debug) {
|
|
return new Promise((resolve, reject) => {
|
|
if (!email) {
|
|
resolve(false);
|
|
return;
|
|
}
|
|
const domain = email.split("@")[1];
|
|
dns_1.default.resolveMx(domain, (err, addresses) => {
|
|
if (err || !addresses.length) {
|
|
if (debug) {
|
|
(0, debug_log_1.default)({
|
|
log: (err === null || err === void 0 ? void 0 : err.message) || "No MX records found",
|
|
addTime: true,
|
|
label: "Email MX Lookup",
|
|
type: "error",
|
|
});
|
|
}
|
|
resolve(false);
|
|
}
|
|
else {
|
|
if (debug) {
|
|
(0, debug_log_1.default)({
|
|
log: addresses,
|
|
addTime: true,
|
|
label: "MX Records",
|
|
});
|
|
}
|
|
resolve(true);
|
|
}
|
|
});
|
|
});
|
|
}
|