2016-01-02 7 views
1

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

Но это, похоже, не соответствует его назначению.

Например:

  1. Ввод в работу и законный адрес электронной почты, таких как [email protected]
  2. Ввод поддельный/случайный адрес электронной почты, такие как ABCD @ something.com

Оба приняты в поле как действительные.

Итак, есть ли способ определить, существует или нет указанный адрес электронной почты в реальном времени, с использованием PHP (или любого другого) без отправки пользователю электронной почты click-to-confirm?

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

Любая помощь была бы принята с благодарностью. :)

+3

Возможный дубликат [Как проверить, существует ли почтовый адрес без отправки электронной почты?] (Http://stackoverflow.com/questions/565504/how-to-check-if-an-email-address-exists- без отправки по электронной почте) –

+1

http://superuser.com/a/224020 –

+1

Если бы кто-нибудь мог проверить, существует ли адрес электронной почты, что бы сделать жизнь спамеров очень простой. Задайте себе вопрос * почему * наличие действительного адреса электронной почты в этот момент является настолько критическим, и способы решения этой конкретной потребности. – ardila

ответ

1

Нет, надежно проверить, действительно ли существует адрес электронной почты, отправив фактическое электронное письмо. Все, что вы можете сделать самостоятельно - это проверить синтаксис адреса электронной почты и проверить наличие доменного имени.

Для проверки синтаксиса адреса электронной почты:

filter_var($email, FILTER_VALIDATE_EMAIL) 

Для проверки записей A и MX:

checkdnsrr($domain,"MX") || checkdnsrr($domain,"A") 

Следующий шаг для отправки фактической электронной почты с URL подтверждения или код подтверждения.

+0

Да, до сих пор я отправлял почтовый адрес _confirmation URL_ type, но пользователю это не нравится, потому что каждый раз, когда им нужно начинать чат, им нужно ждать почты и проверять, что несколько как неудобство. –

+1

@SnazzySanoj да, это неудобство, но вокруг не существует реального пути. Кроме того, каждый пользователь должен делать это только один раз за каждый уникальный адрес электронной почты. –

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