"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = verifyEmailSMTP; const net_1 = __importDefault(require("net")); const dns_1 = __importDefault(require("dns")); function verifyEmailSMTP(email) { return new Promise((resolve, reject) => { const domain = email.split("@")[1]; dns_1.default.resolveMx(domain, (err, addresses) => { if (err || !addresses.length) { console.log("Invalid email domain."); return; } const mxServer = addresses[0].exchange; console.log(`Connecting to ${mxServer} to verify email...`); const client = net_1.default.createConnection(25, mxServer); client.on("connect", () => { console.log("Connected to SMTP server."); client.write("HELO example.com\r\n"); client.write(`MAIL FROM: \r\n`); client.write(`RCPT TO: <${email}>\r\n`); }); client.on("data", (data) => { const response = data.toString(); if (response.includes("250")) { console.log("✅ Email exists!"); resolve(true); } else { console.log("❌ Email does not exist."); resolve(false); } client.end(); }); client.on("error", (err) => { console.log("SMTP verification failed:", err.message); resolve(false); }); }); }); }