मुझे कौन-सा SMTP पोर्ट इस्तेमाल करना चाहिए?

जब भी किसी एप्लिकेशन को मेल भेजना होता है, चार पोर्ट सामने आते हैं: 25, 465, 587 और 2525।

मुझे कौन-सा SMTP पोर्ट इस्तेमाल करना चाहिए?

जब भी किसी एप्लिकेशन को मेल भेजना होता है, चार पोर्ट सामने आते हैं: 25, 465, 587 और 2525। इनमें से दो, 587 और 465, सबमिशन के मानक हैं, और 465 के बारे में सबसे ज़्यादा दोहराई जाने वाली सलाह 2018 से पुरानी हो चुकी है। पोर्ट 25 सबमिशन के लिए बिल्कुल नहीं है, और 2525 एक प्रचलित परिपाटी है जिसके पीछे कोई मानक नहीं है।

संक्षिप्त उत्तर: STARTTLS के साथ 587 का उपयोग करें। अगर आपका क्लाइंट सीधे TLS कनेक्शन खोलना बेहतर संभालता है, तो 465 का उपयोग करें। अगर आपके नेटवर्क पर कोई चीज़ 587 को ब्लॉक करती है, तो 2525 का उपयोग करें। किसी एप्लिकेशन से मेल सबमिट करने के लिए 25 का उपयोग न करें।

हर पोर्ट असल में क्या करता है?

पोर्ट दो बातों में अलग होते हैं: वे सबमिशन के लिए हैं या रिले के लिए, और कनेक्शन में एन्क्रिप्शन कब शुरू होता है।

  • 25 रिले पोर्ट है। इसी से एक मेल सर्वर दूसरे मेल सर्वर को संदेश सौंपता है। यह प्रमाणित सबमिशन से पहले का है और इसमें न प्रमाणीकरण की अपेक्षा होती है, न एन्क्रिप्शन की।
  • 587 सबमिशन पोर्ट है, जिसे RFC 6409 ने इसी काम के लिए परिभाषित किया है। कनेक्शन प्लेनटेक्स्ट में खुलता है और क्रेडेंशियल भेजे जाने से पहले STARTTLS कमांड से TLS पर अपग्रेड होता है।
  • 465 इम्प्लिसिट-TLS सबमिशन पोर्ट है। पहले TLS हैंडशेक होता है और पूरा SMTP संवाद उसी के अंदर चलता है, इसलिए कुछ भी कभी खुले रूप में नहीं भेजा जाता। लाइब्रेरी आमतौर पर इसे "SSL/TLS" या "SMTPS" नाम देती हैं।
  • 2525 को SMTP के लिए निर्धारित करने वाला कोई मानक नहीं है। प्रदाता इसे उन नेटवर्क के लिए 587 के विकल्प के रूप में देते हैं जो मानक पोर्ट को ब्लॉक करते हैं।

465 और 587 का अंतर इस बात में है कि TLS कब शुरू होता है, न कि वह कितना मज़बूत है। 465 पर कनेक्शन पहले बाइट से एन्क्रिप्टेड होता है। 587 पर वह एक राउंड ट्रिप बाद एन्क्रिप्टेड होता है, और सही ढंग से कॉन्फ़िगर किया गया सर्वर तब तक AUTH अस्वीकार करता है।

क्या पोर्ट 465 डेप्रिकेटेड है?

नहीं, और यह SMTP के बारे में सबसे आम पुरानी पड़ चुकी सलाह है।

इसका इतिहास सचमुच उलझा हुआ है। पोर्ट 465 शुरुआत में TLS पर SMTP के लिए निर्धारित किया गया था, फिर 587 पर STARTTLS वाले तरीके के पक्ष में वापस ले लिया गया, और "465 is deprecated" वाली सलाह यहीं से आती है। वह सलाह कुछ समय तक सही थी। फिर जनवरी 2018 में प्रकाशित RFC 8314 ने मेल सबमिशन के लिए इम्प्लिसिट TLS की सिफ़ारिश की और 465 को submissions सेवा नाम के तहत इसके पोर्ट के रूप में फिर से स्थापित किया।

