2011-01-25 184 views
0

我對PHP很新穎,如何驗證電子郵件地址以僅擁有IBM域?有效的地址是:PHP電子郵件驗證IBM電子郵件(全球範圍)

[email protected] 
[email protected] 
[email protected] 
[email protected] 

PHP應該能夠接受上述任何一種。

請幫上@

感謝

+1

像往常一樣:你已經嘗試過什麼? – 2011-01-25 23:22:32

+3

你會想看看正則表達式,但我從經驗講,當我告訴你,正則表達式是最好的學習,而不是手動餵養。嘗試http://php.net/manual/en/function.preg-match.php – FatherStorm 2011-01-25 23:24:10

回答

0

拆分,然後用正則表達式驗證。

list($username,$domain) = explode('@',$email); 
if (preg_match('/ibm\.com$/',$domain)) 
{ 
    echo "yup it's ibm."; 
} 
0

首先要檢查一下,就是如果從電子郵件標題得到的電子郵件地址是有效的,即:

John Adams <[email protected]> 
"John Adams" <[email protected]> 
[email protected] 

然後你可以驗證它是否來自IBM域走過來:

if(preg_match('/@([a-z]{2}\.)?ibm.com/i', $emailaddress)) { 
    # email is from an ibm domain 
} 

最後,這是一個難題,請確保電子郵件是從IBM擁有的服務器發送的,因爲即使我可以向您發送一封電子郵件,其中包含「[email protected]」作爲From領域。

您可以列出IBM電子郵件服務器的所有IP地址,然後使用電子郵件的標題字段檢查電子郵件是否源自他們。或者,如果您的服務器進行了SPF檢查,則可以檢查電子郵件的字段是否爲「通過」。