MrJazsohanisharma

การตรวจสอบว่าอีเมลว่าจริงหรือปลอม



คุณสามารถใช้ Regular Expression (RegEx) เพื่อตรวจสอบว่าอีเมลที่กรอกเป็นรูปแบบที่ถูกต้องหรือไม่ และใช้ Email Validation API หรือ DNS Lookup เพื่อตรวจสอบว่าอีเมลนั้นมีอยู่จริงหรือไม่


🔹 วิธีที่ 1: ตรวจสอบรูปแบบอีเมลด้วย Regular Expression

javascript
function isValidEmail(email) { const regex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/; return regex.test(email); } // ตัวอย่างการใช้งาน console.log(isValidEmail("test@example.com")); // true console.log(isValidEmail("invalid-email")); // false

✅ วิธีนี้ช่วยตรวจสอบว่าอีเมลมีรูปแบบถูกต้องตามมาตรฐานหรือไม่ แต่ไม่ได้เช็คว่าอีเมลมีอยู่จริงหรือไม่


🔹 วิธีที่ 2: ตรวจสอบว่าอีเมลมีอยู่จริงโดยใช้ Fetch API (ต้องใช้ API ภายนอก)

หากต้องการตรวจสอบว่าอีเมลนั้นมีอยู่จริง สามารถใช้ Email Verification API เช่น Abstract API, Hunter.io หรือ Verifalia (ต้องสมัคร API Key)

javascript
async function verifyEmail(email) { const apiKey = "YOUR_API_KEY"; // ใส่ API Key ของคุณ const url = `https://emailverification.abstractapi.com/v1/?api_key=${apiKey}&email=${email}`; try { const response = await fetch(url); const data = await response.json(); return data.deliverability === "DELIVERABLE"; // คืนค่า true ถ้าอีเมลใช้งานได้ } catch (error) { console.error("Error verifying email:", error); return false; } } // ตัวอย่างการใช้งาน verifyEmail("test@example.com").then(console.log);

✅ วิธีนี้สามารถตรวจสอบว่าอีเมลใช้งานได้จริงหรือไม่ แต่ต้องใช้ API ภายนอก


🔥 สรุปค่าบริการ

ผู้ให้บริการฟรี (Free)เริ่มต้น (เสียเงิน)จำกัดจำนวนคำขอฟรี
Abstract API$9/เดือน100 คำขอ/เดือน
Hunter.io$49/เดือน25 คำขอ/เดือน
Verifalia$9/เดือน25 คำขอ/วัน

📌 ถ้าต้องการใช้งานฟรีมากสุด 👉 ใช้ Abstract API (100 คำขอ/เดือน)
📌 ถ้าต้องการระบบที่เชื่อถือได้ 👉 ใช้ Hunter.io
📌 ถ้าต้องการตรวจสอบอีเมลเป็นชุดใหญ่ 👉 ใช้ Verifalia



🔹 วิธีที่ 3: ตรวจสอบว่าโดเมนอีเมลมีอยู่จริง (DNS Lookup)

javascript
async function checkEmailDomain(email) { const domain = email.split("@")[1]; const url = `https://dns.google/resolve?name=${domain}&type=MX`; try { const response = await fetch(url); const data = await response.json(); return data.Answer && data.Answer.length > 0; // ถ้ามี MX record แสดงว่าโดเมนนั้นมีอยู่จริง } catch (error) { console.error("Error checking domain:", error); return false; } } // ตัวอย่างการใช้งาน checkEmailDomain("test@example.com").then(console.log);

✅ วิธีนี้เช็คว่ามี Mail Server สำหรับโดเมนนั้นหรือไม่ แต่ไม่ได้เช็คว่าอีเมลมีอยู่จริง


🔥 สรุป

วิธีตรวจสอบความแม่นยำต้องใช้ API ไหม?
Regular Expression✅ ตรวจสอบรูปแบบอีเมลเท่านั้น❌ ไม่ต้องใช้ API
Email Verification API✅✅ เช็คว่าอีเมลมีอยู่จริง✅ ต้องใช้ API
DNS Lookup✅ เช็คว่าโดเมนรองรับอีเมลหรือไม่✅ ใช้ DNS API

📌 ถ้าต้องการตรวจสอบอย่างง่าย แค่ใช้ RegEx ก็พอ
📌 ถ้าต้องการตรวจสอบว่ามีอยู่จริง แนะนำให้ใช้ Email Verification API
📌 ถ้าต้องการตรวจสอบว่าโดเมนอีเมลรองรับการส่งอีเมล ใช้ DNS Lookup

แสดงความคิดเห็น (0)
ใหม่กว่า เก่ากว่า