PHP电子邮件验证IBM电子邮件(全球范围)

问题描述:

我对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

拆分,然后用正则表达式验证。

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

首先要检查一下,就是如果从电子邮件标题得到的电子邮件地址是有效的,即:

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检查,则可以检查电子邮件的字段是否为“通过”。