filter_var или настраиваемая функция проверки подлинности электронной почты в php

Какое решение лучше, используя встроенную проверку filter_var('email', FILTER_VALIDATE_EMAIL) или пользовательскую функцию?

Благодаря!

Пользовательская проверка дает вам больше контроля над тем, как далеко вы хотите пойти с этим. Что такое и недействительно, поскольку адрес электронной почты более сложный, чем вы думаете, и большую часть времени лучше быть слишком слабым, чем слишком строгим. В конце концов, синтаксически действительный адрес электронной почты не гарантирует, что учетная запись фактически существует, не говоря уже о том, что она активно используется. Что-то вроде, оно должно содержать одну @, по крайней мере одну точку после @, по крайней мере один символ перед @, и ни один из незаконных символов, вероятно, достаточно хорош в большинстве случаев.

Фильтр var для электронной почты удаляет все символы, кроме букв , цифр и !#$%&'*+-/=?^_`{|}~@.[] . Теперь все зависит от того, хотите ли вы пойти с этой фильтрацией или создать собственное решение.

И вот отличная статья:

Проверка ввода: использование filter_var () над регулярными выражениями

PHP filter_var может быть удовлетворительным для большинства приложений, но если вы хотите сравнить производительность и достоверность, посмотрите на этом сайте http://www.linuxjournal.com/article/9585, чтобы понять, что означает соблюдение RFC 2822.

Вы можете использовать мою бесплатную функцию PHP is_email() для проверки адресов. Он доступен здесь .

Он гарантирует, что адрес полностью совместим с RFC 5321. Он также может дополнительно проверить, действительно ли домен существует.

Вы не должны полагаться на валидатор, чтобы сообщить вам, действительно ли существует адрес электронной почты пользователя: некоторые интернет-провайдеры выдают несовместимые адреса своим пользователям, особенно в странах, которые не используют латинский алфавит. Подробнее в моем эссе о проверке подлинности электронной почты здесь: http://isemail.info/about .

Я нашел это во время Googling, надеюсь, это объясняет вам лучше

http://www.addedbytes.com/code/email-address-validation/