منصوبے کے بارے میں

میل سرور کنفیگریشن ڈسکوری ایک جاوا 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=` تجویز کے لیے سپورٹ کا نہ ہونا شامل ہیں۔