SMTP क्या है, और यह IMAP से कैसे अलग है?

SMTP वह प्रोटोकॉल है जो मेल भेजता और रिले करता है; IMAP किसी मेलबॉक्स से संदेश प्राप्त और सिंक करता है।

ईमेल वर्कफ़्लो में एक भेजने का चरण और एक मेलबॉक्स का चरण होता है। SMTP पहला चरण संभालता है; IMAP दूसरा।

SMTP क्या करता है?

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

यह प्रोटोकॉल तय नहीं करता कि मेलबॉक्स कैसे दिखाया जाए या उपयोगकर्ता ने कौन-से संदेश पढ़े हैं। इसका काम संदेश को भेजना और सर्वरों के बीच ज़िम्मेदारी सौंपना है।

IMAP क्या करता है?

IMAP मेलबॉक्स से संदेश प्राप्त करता है और मेलबॉक्स की स्थिति को सिंक करता है। फ़ोन और लैपटॉप एक जैसे फ़ोल्डर, फ़्लैग और पढ़े जाने की स्थिति दिखा सकते हैं, क्योंकि दोनों सर्वर पर रखी कॉपी के साथ काम करते हैं।

IMAP किसी नए संदेश को डिलीवरी के लिए सबमिट नहीं करता। कोई क्लाइंट जवाब भेजने के लिए SMTP का उपयोग कर सकता है, फिर मेलबॉक्स में जवाबों का थ्रेड पढ़ने के लिए IMAP का उपयोग कर सकता है।

SMTP और IMAP में क्या अंतर है?

प्रश्नSMTPIMAP
मुख्य काममेल भेजना और रिले करनामेलबॉक्स डेटा प्राप्त और सिंक्रनाइज़ करना
दिशाआउटबाउंड, मेल सर्वर या रिले की ओरमेलबॉक्स सर्वर और क्लाइंट के बीच
सर्वर की स्थितिसर्वर अगले हैंडऑफ़ तक संदेश को कतार में रख सकता है; SMTP उपयोगकर्ता का मेलबॉक्स परिभाषित नहीं करतासर्वर मेलबॉक्स की कॉपी, फ़ोल्डर और संदेशों की स्थिति रखता है
सामान्य क्लाइंटभेजने वाला एप्लिकेशन या मेल क्लाइंटइनबॉक्स पढ़ने वाला मेल क्लाइंट
सामान्य पोर्टसबमिशन के लिए 587, इम्प्लिसिट TLS के लिए 465, सर्वर-से-सर्वर रिले के लिए 25सामान्य या STARTTLS के लिए 143, इम्प्लिसिट TLS के लिए 993
ऐप में उपयोगरसीदें, अलर्ट और अन्य संदेश भेजनाकिसी मौजूदा मेलबॉक्स को पढ़ना या प्रोसेस करना

सर्वर-स्थिति का यही अंतर तय करता है कि कौन-सा प्रोटोकॉल चुनना है। SMTP डिलीवरी के दौरान किसी संदेश को कतार में रख सकता है, लेकिन वह मेलबॉक्स स्टोर नहीं है। IMAP सर्वर पर रखे मेलबॉक्स के आसपास बना है, जिस पर क्लाइंट बार-बार लौटते हैं और उसे सिंक करते हैं।

SMTP बातचीत से किसी विफलता का निदान कैसे किया जा सकता है?

कमांड और उसके बाद आने वाले जवाब को रिकॉर्ड करें। SMTP एक क्रमबद्ध बातचीत है: क्लाइंट EHLO, MAIL FROM, RCPT TO और DATA भेजता है, और सर्वर हर चरण का जवाब देता है। जो कमांड विफल होती है, उससे पता चलता है कि समस्या कनेक्शन सेटअप, प्रेषक की स्वीकृति, प्राप्तकर्ता की स्वीकृति या संदेश डेटा में है।

उदाहरण के लिए, यह छोटी बातचीत संदेश के मुख्य भाग तक पहुँचती है:

S: 220 mail.example ESMTP ready
C: EHLO app.example
S: 250-mail.example
C: MAIL FROM:<sender@example>
S: 250 2.1.0 OK
C: RCPT TO:<recipient@example>
S: 550 5.1.1 user unknown

550 जवाब RCPT TO के बाद आया, इसलिए सर्वर ने प्राप्तकर्ता का पता अस्वीकार किया। इससे यह साबित नहीं होता कि नेटवर्क कनेक्शन या प्रेषक की पहचान विफल हुई। इसी चरण पर 4xx जवाब आने पर तुरंत स्थायी विफलता मानने के बजाय फिर से प्रयास की नीति अपनानी होगी।

RFC 5321 जवाब का फ़ॉर्मेट तय करता है और संख्यात्मक कोड को वह हिस्सा बनाता है जिसे मशीन पढ़ सकती है:

An SMTP reply consists of a three digit number (transmitted as three numeric characters) followed by some text unless specified otherwise in this document. The number is for use by automata to determine what state to enter next; the text is for the human user.

निदान में पहला बँटवारा पहले अंक के आधार पर करें:

