我已經要求執行上的Web應用中的一些電子郵件地址驗證 - 我敢肯定,我們都在那裏一千倍......然而,這一次,我被要求做一個MX查看域名以查看它是否接受電子郵件。電子郵件驗證MX查找
有誰知道有這樣做的任何潛在的問題? mx查找是找出域名是否接受電子郵件的可靠方法?是否有任何邊界情況下有效的電子郵件地址可能無法通過MX查找檢查?
感謝您的諮詢!
我已經要求執行上的Web應用中的一些電子郵件地址驗證 - 我敢肯定,我們都在那裏一千倍......然而,這一次,我被要求做一個MX查看域名以查看它是否接受電子郵件。電子郵件驗證MX查找
有誰知道有這樣做的任何潛在的問題? mx查找是找出域名是否接受電子郵件的可靠方法?是否有任何邊界情況下有效的電子郵件地址可能無法通過MX查找檢查?
感謝您的諮詢!
是否有任何邊緣情況下,一個有效的電子郵件地址可能會失敗的MX查找檢查?
是的,在沒有MX記錄的情況下,MTA會回退到使用A記錄。所以只允許MX記錄會使在現實世界中工作的一類郵件服務器失敗。
允許任何名稱與MX 或記錄至少可以檢測到導致NXDOMAIN的明顯錯誤編號。然而,它仍然會允許在寮屋地區結束的錯誤密碼。 A記錄解決的地址的另一個步驟可能是檢查端口25在哪個地址接受連接。
您只能檢查是否存在域註冊的郵件服務器。
如果服務器也接受郵件,如果地址是有效的(不是語法,但在這個意義上,存在着爲它的收件箱等...)發送例如,當你只會發現如何做到這一點在PHP
function mailserver_exists($email) {
list($user,$domain) = split('@',$email);
//included check for 'A' after [comment from bobince][1]
return checkdnsrr($domain,'MX') || checkdnsrr($domain,'A');
}
if(domain_exists('[email protected]')) {...} else {...}
是的,你可以使用'[email protected]'
太註冊電子郵件
樣品。對於checkdnsrr(host, type)
狀態
主機的PHP文件可以是在 點分四組表示法的IP地址或主機名
對於A記錄,不會有其他端口如2525/587/465/2526工作呢?乾杯〜 – lulalala 2014-11-27 02:45:27
@lulalala:爲接受傳入的公共電子郵件,該端口必須始終爲25.端口587和自定義替代方案用於發送郵件。 – bobince 2014-11-30 18:15:20