2010-12-20 4 views
2

Можно создать дубликат:
How to validate an emailaddress in PHPПроверка адреса электронной почты в 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. PREG матч с проверкой DNS: http://www.soaptray.com/blog/2008/04/validate-email-addresses-using-php/

Моя цель состоит в том, чтобы найти хорошее и твердое решение средний проект, поэтому, когда придет время проверить адрес электронной почты, я точно знаю, что я собираюсь использовать.

Любая обратная связь очень ценится!

-Ryan

+0

'Eregi' устарел. –

ответ

0

Я не думаю, что есть несложное решение, кроме отправки по электронной почте на этот адрес и запрашивает ответ. Регулярные выражения и тому подобное являются болью для реализации должным образом.

Ваше решение будет зависеть от того, насколько ценен этот адрес электронной почты. Вы отправляете информационный бюллетень? Подтверждение продаж? Критическое предупреждение? Некоторое тривиальное регулярное выражение может быть достаточно для первого. Получение какого-то подтверждения было бы ценным для второго. Повторные подтверждения действительности (например, ежемесячные проверки) могут потребоваться для третьего.

0

Вот большая запись в блоге об этом: http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx

Personnally, я обычно использую простой RegExp, который проверку большинства адресов, которые вы найдете в Интернете, поэтому решение в третьем звене является то, что я хотел бы использовать , Но лучшим решением является, я думаю, отправить электронное письмо на указанный адрес (используя простой RegExp перед тем, чтобы предупредить пользователя) со ссылкой для его проверки. Поэтому вы уверены, что это действительный и выделенный адрес.

7

Использовать PHP’s build-in filters для синтаксической проверки и отправить подтверждение по электронной почте для подтверждения намерения.

Смежные вопросы