कोड वर्गअर्थअगला कदम
2xxकमांड पूरी हो गईट्रांज़ैक्शन जारी रखें
3xxसर्वर ने कमांड स्वीकार कर ली है और उसे आगे इनपुट चाहिएअगला हिस्सा भेजें, जैसे DATA के बाद संदेश का मुख्य भाग
4xxअस्थायी विफलतासंदेश की ज़िम्मेदारी अपने पास रखें और सर्वर की स्थिति ठीक होने का समय देकर फिर से प्रयास करें
5xxउस अनुरोध के लिए स्थायी विफलताफिर से प्रयास करने से पहले पता, क्रेडेंशियल या संदेश ठीक करें

कमांड और कोड को साथ में देखें। प्रमाणीकरण के बाद 535 मिलने का मतलब है कि समस्या क्रेडेंशियल या प्रमाणीकरण नीति में है। DATA के बाद 552 मिलने का मतलब आकार सीमा है। कनेक्शन संभालते समय 421 मिलने का मतलब सर्वर या कनेक्शन की अस्थायी सीमा है।

मेरे एप्लिकेशन को किस प्रोटोकॉल की ज़रूरत है?

जब एप्लिकेशन मेल भेजता है, तब SMTP का उपयोग करें। जब वह किसी मौजूदा मेलबॉक्स को पढ़ता और सिंक करता है, तब IMAP का उपयोग करें। जिस एप्लिकेशन को आने वाले मेल प्रोसेस करने हों, वह इनबाउंड ईमेल API का भी उपयोग कर सकता है, जो मेलबॉक्स को बार-बार जाँचे बिना पार्स किए गए संदेश पहुँचाता है।

बाहर जाने वाले मेल के लिए SMTP रिले और HTTP ईमेल API में से चुनें। SMTP उन लाइब्रेरी और सिस्टम के लिए उपयुक्त है जो पहले से यह प्रोटोकॉल समझते हैं। HTTP API उन परिवेशों के लिए उपयुक्त है जहाँ SMTP कनेक्शन खोलना और संभालना असुविधाजनक हो।

Bird से SMTP के ज़रिए भेजने में क्या मदद मिलती है?

Bird के ज़रिए भेजने के लिए अपनी कुंजी के क्षेत्र का रिले होस्ट सेट करें, पोर्ट 465, 587 या 2525 चुनें, और यूज़रनेम bird के साथ अपनी API कुंजी से प्रमाणीकरण करें। SMTP रिले गाइड में कनेक्शन सीमाएँ और विफल हैंडऑफ़ पर रिप्लाई कोड संभालने का तरीका दिया गया है।

क्या मैं ईमेल भेजने के लिए IMAP का उपयोग कर सकता हूँ?

नहीं। IMAP मेलबॉक्स डेटा प्राप्त और सिंक करता है। भेजने के लिए SMTP या HTTP ईमेल API ज़रूरी है।

IMAP और POP3 में क्या अंतर है?

दोनों मेल प्राप्त करते हैं, लेकिन IMAP मेलबॉक्स को सर्वर पर रखता है और सभी क्लाइंट में उसकी स्थिति सिंक करता है। POP3 पारंपरिक रूप से संदेशों को एक ही क्लाइंट पर डाउनलोड करता है, इसलिए वह मेलबॉक्स की वैसी साझा स्थिति नहीं देता।

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

STARTTLS के साथ प्रमाणित सबमिशन के लिए 587 इस्तेमाल करें, या अगर आपका क्लाइंट शुरू से एन्क्रिप्टेड कनेक्शन की अपेक्षा करता है तो 465 इस्तेमाल करें। पोर्ट 25 सर्वर-से-सर्वर रिले के लिए है, और क्लाइंट से सीधे इस्तेमाल करने पर यह अक्सर ब्लॉक रहता है। मुझे कौन-सा SMTP पोर्ट इस्तेमाल करना चाहिए? में पोर्ट और उनकी भूमिकाओं की तुलना दी गई है।

संक्षेप में

  1. SMTP मेल भेजता और रिले करता है।

    यह किसी क्लाइंट या एप्लिकेशन से संदेश को अगले मेल सर्वर तक पहुंचाता है, फिर रिले चरणों से होते हुए प्राप्तकर्ता की ओर ले जाता है।

  2. IMAP मेलबॉक्स को प्राप्त और सिंक करता है।

    इससे क्लाइंट संदेश पढ़ पाते हैं और फ़ोल्डर, फ़्लैग और पढ़े जाने की स्थिति को सर्वर के साथ एक जैसा रख पाते हैं।

  3. रिप्लाई कोड बताते हैं कि आगे क्या करना है।

    2xx कोड का अर्थ है कि कमांड पूरी हो गई, 4xx कोड अस्थायी है, और 5xx कोड पर फिर से प्रयास करने से पहले सुधार करना ज़रूरी है।

  4. Bird की SMTP रिले गाइड भेजने का सेटअप बताती है।

    होस्ट, पोर्ट, ऑथेंटिकेशन प्रक्रिया और SMTP से जुड़ी समस्या-निवारण जानकारी के लिए इसका उपयोग करें।

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

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

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