2010-08-17 133 views
3

可能重複:
What’s wrong with this RegEx for validating emails?
How to verify if a email address exists?
How to check if an email address exists without sending an email?驗證電子郵件在PHP

我在想,如果有可能,以驗證與PHP的電子郵件地址(W /庫或無)。當我說驗證我不是指正則表達式匹配時,我的意思是驗證電子郵件地址實際上是可以發送電子郵件的有效地址。

+0

其實根據[google](http://www.google.com/search?sourceid=chrome&ie=UTF-8&q=Validate+Email+site:stackoverflow.com)這個問題已經討論了18,300次現場。 – Xeoncross 2010-08-17 04:01:54

+2

在您將問題降低爲重複問題之前,閱讀比標題更多的內容。如果你閱讀這個問題,你會發現他並沒有問及正則表達式。 – 2010-08-17 04:03:42

+0

如果您使用ajax在表單上進行驗證,除了正則表達式驗證之外,還可以檢查電子郵件地址。你可以做的一件簡單的事情是驗證電子郵件地址的域名是否有效。在這種情況下,我認爲這對於電子郵件地址來說是一個足夠好的測試。 – DMin 2010-08-17 04:04:02

回答

2

這是驗證而不是驗證,是的,這是可能的,here是一個教程,顯示你如何去做。

+0

謝謝,這不是充分的證據,但它會適合我在做什麼 – Albinoswordfish 2010-08-17 04:05:58

+0

該文章中的正則表達式*糟糕*。請改用[RFC兼容的驗證器](http://www.dominicsayers.com/isemail/)。 – Charles 2010-08-17 04:06:08

+0

我不會使用正則表達式,但我喜歡使用DNS至少驗證主機名的想法。 – Albinoswordfish 2010-08-17 04:13:48

2

不,您唯一可以真正驗證電子郵件的方法是發送一封包含驗證鏈接的電子郵件。

+1

當然,這可以用PHP完成。 – 2010-08-17 03:56:32

+0

那麼,如果我使用mail()函數並返回false,該怎麼辦? – Albinoswordfish 2010-08-17 03:56:43

+2

這意味着PHP函數失敗。這對於電子郵件地址是否真實存在幾乎沒有提及。 – Whit 2010-08-17 03:59:07