इस प्रोजेक्ट के बारे में

Mailserver Configuration Discovery एक जावा 21+ लाइब्रेरी है जो किसी डोमेन मालिक द्वारा प्रकाशित मेलसर्वर क्लाइंट कॉन्फ़िगरेशन को खोजने के लिए है, ठीक उसी तरह जैसे कोई मेल क्लाइंट उपयोगकर्ता द्वारा खाता जोड़ने पर सेटिंग्स खोजता है। डोमेन या ईमेल पता दिए जाने पर, यह IMAP, POP3 और SMTP के लिए होस्ट, पोर्ट, सॉकेट प्रकार और प्रमाणीकरण संकेत लौटाती है। लाइब्रेरी दो खोज विधियों का समर्थन करती है: RFC 6186 और RFC 8314 के अनुसार DNS SRV रिकॉर्ड (`_submission`, `_submissions`, `_imap`, `_imaps`, `_pop3`, `_pop3s`), और Mozilla Autoconfig XML दस्तावेज़ जो `https://autoconfig.<domain>/mail/config-v1.1.xml` और `https://<domain>/.well-known/autoconfig/mail/config-v1.1.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=` प्रस्ताव के लिए कोई समर्थन नहीं शामिल है।