जब कलेक्शन में कोई दस्तावेज़ जोड़ा जाता है, तो एक्सटेंशन उसे ईमेल डिलीवरी की प्रोसेसिंग के लिए चुनता है. एक्सटेंशन, ईमेल को प्रोसेस करने के लिए दस्तावेज़ में एक delivery
फ़ील्ड बनाता है और अपडेट करता है.
ईमेल डिलीवरी की प्रोसेस
delivery
फ़ील्ड को इन फ़ील्ड से पॉप्युलेट किया जा सकता है:
- state:
PENDING
,PROCESSING
,SUCCESS
याERROR
में से कोई एक. - startTime: ईमेल प्रोसेस होने की शुरुआत का टाइमस्टैंप.
- endTime: ईमेल प्रोसेसिंग पूरी होने का टाइमस्टैंप. इसका मतलब है कि ईमेल की स्थिति
SUCCESS
याERROR
में बदल गई. - गड़बड़ी: अगर ईमेल डिलीवरी में कोई गड़बड़ी हुई है, तो यहां गड़बड़ी का मैसेज दिखेगा.
- attempts: इस ईमेल को डिलीवर करने की कोशिशों की संख्या.
- leaseExpireTime: हैंग या टाइम आउट होने पर, वह समय जब
PROCESSING
स्थिति को गड़बड़ी माना जाना चाहिए. - जानकारी: ईमेल की डिलीवरी (कम से कम एक पते पर) होने के बाद, इस फ़ील्ड में ये फ़ील्ड अपने-आप भर जाएंगे:
- messageId: डिलीवर किए गए ईमेल का मैसेज आईडी.
- accepted: उन ईमेल पतों की सूची जिन पर ईमेल डिलीवर हो गया.
- अस्वीकार किए गए: उन ईमेल पतों की सूची जिन्हें ईमेल नहीं भेजा जा सका.
- pending: ऐसे ईमेल पतों की सूची जिन्हें एसएमटीपी ने कुछ समय के लिए अस्वीकार कर दिया था.
- response: एसएमटीपी सर्वर से मिला आखिरी रिस्पॉन्स.
आम तौर पर, ईमेल PENDING
से PROCESSING
और फिर SUCCESS
या
ERROR
पर जाएगा. SUCCESS
या ERROR
स्टेटस में होने के बाद, दस्तावेज़ में किए गए अन्य बदलावों से, ईमेल भेजने के लिए एक्सटेंशन ट्रिगर नहीं होगा. दस्तावेज़ के अपडेट के साथ किसी ईमेल को फिर से भेजने के लिए, state
को PENDING
या RETRY
में बदला जा सकता है.
मैन्युअल तरीके से फिर से कोशिश करना
ऐसे उदाहरण मिलते हैं जिनमें ईमेल डिलीवरी छोटी सी गड़बड़ी की वजह से आगे नहीं बढ़ पाती है या मामूली सुधारों के साथ डिलीवरी के लिए दस्तावेज़ को मैन्युअल तौर से ठीक किया जा सकता है. ईमेल भेजने की कोशिश अपने-आप नहीं होती. हालांकि, delivery
फ़ील्ड में मौजूद state
को मैन्युअल तरीके से RETRY
में बदला जा सकता है, ताकि एक्सटेंशन ईमेल भेजने की कोशिश फिर से कर सके. साथ ही, attempts
की संख्या भी बढ़ जाएगी.