PHP电子邮件验证IBM电子邮件(全球范围)
问题描述:
我对PHP很新颖,如何验证电子邮件地址以仅拥有IBM域?有效的地址是:PHP电子邮件验证IBM电子邮件(全球范围)
[email protected]
[email protected]
[email protected]
[email protected]
PHP应该能够接受上述任何一种。
请帮上@
感谢
答
拆分,然后用正则表达式验证。
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检查,则可以检查电子邮件的字段是否为“通过”。
像往常一样:你已经尝试过什么? – 2011-01-25 23:22:32
你会想看看正则表达式,但我从经验讲,当我告诉你,正则表达式是最好的学习,而不是手动喂养。尝试http://php.net/manual/en/function.preg-match.php – FatherStorm 2011-01-25 23:24:10