2014-09-24 77 views
0

我使用這個谷歌類和代碼https://code.google.com/p/php-smtp-email-validation/檢查電子郵件數組,並得到哪些是真實的,哪些不是。無法連接到example.com:25(連接超時)使用smtp

但是我得到一個錯誤:

無法連接到example.com:25(連接超時) 錯誤:無法連接到一個有效的郵件服務器,這個郵箱地址:@ example.com

我沒有發現這樣的事情,我已經有禁用防火牆等..

那麼仍無法正常工作:

Array 
(
    [mx4.hotmail.com] => 5 
    [mx3.hotmail.com] => 5 
    [mx2.hotmail.com] => 5 
    [mx1.hotmail.com] => 5 
    [hotmail.com] => 0 
) 
try mx4.hotmail.com:25 
<<< 
220 BAY004-MC6F11.hotmail.com Sending unsolicited commercial or bulk e-mail to Microsoft's computer network is prohibited. Other restrictions are found at http://privacy.microsoft.com/en-us/anti-spam.mspx. Wed, 24 Sep 2014 10:15:49 -0700 
>>> 
HELO yourdomain.com 
<<< 
250 BAY004-MC6F11.hotmail.com (3.20.0.138) Hello [177.2.47.23] 
>>> 
MAIL FROM: <[email protected]> 
<<< 
250 [email protected] OK 
>>> 
RCPT TO: <[email protected]> 
<<< 
250 [email protected] 
>>> 
RSET 
<<< 
554 Transaction failed 
>>> 
quit 
<<< 

正如我可以看到發件人是好的,即時通訊試圖檢查我的個人電子郵件[email protected],這就是答案... 這段代碼其實很簡單,但我不能讓該「交易」工作

+1

您的ISP可能會阻止它。許多互聯網服務提供商阻止端口25,除了他們的SMTP中繼,以防止他們的客戶發送垃圾郵件。 – Barmar 2014-09-24 17:02:06

+0

您是否正在嘗試使用示例中的電子郵件而不更改它?當然example.com不是一個有效的服務器,或者我誤解了一些東西? – Sal00m 2014-09-24 17:07:04

+0

example.com只是一個'佔位符'。查看http://www.example.com – jeff 2014-09-24 17:09:45

回答

0

示例代碼按預期方式工作,因爲[email protected]雖然具有有效格式,但不是有效的電子郵件地址,因爲example.com不託管郵件服務器。 Google的示例代碼聯繫接收郵件服務器以查看是否存在給定的地址。嘗試將[email protected]替換爲另一個電子郵件地址,例如您自己的地址,然後再次運行代碼。

編輯:有manyposts這說,使用smtp驗證是一個壞主意。它似乎1)不適用於許多smtp服務器和2)使它看起來像你是一個垃圾郵件發送者。我建議只是堅持驗證電子郵件地址是否是正確的格式,並放棄使用SMTP驗證。

+0

是的,經過幾次測試後,這個smtp驗證是「說」,許多有效的電子郵件都不是有效的...我正在尋找一些驗證,如當你寫一封電子郵件到一個無效的地址,如「[email protected]」,該消息回來說它是無效的。我不能只是檢查電子郵件格式是否正確,我需要更多「確定」你知道:c – 2014-09-25 18:59:03

相關問題