驗證 Email 通常最簡單的就是判斷 '@', 要再準確一點, 就去判斷一下 DNS 的 MX 有沒有設囉~ 🙂
dig mx DOMAIN_NAME
這樣就可以列出 DOMAIN_NAME 的 MX 是設怎麼樣~
那 PHP 的程式要判斷 MX 有沒有設, 就用 checkdnsrr 的 function 來解決~
程式大概如下:
$email = '123@DOMAIN_NAME';
list(, $mailDomain) = split('@', $email); // 取出 DOMAIN_NAME
var_dump(checkdnsrr($mailDomain, 'MX')); // true => Email 是正確的, 反之則是 false.