Email

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

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

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

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

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

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

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

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

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

SMTP और IMAP की तुलना कैसे होती है?

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

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

SMTP वार्तालाप से विफलता का निदान कैसे करें?

कमांड और उसके बाद आने वाले reply को कैप्चर करें। 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 reply तत्काल स्थायी विफलता के बजाय फिर से प्रयास करने की नीति की माँग करता।

RFC 5321 reply फ़ॉर्मेट को परिभाषित करता है और न्यूमेरिक कोड को मशीन-पठनीय भाग बनाता है:

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 से भेजने के लिए, अपनी key के रीजन के लिए relay होस्ट सेट करें, पोर्ट 465, 587 या 2525 चुनें, और यूज़रनेम bird और अपनी API key से ऑथेंटिकेट करें। SMTP relay गाइड विफल हैंडऑफ़ के लिए कनेक्शन लिमिट और reply-code हैंडलिंग बताती है।

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

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

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

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

मुझे कौन-सा SMTP पोर्ट उपयोग करना चाहिए?

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

संक्षेप में

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

    यह संदेश को क्लाइंट या एप्लिकेशन से अगले मेल सर्वर तक और फिर रिले हॉप्स के ज़रिए प्राप्तकर्ता तक पहुँचाता है।

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

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

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

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

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

    होस्ट, पोर्ट, ऑथेंटिकेशन फ़्लो और SMTP-विशिष्ट ट्रबलशूटिंग विवरण के लिए इसे देखें।

व्यवहार में लाएँ।

इस विषय के लिए डॉक्यूमेंटेशन, गाइड और उदाहरणों के साथ आगे बढ़ें। संसाधन अंग्रेज़ी में हैं।

अभ्यास करें और इम्प्लीमेंटेशन ब्रीफ़ पाएँ

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

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

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