为什么PHP的FILTER_VALIDATE_EMAIL说我的工作电子邮件地址无效?

时间:2017-09-29 17:32:45

标签: php email

我知道这个电子邮件地址有效,因为我发了邮件给自己。那么为什么这段代码没有按照我的想法去做呢:

$email = 'enquiry_b337575afd6632d06ea58b9b088f35ee6c5682ba5ec768bf3b80c07db2da257d@uat.abc.com';
if (filter_var($email, FILTER_VALIDATE_EMAIL))
{
  print 'is valid';
}
else
{
  print 'is not valid';
}

打印“无效”。但我很确定电子邮件地址是正确的。这可能是太长了,他们检查一些特定的长度?因为我上次检查电子邮件地址的时间长度最多为255个字符。

任何人都知道为什么会这样吗?

更新1

如果我把它缩短到这个:

$email = 'enquiry_b337575afd6632d06ea58b9b088f35ee6c5682ba5ec768bf3b80c07d@uat.abc.com';

然后它有效。所以必须有某种最大长度... ...

1 个答案:

答案 0 :(得分:0)

我在这里找到答案:PHP FILTER_VALIDATE_EMAIL max length

问题是本地部分(@之前的部分)长度可能只有64个字符。尽管它在Centos上工作。 PHP验证函数有自己的检查限制。