2010-11-20 194 views
4

我的電子郵件地址www.email.it已被禁用,因爲我很長一段時間沒有使用它。如何知道電子郵件地址是否無效?

現在,當我去一個FB,我得到這個消息:

"Our systems have detected that [email protected] is no longer a valid email. " 

所以我的問題是:

如何,如果郵件是有效的,這些系統可以檢測?

+0

什麼是「一個FB」? – 2010-11-20 23:14:04

+1

@邁克爾 - 我假設FaceBook。 – Oded 2010-11-20 23:16:56

回答

4

您無法檢測郵件是否爲假。您所能做的只是檢測一個字符串是否遵守有效電子郵件地址格式的RFC 5322。除非擁有此服務器,否則您不可能知道這樣的帳戶是否已在目標SMTP服務器上聲明。您可以嘗試發送電子郵件到此地址,並查看遠程SMTP服務器響應的內容。

+0

如果電子郵件地址是假的,當我向此電子郵件地址發送電子郵件時,SMTP服務器應迴應什麼? – xRobot 2010-11-20 23:27:06

+0

嘗試發送郵件到您的禁用帳戶並親自查看。 – JJJ 2010-11-20 23:33:04

+0

好的,但我怎麼能用PHP做這個例子?我通過PHP發送郵件然後呢? – xRobot 2010-11-21 18:33:27

1

有些公司會做什麼(可能還有FB,儘管我不確定)但是會定期發送一封電子郵件給該帳戶,只是爲了查看它是否「實時」 - 他們會要求接收者點擊一個鏈接來證明電子郵件地址仍在使用中。

在收到幾封沒有收到回覆(或者是bounced)的電子郵件後,他們會認爲電子郵件地址爲「已死」。

+0

@Downvoter - 謹慎解釋? – Oded 2010-11-26 10:04:09

2

您無法可靠地確定電子郵件是否有效。假設SMTP服務器實施了VRFY命令,但許多SMTP服務器禁用了此功能,以防止垃圾郵件發送者檢測到有效的電子郵件地址。

此外,即使電子郵件地址尊重RFC 5322有效的電子郵件地址格式,也不表示它是目標服務器上的有效電子郵件地址;許多服務器沒有正確實施這個標準!

您可以做的最好的事情是通過電子郵件中的點擊返回鏈接向該地址發送電子郵件。如果電子郵件地址有效,並且用戶閱讀電子郵件,並且用戶單擊鏈接,則可能是電子郵件地址有效(它可能被截取,從而給您帶來誤判)。

如果電子郵件退回,它可能表示電子郵件地址無效(但也可能是目標服務器關閉,或郵箱已滿,或者誰知道還有什麼)。

正如您所看到的,考慮到它在實際中的運行良好,SMTP非常不可靠。

2

很可能Facebook試圖發送郵件到該地址。他們知道地址是無效的,因爲郵件反彈。

2

或許他們試圖發送電子郵件(如更新EULA),以表示主機,它在無情的方式迴應 - 因此「無效」

SMTP是如何處理之類的愚蠢 - 或不處理 - 「無法傳遞」消息統一,但各種檢測可能「足夠好」(VRFY,檢查自動回覆消息等)工作

2

我很確定FB已經發送給你任何類型的電子郵件,並且因爲您的郵件被刪除或停用.....有您的電子郵件都會退回給他們喜歡的錯誤消息:

No such user 
mailbox unavailable 
etc .. 

使他們能夠知道,並停用您的帳戶

,如果你想知道該錯誤消息只發送一封電子郵件,等待它反彈回你

簡單但方便:)

相關問題