Как проверить, существует ли идентификатор электронной почты?

Как проверить, существует ли идентификатор электронной почты или нет с помощью PHP? и получить информацию о владельце идентификатора электронной почты? можно ли получить информацию о владельце идентификатора электронной почты? нужно ли работать с некоторыми протоколами, такими как POP? Пожалуйста, помогите мне.

Solutions Collecting From Web of "Как проверить, существует ли идентификатор электронной почты?"

Допустим, пользователь отправляет следующий адрес электронной почты:

Проверки, которые вы хотите выполнить, выглядят так:

  • Является ли адрес действительным
  • Домен запускает почтовый сервер / записи MX
  • В черный список

Во-первых, в PHP вы можете проверить электронную почту с помощью filter_var следующим образом:

 $is_valid = filter_var("stackuser@stackoverflow.com",FILTER_VALIDATE_EMAIL); 

Во-вторых, вы захотите проверить, работает ли домен на сервере электронной почты, для этого вы можете проверить записи DNS для MX следующим образом:

 $has_dns_mx_record = checkdnsrr("stackoverflow.com","MX"); 

Вы также можете открыть порт в домене следующим образом:

 $socket = fsockopen("stackoverflow.com", 25); $mail_running = (bool)$socket; fclose($socket); 

Вы также можете проверить, отвечает ли SMTP-сервер 550, то есть электронная почта не существует, например:

 SEND > helo hi 250 stackoverflow.com SEND > mail from: <youremail@yoursite.com> 250 2.1.0 Ok SEND > rcpt to: <stackuser@stackoverflow.com> > 550 5.1.1 <stackuser@stackoverflow.com>: Recipient address rejected: User unknown in local recipient table 

Посмотрев выше, вы можете отправлять команды на действительный smtp-сервер, например helo > mail from <...> и проверить ответ 550.

Взгляните сюда на некоторые коды ответов: http://www.greenend.org.uk/rjk/2000/05/21/smtp-replies.html

Также следует обратить внимание на комментарий @ slebetman, в котором указывается, что небольшой процент почтовых серверов настроен на ответ 550, чтобы предотвратить изнашивание действительных адресов электронной почты.

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

Это некоторые из методов проверки, используемых для проверки адреса электронной почты, теперь существует много методов проверки, но это некоторые из основных.

Нет 100% гарантированного способа узнать, действительно ли адрес электронной почты действителен, не отправляя электронное письмо и не отвечая каким-либо образом пользователю. Есть чеки, которые вы можете сделать, чтобы увеличить вероятность узнать, действительно ли адрес электронной почты действителен или нет. Вы можете выполнить поиск DNS и посмотреть, есть ли в домене запись MX. Существуют также части протокола SMTP, которые вы можете использовать, но ничто не гарантирует, что SMTP-сервер будет отвечать на эти команды. Centralops.net предоставляет продукт, который может помочь, но опять же, он не гарантируется.

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

НТН