इसलिए जो पेज बताता है कि 465 अप्रचलित है, वह 2018 से पहले की स्थिति बता रहा है। 465 और 587 दोनों मान्य हैं। वह पोर्ट चुनें जिसे आपका क्लाइंट सबसे साफ़ ढंग से सपोर्ट करता है, और अगर आप प्लेनटेक्स्ट से TLS अपग्रेड पर बिल्कुल निर्भर नहीं रहना चाहते, तो 465 को प्राथमिकता दें।

पोर्ट 25 ब्लॉक क्यों होता है, और मैं इसकी जाँच कैसे करूँ?

कई उपभोक्ता ISP और क्लाउड व होस्टिंग प्रदाता आउटबाउंड पोर्ट 25 को ब्लॉक करते हैं, क्योंकि किसी समझौता की गई मशीन पर बिना प्रमाणीकरण वाले रिले पोर्ट से ही बड़े पैमाने पर स्पैम भेजा जाता है। ब्लॉक हटाया जा सकता है या नहीं, यह इस पर निर्भर करता है कि उसे किसने लगाया है। उपभोक्ता ISP आम तौर पर आवासीय कनेक्शन के लिए इसे नहीं हटाते, जबकि क्लाउड प्रदाताओं की नीतियाँ अलग-अलग होती हैं: कुछ हटाने का अनुरोध स्वीकार करते हैं, और कम से कम एक कोई छूट नहीं देता। किसी भी तरह का अनुमान लगाने के बजाय अपने प्रदाता की प्रकाशित नीति देखें।

आप पोर्ट 25 पर किसी ज्ञात मेल सर्वर से कनेक्शन खोलकर ब्लॉक की पुष्टि कर सकते हैं: देखें कि आपको 220 ग्रीटिंग मिलता है या टाइमआउट। मैन्युअल सत्र से यह सबसे साफ़ दिखता है, और telnet सत्र से SMTP कनेक्शन की जाँच में ऐसे एक सत्र के चरण दिए गए हैं।

अगर पोर्ट 25 ब्लॉक है, तो उसे हल करने की ज़रूरत नहीं है। ऐप्लिकेशन को हर हाल में 587 या 465 पर सबमिट करना चाहिए।

सबमिशन और रिलेइंग में क्या अंतर है?

सबमिशन में कोई मेल क्लाइंट या ऐप्लिकेशन एक नया संदेश उस सर्वर को सौंपता है जिस पर उसने प्रमाणीकरण किया है। रिलेइंग में कोई सर्वर पहले से मौजूद संदेश को उसके गंतव्य की ओर आगे भेजता है।

इसी अंतर से तय होता है कि कौन-सा पोर्ट और कौन-से नियम लागू होंगे। सबमिशन के लिए प्रमाणीकरण ज़रूरी है, इसमें सर्वर बाहर जाते संदेश को ठीक कर सकता है और उस पर हस्ताक्षर कर सकता है, और यह 587 या 465 पर होता है। रिलेइंग सर्वरों के बीच 25 पर होती है, और प्राप्त करने वाले पक्ष के स्पैम और प्रतिष्ठा सिस्टम इसी का मूल्यांकन करते हैं।

अपना मेल भेजने वाला ऐप्लिकेशन हमेशा सबमिशन ही करता है। अगर आप कुछ कॉन्फ़िगर करते समय पोर्ट 25 चुन रहे हैं, तो कॉन्फ़िगरेशन सिस्टम के गलत हिस्से का वर्णन कर रहा है।

Bird कौन-से पोर्ट स्वीकार करता है?

तीन, और पोर्ट 25 जानबूझकर इनमें शामिल नहीं है:

पोर्टएन्क्रिप्शन
465इम्प्लिसिट TLS (SMTPS)
587STARTTLS
2525STARTTLS

587 और 2525 पर STARTTLS चलने तक AUTH अस्वीकार किया जाता है, इसलिए तीनों में से किसी भी पोर्ट पर क्रेडेंशियल कभी खुले रूप में नहीं भेजे जाते। पोर्ट 25 सबमिशन के लिए उपलब्ध नहीं है।

होस्ट आपकी कुंजी के क्षेत्र पर निर्भर करता है, जो कुंजी के प्रीफ़िक्स से पता चलता है: bk_eu1_... कुंजी eu1.smtp.bird.com से भेजती है, और bk_us1_... कुंजी us1.smtp.bird.com से। ऑथेंटिकेशन के लिए अलग SMTP क्रेडेंशियल नहीं, बल्कि आपकी सामान्य API कुंजी इस्तेमाल होती है: यूज़रनेम हूबहू स्ट्रिंग bird है और पासवर्ड कुंजी है।

