2011-05-30 162 views
0

PS:我不是垃圾郵件發送者和沒有我的應用程序。PHP/Ruby on Rails的SMTP電子郵件驗證或檢查郵件交付或不

我有一個數以千計的電子郵件地址的列表,我想測試它的天氣有效的電子郵件地址或不使用SMTP。

我得到了一些代碼http://code.google.com/p/php-smtp-email-validation/,但我懷疑這會阻止/ blaklist我的IP /服務器。

我已經檢查了一堆關於stackoverflow的相關問題。但是沒有人爲此提供適當的解決方案。因爲有很多公司提供這些服務。他們如何管理這些東西?

我願意像蟒蛇等其他平臺

編輯

我能理解有不檢測郵件的確切方式傳送出去與否。但有一些50-90%的概率是否有任何方法可以檢查郵件是否已經在rails上交付。

+0

您嘗試使用的課程無法正常工作。許多郵件服務器仍然使用灰名單,其中前幾個發送嘗試導致錯誤代碼(您必須運行2到3次,暫停以獲得明智的結果)。不能說任何關於黑名單的概率。 – mario 2011-05-30 12:14:16

+0

@mario那麼最新的解決方案.. – 2011-05-30 12:17:48

回答

0

這是不可能的。在這個宇宙中,現在絕對有辦法可以知道消息已經傳遞或沒有傳遞。

一些協議,如X400努力給予交貨單, 不幸的是總有一些情況下,當他們失敗。

因此,SMTP等Internet協議甚至不嘗試。他們 盡最大努力使其工作,但提供不保證,並且最重要的是,他們不保證任何反饋。

發送消息時,涉及到很多實體。你,你的UA,你的MTA,可能是一些中介MTA,收件人MTA, 收件人UA,收件人。那麼,不完全是。有 是你方有多個郵箱的機會,他 使用Web服務來收集電子郵件從他的幾箱收集 成一個單一的UA,所以它可能是這樣的:你,你的UA,您的MTA, 可能是一些中介MTA,收件人MTA,收藏者UA,收藏者MTA ,實際收件人MTA,實際收件人UA,收件人 。在這些實體的每一個之間,可能有一些積極或消極的承認水平。但就是這些。 實體N將知道該消息已被實體N + 1接收,鏈接爲 ,但隨後通信被關閉,並且它不會知道什麼是 發生,以及在實體N + 1和N + 2之間何時發生。如果有一個 問題有些運氣,MTA可能會向 發件人發送錯誤消息,但由於SPAM 和病毒,這不一定會做太多。嗯,最終,你的信息可能會到達最終收件人的UA。 在那裏,可能會做出一些事情來通知它已經收到, 或甚至可能顯示,在消息中帶有一些非標準化標題 的裝置。某些UA可以輕鬆配置以插入這些標頭,並遵守或不遵守。隱私和垃圾郵件/病毒savil 用戶將不會激活此功能(它允許地址收集到 很容易驗證一個電子郵件地址轉售給垃圾郵件發送者),所以 你會得到一個實際答案的概率將非常低 (除非你正在發送電子郵件到dumbasses)。

但即使此功能已激活並且運行良好,您收到由收件人的UA發送的消息告訴您 您的電子郵件已顯示的消息的事實並不能證明任何事實。值得注意的是, 並不能證明你的郵件已經被收件人查看過,更不用說他已經閱讀過了,更不用說他已經理解了!

總之,您可以在技術上確定您的消息已發送到鏈中的第一個實體 。就這樣。從那裏 上,玩它會被接收,閱讀和理解。

如果您想確定郵件是否已發送,您必須 使用更高級別的協議。舉例來說,如果你問 電子郵件期待一個答案A1或A2回答一個問題,你有四個 可能性:

  • 你得到答案A1。 您可以假定郵件已發送並閱讀。 但它被理解了嗎?真的A1是收件人發送的答案嗎?

  • 你會得到答案A2。 您可以假定郵件已發送並閱讀。 但它被理解了嗎?真的是A2接收者要發送的答案嗎?

  • 你得到一個答案A3。 您可以假設郵件已發送,閱讀並且無法理解。

  • 你在某些延遲中沒有得到答案。 你不能承擔任何事情。嘗試發送另一封電子郵件,引出答案。 如果你仍然沒有得到實際通信的確認 嘗試給收件人打電話。或親自見面。或者打在他面前 。如果你仍然沒有得到任何答案,你可以考慮你的 收件人昏迷或死亡,並假設該消息不通過。(有人認爲值得與昏迷中的某人 聯繫,但我相信這只是刺激他們的大腦纔好,你不能期望答案,他們不會開始回答你的積壓討論,當他們甦醒)。

0

作爲SMTP事務的一部分,發送SMTP服務器會發出RCPT命令指示的消息應交付的電子郵件地址。如果指定的收件人是已知的不是一個遞送地址

一個SMTP服務器可與代碼550在該點做出響應。這隻適用於接收處理已知有限收件人列表的SMTP服務器。

如果爲給定域設置了「全部收件人」地址,這樣無論給定地址是否存在電子郵件帳戶,都將接受*@example.com,您永遠無法驗證給定的地址實際上是有效的。

因此,沒有辦法一致驗證使用SMTP的電子郵件地址的有效性。您可能能夠驗證某些電子郵件地址是否無效;你永遠不能認爲缺乏無效意味着有效性。

+0

那麼噸提供這種服務的電子郵件營銷公司呢?他們到底在做什麼? – 2011-05-30 12:22:07