2012-06-29 80 views
1

可能重複:
Determining the health/validity of an email addressJava PHP如何檢查電子郵件地址是否立即存在?

如何檢查電子郵件地址是否真實存在使用Java和PHP?當用戶在電子郵件字段中輸入電子郵件地址時,在表單的電子郵件旁邊將顯示其是否有效或存在的電子郵件地址。首先它會檢查它是否使用正確的格式'[email protected]',其次它會檢查電子郵件地址是否真實存在。

+0

你會對[這個問題]的答案感興趣(http://stackoverflow.com/questions/504631/determining-the-health-validity-of-an-email-address?rq=1)。 – Carsten

回答

1

你不能。您只能檢查自己的數據庫,以查看用戶是否已經存在該電子郵件地址。但要檢查它是否真實,您必須發送驗證電子郵件並讓用戶點擊電子郵件中的鏈接。這表明至少有一個人可以收到該電子郵件地址的電子郵件。

1

立即?不可能。如果時間不是重要,您可以隨時嘗試直接與該域的SMTP服務器進行通信。 (你知道,如何通過dns MX記錄找到它,不是嗎?)其中一些會給你一個'用戶不存在'的錯誤,其中一些不會。其中一些會迫使你進入灰名單,所以整個過程可能需要幾秒到15分鐘左右......

問題是:如果你有一個好的驗證碼解決方案,擔心假電子郵件不是我猜的很多問題。

0

同上的西面維瑟和raina77ow評論

此外,由於新規出來不久,允許在域名中外文字符,檢查的電子郵件地址是正確的格式的唯一方法是,它有一個字符後跟@,後面跟一個不是a的字符(現在是3個或更多字符)。或一個空格,然後是一個空格。然後一些更多的字符不屬於空間(包括一個)。

所以[email protected]是確定目前

但新@書。中才有效SOON

+0

顯然我有點落後於時代http://en.wikipedia.org/wiki/Internationalized_domain_name – Waygood

0

沒有簡單的方法來驗證地址存在於一次命中。你可以使用正則表達式來驗證它的正確形式,即使這比第一次看起來更棘手。如果你限制太多,你會發現一些用戶將無法註冊。我會說最好只是進行一些簡單的驗證以確保它有@符號。 爲了實際驗證,大多數網站都會發送帶有激活碼/鏈接的驗證電子郵件。這很簡單,它的工作原理和大多數用戶現在都熟悉這個過程。

相關問題