Проверьте адрес электронной почты (не только синтаксис)

Есть ли в Ubuntu программное обеспечение, которое может проверять адрес электронной почты (а не синтаксис, электронная почта существует или нет). Мне нужно программное обеспечение или скрипт или что-нибудь, чтобы проверить, существует ли адрес электронной почты (не синтаксис электронной почты).

1
задан 23 January 2017 в 14:12

2 ответа

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

Проверка адресов до фактической доставки может быть ненадежной.

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

Проверка того, что доменная часть адреса имеет MX, является хорошей проверкой действительности. Несколько действительных адресов электронной почты могут иметь запись A без записи MX, но большинство этих доменов будут недействительными. Синтаксис пользовательской части адреса может быть проверен. Простая проверка синтаксиса работает в большинстве случаев, особенно если вы ограничиваете только прием частью маршрутизации адреса. Адреса, подобные "Some user" <someuser!host#otherhost@example.com>, сложнее обрабатывать.

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

4
ответ дан 25 May 2018 в 17:25

Чтобы убедиться, что получатель электронной почты действительно существует, вы должны отправить сообщение на сервер, если у вас нет возврата, пользователь существует, иначе вы получите сообщение электронной почты с сообщением об ошибке.

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

Не так много вы можете сделать: (

Существуют сценарии (как вы знаете), которые проверяют синтаксис и заставляют вас дважды проверять его, но истинная проверка приходит в виде письма, отправленного на этот адрес, чтобы проверить, существует ли он и проверить, что пользователь вводил сообщение адрес [.d3]

Ofc вы можете использовать библиотеку, которая проверяет, существует ли сервер (например, проверка libmail), но чтобы проверить, существует ли пользователь, что является другой проблемой.

1
ответ дан 25 May 2018 в 17:25

Другие вопросы по тегам:

Похожие вопросы: