Об этом проекте
Mailserver Configuration Discovery — это библиотека для Java 21+, предназначенная для поиска опубликованной владельцем домена клиентской конфигурации почтового сервера, аналогично тому, как почтовый клиент обнаруживает настройки при добавлении учётной записи пользователем. Получив домен или адрес электронной почты, она возвращает хосты, порты, типы сокетов и подсказки по аутентификации для IMAP, POP3 и SMTP.
Библиотека поддерживает два метода обнаружения: DNS SRV-записи согласно RFC 6186 и RFC 8314 (`_submission`, `_submissions`, `_imap`, `_imaps`, `_pop3`, `_pop3s`) и XML-документы Mozilla Autoconfig, загружаемые с `https://autoconfig.<domain>/mail/config-v1.1.xml` и `https://<domain>/.well-known/autoconfig/mail/config-v1.1.xml`. Она сообщает только данные, опубликованные самим доменом; она не угадывает имена хостов, не обращается к сторонним базам данных и не подключается к обнаруженным почтовым серверам.
Использование простое: вызовите `MailserverConfigurationDiscovery.discover(...)` с доменом или `EmailAddress`. Построитель контекста позволяет настраивать методы обнаружения, области применения (отправка или приём), DNS-серверы, тайм-ауты, повторные попытки, TCP DNS-запросы, HTTP-тайм-ауты, небезопасный резервный вариант через HTTP и пользовательский исполнитель. Результаты возвращаются в виде набора объектов `MailserverService` с подтипами для SRV-записей и записей Mozilla Autoconfig, которые раскрывают специфичные для метода детали, такие как приоритет, вес, имя пользователя, пароль, методы аутентификации и информация об OAuth2.
Библиотека уделяет внимание безопасности: по умолчанию используется HTTPS, синтаксический анализ XML защищён от XXE, перенаправления ограничены, а получение данных по обычному HTTP включается по выбору. Она ведёт журналирование через SLF4J и предоставляет объяснения на уровне DEBUG, когда поиски игнорируются. К ограничениям относятся отсутствие проверки обнаруженных серверов, неупорядоченные результаты, частичные результаты при сбоях, а также отсутствие поддержки Mozilla ISPDB, резервного варианта на основе MX, Microsoft Autodiscover v2 и предложения DNS TXT `mailconf=`.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.