Проверка электронной почты с использованием MX - PullRequest
2 голосов
/ 18 ноября 2010

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

Поэтому перенесены с проверкой атрибутов MX и A (поскольку нам не разрешено отправлять письма-подтверждения напрямую):

DirContext ictx = new InitialDirContext(); Attributes attrs = ictx.getAttributes("gmail.com", new String[] {"MX"});

Я получаю результаты, но не уверен, как здесь работает поиск DNS (полный фон запроса и ответа, т. Е. Как запрос пересылается на сервер обмена почтой итакже какой порт используется для связи с сервером Mail Exchange)

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

Производственная среда: Weblogic Server в ОС Solaris.

Аналогичное предположение при Проверка электронной почты MX Lookup , но недостаточно подробных данных

1 Ответ

1 голос
/ 18 ноября 2010

Похоже, вы путаете два разных метода:

1) Выполните поиск DNS, чтобы убедиться, что для домена существует запись MX.Это исключит все адреса электронной почты на поддельных (то есть, не зарегистрированных) доменах.Однако обратите внимание, что наличие записи MX не является обязательным требованием для законного приема почты.В отсутствие записи MX почтовое программное обеспечение просто использует запись A для базового домена.

2) Установите TCP-соединение с почтовым сервером получателя, чтобы узнать, прослушивает ли что-либо.Это всегда порт 25. Вам не нужно отправлять тестовое сообщение, вы можете просто подключиться к порту и сразу же отключиться.Успешное соединение подразумевает действительный адрес электронной почты.(Или, по крайней мере, действительный домен, который вы можете проверить.)

...