À propos du projet
Mailserver Configuration Discovery est une bibliothèque Java 21+ permettant de rechercher la configuration client de serveur de messagerie publiée par le propriétaire d'un domaine, de la même manière qu'un client de messagerie découvre les paramètres lorsqu'un utilisateur ajoute un compte. À partir d'un domaine ou d'une adresse e-mail, elle renvoie les hôtes, les ports, les types de socket et les indications d'authentification pour IMAP, POP3 et SMTP.
La bibliothèque prend en charge deux méthodes de découverte : les enregistrements DNS SRV conformément aux RFC 6186 et RFC 8314 (`_submission`, `_submissions`, `_imap`, `_imaps`, `_pop3`, `_pop3s`), et les documents XML Mozilla Autoconfig récupérés depuis `https://autoconfig.<domain>/mail/config-v1.1.xml` et `https://<domain>/.well-known/autoconfig/mail/config-v1.1.xml`. Elle ne rapporte que les données publiées par le domaine lui-même ; elle ne devine pas les noms d'hôte, n'interroge pas de bases de données tierces et ne se connecte pas aux serveurs de messagerie découverts.
L'utilisation est simple : appelez `MailserverConfigurationDiscovery.discover(...)` avec un domaine ou une `EmailAddress`. Un constructeur de contexte permet de configurer les méthodes de découverte, les portées (soumission ou réception), les serveurs DNS, les délais d'attente, les nouvelles tentatives, les recherches DNS TCP, les délais d'attente HTTP, le repli HTTP non sécurisé et un exécuteur personnalisé. Les résultats sont renvoyés sous forme d'un ensemble d'objets `MailserverService`, avec des sous-types pour les enregistrements SRV et les entrées Mozilla Autoconfig qui exposent des détails spécifiques à la méthode tels que la priorité, le poids, le nom d'utilisateur, le mot de passe, les méthodes d'authentification et les informations OAuth2.
La bibliothèque est soucieuse de la sécurité : HTTPS est utilisé par défaut, l'analyse XML est renforcée contre les attaques XXE, les redirections sont limitées et la récupération en HTTP simple est facultative. Elle journalise via SLF4J et fournit des explications au niveau DEBUG lorsque des recherches sont ignorées. Les limitations incluent l'absence de vérification des serveurs découverts, des résultats non ordonnés, des résultats partiels en cas d'échec, et l'absence de prise en charge de Mozilla ISPDB, du repli basé sur MX, de Microsoft Autodiscover v2 ou de la proposition DNS TXT `mailconf=`.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.