在PHP中验证电子邮件地址

时间:2010-12-20 21:42:00

标签: php validation email

  

可能重复:
  How to validate an emailaddress in PHP

我想知道每个人在验证电子邮件地址方面做了些什么,以及验证需要多大。

例如,在那些方法中,哪一个是首选的,为什么?

  1. 广泛检查:http://www.linuxjournal.com/article/9585?page=0,3
  2. PHP过滤器:http://php.net/manual/en/filter.filters.validate.php
  3. Eregi:http://www.totallyphp.co.uk/code/validate_an_email_address_using_regular_expressions.htm
  4. 与DNS检查匹配:http://www.soaptray.com/blog/2008/04/validate-email-addresses-using-php/
  5. 我的目标是为普通项目找到一个好的和可靠的解决方案,所以当需要验证电子邮件地址时,我确切知道我将要使用的是什么。

    任何反馈都非常感谢!

    -Ryan

4 个答案:

答案 0 :(得分:7)

使用PHP’s build-in filters进行语法验证并发送验证电子邮件以进行意向确认。

答案 1 :(得分:3)

答案 2 :(得分:0)

除了向该地址发送电子邮件并请求回复之外,我认为这不是一个万无一失的解决方案。 Regexps等很难实现正确

您的解决方案将取决于该电子邮件地址的价值。你在发送时事通讯吗?销售确认?严重警报?一些琐碎的正则表达式解决方案可能足以满足第一个。获得某种确认对于第二种来说是有价值的。第三个可能需要重复确认有效性(例如每月检查)。

答案 3 :(得分:0)

以下是一篇很棒的博客文章:http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx

个人而言,我通常使用一个简单的RegExp来验证您在Internet上找到的大多数地址,因此第三个链接中的解决方案就是我要使用的。 但是,我认为最好的解决方案是使用链接验证它,将电子邮件发送到指定的地址(之前使用简单的RegExp来警告用户)。所以你确定它是一个有效的分配地址。