PHP脚本检查电子邮件是否有效而不发送确认

时间:2011-02-28 21:38:30

标签: php email smtp email-validation

我找到了一些这样做的在线服务,我在stackoverflow上发现了这篇文章:

How to check if an email address exists without sending an email?

问题是链接到那里的PHP脚本要求您填充名称服务器和域列表,因此(我认为)仅在您验证已知域上的电子邮件时才有效。我想要一些适用于任何电子邮件的东西(至少很有可能工作)。我找到了一个可以40美元购买的脚本,但我宁愿找到与开源相同的东西。

感谢您的任何建议, 约拿

1 个答案:

答案 0 :(得分:0)

此:

$emailValidation = /(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])/;

if(preg_match($emailValidation, $testEmail)) {
    echo "valid email.";
} else {
    echo "invalid email.";
}

是一个使用良好的电子邮件验证正则表达式,它与PHP兼容。

只需查看电子邮件地址,即可完成。

但请注意,如果没有确认回发,您永远不会知道电子邮件是100%有效。