প্রকল্প সম্পর্কে
Mailserver Configuration Discovery হল একটি জাভা ২১+ লাইব্রেরি, যা কোনো ডোমেইন মালিক প্রকাশিত মেইল সার্ভার ক্লায়েন্ট কনফিগারেশন খোঁজার জন্য ব্যবহৃত হয়—ঠিক যেমনভাবে কোনো মেইল ক্লায়েন্ট ব্যবহারকারী অ্যাকাউন্ট যোগ করার সময় সেটিংস আবিষ্কার করে। একটি ডোমেইন বা ইমেইল ঠিকানা দেওয়া হলে এটি IMAP, POP3 এবং SMTP-এর জন্য হোস্ট, পোর্ট, সকেট টাইপ এবং অথেনটিকেশন ইঙ্গিত প্রদান করে।
লাইব্রেরিটি দুটি আবিষ্কার পদ্ধতি সমর্থন করে: 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=` প্রস্তাবনার জন্য কোনো সমর্থন না থাকা।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.