このプロジェクトについて

Mailserver Configuration Discoveryは、ドメイン所有者が公開しているメールサーバーのクライアント設定を検索するためのJava 21以降向けライブラリです。ユーザーがアカウントを追加する際にメールクライアントが設定を検出する方法と同様に動作します。ドメインまたはメールアドレスを指定すると、IMAP、POP3、SMTPのホスト、ポート、ソケットタイプ、認証ヒントを返します。 このライブラリは2つの検出方法をサポートしています。RFC 6186およびRFC 8314に基づくDNS SRVレコード(`_submission`、`_submissions`、`_imap`、`_imaps`、`_pop3`、`_pop3s`)と、`https://autoconfig.<domain>/mail/config-v1.1.xml`および`https://<domain>/.well-known/autoconfig/mail/config-v1.1.xml`から取得するMozilla Autoconfig XMLドキュメントです。ドメイン自身が公開しているデータのみを報告し、ホスト名の推測、サードパーティデータベースへの問い合わせ、検出したメールサーバーへの接続は行いません。 使用方法は簡単で、ドメインまたは`EmailAddress`を指定して`MailserverConfigurationDiscovery.discover(...)`を呼び出します。コンテキストビルダーを使用すると、検出方法、スコープ(送信または受信)、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=`提案への非対応が含まれます。