SMTP से सबमिट किया गया मेल ठीक वैसे ही संभाला जाता है जैसे ईमेल API से भेजा गया मेल, यानी वही डोमेन सत्यापन, DKIM साइनिंग, सप्रेशन हैंडलिंग, ट्रैकिंग और इवेंट। SMTP से ईमेल भेजें में पूरा कनेक्शन संदर्भ है, दो टिप्पणी-सहित सेशन हैं (एक 465 पर और एक 587 व 2525 दोनों के लिए), और प्रति-कुंजी डिफ़ॉल्ट हैं जो भेजे गए मेल को आकार देते हैं।

मैं कैसे पता करूँ कि मेरा क्लाइंट कौन-सा पोर्ट इस्तेमाल कर रहा है?

कहाँ देखना है यह सॉफ़्टवेयर पर निर्भर करता है, लेकिन पैटर्न एक जैसा है:

  • एप्लिकेशन फ़्रेमवर्क इसे मेल कॉन्फ़िगरेशन में रखते हैं, आमतौर पर होस्ट के पास, port या MAIL_PORT सेटिंग के रूप में।
  • कंटेंट-मैनेजमेंट सिस्टम इसे किसी SMTP प्लगइन के सेटिंग पेज पर एन्क्रिप्शन ड्रॉपडाउन के साथ दिखाते हैं। लोग अक्सर इसी ड्रॉपडाउन को गलत सेट करते हैं: "SSL/TLS" का मतलब 465 है और "STARTTLS" का मतलब 587 या 2525 है। दोनों का मेल न बैठने पर कोई उपयोगी त्रुटि नहीं मिलती, बल्कि कनेक्शन अटक जाता है या अस्वीकार हो जाता है।
  • प्रिंटर और स्कैनर जैसे डिवाइस इसे नोटिफ़िकेशन या स्कैन-टू-ईमेल स्क्रीन में रखते हैं।

अगर मेल नहीं जा रहा है और आपको पोर्ट पर शक है, तो एप्लिकेशन कोड बदलने से पहले सीधे कनेक्शन की जाँच करें। मैन्युअल सेशन से पता चलता है कि पोर्ट तक पहुँचा जा सकता है या नहीं, TLS नेगोशिएट होता है या नहीं, और प्रमाणीकरण स्वीकार होता है या नहीं। इससे नेटवर्क ब्लॉक और क्रेडेंशियल की समस्या को अलग पहचाना जा सकता है।

संक्षेप में

  1. जब तक कोई कारण न हो, STARTTLS के साथ 587 इस्तेमाल करें।

    यह RFC 6409 में परिभाषित सबमिशन पोर्ट है, और हर प्रमुख क्लाइंट और लाइब्रेरी इसे सपोर्ट करती है।

  2. पोर्ट 465 अप्रचलित नहीं है।

    इसे एक बार TLS पर SMTP के लिए वापस ले लिया गया था, फिर 2018 में RFC 8314 ने इसे implicit-TLS सबमिशन के लिए अनुशंसित पोर्ट के रूप में फिर से बहाल किया। इसे अप्रचलित बताने वाली सलाह उससे पहले की है।

  3. पोर्ट 25 सर्वर-से-सर्वर रिले के लिए है।

    स्पैम सीमित करने के लिए होस्टिंग प्रोवाइडर और उपभोक्ता ISP आउटबाउंड 25 को ब्लॉक करते हैं, और किसी एप्लिकेशन को इस पोर्ट पर मेल सबमिट नहीं करना चाहिए।

  4. पोर्ट 2525 एक विकल्प है जिसके पीछे कोई मानक नहीं है।

    कोई भी RFC इसे SMTP के लिए निर्धारित नहीं करता। प्रोवाइडर इसे इसलिए देते हैं क्योंकि कुछ नेटवर्क 587 को ब्लॉक करते हैं, और बाकी मामलों में यह 587 की तरह ही काम करता है।

उसी नेटवर्क पर बनाएँ।

एक टेस्ट API key आपको तुरंत मिल जाती है। भुगतान विधि जोड़ने और सेंडर सत्यापित करने पर प्रोडक्शन अनलॉक होता है।

आपका अगला आइडिया। जुड़ने के लिए तैयार।