ट्रिगर ईमेल एक्सटेंशन का उपयोग करना

ट्रिगर ईमेल एक्सटेंशन ( firestore-send-email ) आपको क्लाउड फायरस्टोर संग्रह में दस्तावेजों के आधार पर स्वचालित रूप से ईमेल भेजने की सुविधा देता है। संग्रह में एक दस्तावेज़ जोड़ने से यह एक्सटेंशन दस्तावेज़ के फ़ील्ड से निर्मित एक ईमेल भेजने के लिए ट्रिगर हो जाता है। दस्तावेज़ के शीर्ष-स्तरीय फ़ील्ड ईमेल प्रेषक और प्राप्तकर्ताओं को निर्दिष्ट करते हैं, to , cc , और bcc विकल्प (प्रत्येक सहायक UID) शामिल हैं। दस्तावेज़ का message फ़ील्ड अन्य ईमेल तत्वों को निर्दिष्ट करता है, जैसे विषय पंक्ति और ईमेल बॉडी (या तो सादा पाठ या HTML)।

यहां दस्तावेज़ लिखने का एक बुनियादी उदाहरण दिया गया है जो इस एक्सटेंशन को ट्रिगर करेगा:

admin.firestore().collection('mail').add({
  to: 'someone@example.com',
  message: {
    subject: 'Hello from Firebase!',
    html: 'This is an <code>HTML</code> email body.',
  },
})

आप हैंडलबार टेम्प्लेट का उपयोग करके ईमेल प्रस्तुत करने के लिए इस एक्सटेंशन को वैकल्पिक रूप से कॉन्फ़िगर भी कर सकते हैं।

प्री-इंस्टॉलेशन सेटअप

एक्सटेंशन इंस्टॉल करने से पहले, इन चरणों को पूरा करें:

  1. अपनी आउटगोइंग मेल सेवा सेट करें.

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

  2. एक ईमेल दस्तावेज़ संग्रह बनाएँ.

    ट्रिगर ईमेल एक्सटेंशन आपके द्वारा निर्दिष्ट क्लाउड फायरस्टोर संग्रह में नए दस्तावेज़ों को सुनता है। जब उसे कोई नया दस्तावेज़ मिलता है, तो एक्सटेंशन दस्तावेज़ के फ़ील्ड के आधार पर एक ईमेल भेजता है। आप इस उद्देश्य के लिए किसी भी क्लाउड फायरस्टोर संग्रह का उपयोग कर सकते हैं; इस पृष्ठ के उदाहरण email नामक संग्रह का उपयोग करते हैं।

  3. अपने ईमेल दस्तावेज़ संग्रह के लिए सुरक्षा नियम सेट करें।

    इस एक्सटेंशन का उपयोग सीधे क्लाइंट एप्लिकेशन से ईमेल डिलीवरी को ट्रिगर करने के लिए किया जा सकता है। हालाँकि, आपको संभावित दुरुपयोग से बचने के लिए संग्रह तक ग्राहक की पहुंच को सावधानीपूर्वक नियंत्रित करना चाहिए (आप नहीं चाहते कि उपयोगकर्ता आपकी कंपनी के पते से मनमाने ढंग से ईमेल भेजने में सक्षम हों!)।

    सुरक्षा नियम हर एप्लिकेशन में अलग-अलग होंगे, लेकिन आपको हमेशा यह सुनिश्चित करना चाहिए कि ईमेल केवल इच्छित प्राप्तकर्ताओं को ही भेजे जाएं और फ्री-फ़ॉर्म सामग्री न्यूनतम रखी जाए। टेम्प्लेट यहां मदद कर सकते हैं—आप यह सत्यापित करने के लिए सुरक्षा नियमों का उपयोग कर सकते हैं कि टेम्प्लेट में भरा जा रहा डेटा आपकी अपेक्षाओं से मेल खाता है कि उपयोगकर्ता को क्या ट्रिगर करने की अनुमति दी जानी चाहिए।

  4. वैकल्पिक: उपयोगकर्ता संग्रह सेट करें.

    इस एक्सटेंशन के मूल उपयोग के तहत, आप संदेश दस्तावेज़ के to , cc , और bcc फ़ील्ड में उनके ईमेल पते निर्दिष्ट करके ईमेल के प्राप्तकर्ताओं को निर्दिष्ट करते हैं। वैकल्पिक रूप से, यदि आपके पास क्लाउड फायरस्टोर में उपयोगकर्ता डेटाबेस है, तो आप उपयोगकर्ताओं के यूआईडी का उपयोग करके प्राप्तकर्ताओं को निर्दिष्ट कर सकते हैं। इसे काम करने के लिए, आपके उपयोगकर्ता संग्रह को इन मानदंडों को पूरा करना होगा:

    • संग्रह को उपयोगकर्ता आईडी पर अंकित किया जाना चाहिए। अर्थात्, संग्रह में प्रत्येक उपयोगकर्ता दस्तावेज़ की दस्तावेज़ आईडी उपयोगकर्ता की फ़ायरबेस प्रमाणीकरण यूआईडी होनी चाहिए।
    • प्रत्येक उपयोगकर्ता दस्तावेज़ में एक email फ़ील्ड होनी चाहिए जिसमें उपयोगकर्ता का ईमेल पता शामिल हो।
  5. वैकल्पिक: एक टेम्प्लेट संग्रह सेट करें.

    आप हैंडलबार टेम्प्लेट का उपयोग करके ईमेल प्रस्तुत कर सकते हैं। ऐसा करने के लिए, आपको अपने टेम्पलेट्स को शामिल करने के लिए क्लाउड फायरस्टोर संग्रह की आवश्यकता होगी।

    विवरण के लिए ट्रिगर ईमेल एक्सटेंशन के साथ हैंडलबार टेम्प्लेट का उपयोग करें देखें।

एक्सटेंशन इंस्टॉल करें

एक्सटेंशन इंस्टॉल करने के लिए, फायरबेस एक्सटेंशन इंस्टॉल करें पृष्ठ पर दिए गए चरणों का पालन करें। संक्षेप में, निम्नलिखित में से कोई एक कार्य करें:

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

एक्सटेंशन का उपयोग करें

इंस्टालेशन के बाद, यह एक्सटेंशन आपके द्वारा कॉन्फ़िगर किए गए संग्रह में लिखे गए सभी दस्तावेज़ों की निगरानी करता है। दस्तावेज़ के फ़ील्ड की सामग्री के आधार पर ईमेल वितरित किया जाता है। शीर्ष-स्तरीय फ़ील्ड ईमेल के प्रेषक और प्राप्तकर्ताओं को निर्दिष्ट करते हैं। message फ़ील्ड में ईमेल का मुख्य भाग सहित वितरित किए जाने वाले ईमेल का विवरण शामिल होता है।

उदाहरण: एक ईमेल भेजें

एक साधारण संदेश भेजने के लिए, अपने संदेश संग्रह में एक to के साथ एक दस्तावेज़ और निम्नलिखित सामग्री के साथ एक message फ़ील्ड जोड़ें:

to: ['someone@example.com'],
message: {
  subject: 'Hello from Firebase!',
  text: 'This is the plaintext section of the email body.',
  html: 'This is the <code>HTML</code> section of the email body.',
}

प्रेषक और प्राप्तकर्ता फ़ील्ड

दस्तावेज़ के शीर्ष-स्तरीय फ़ील्ड ईमेल प्रेषक और प्राप्तकर्ता की जानकारी प्रदान करते हैं। उपलब्ध फ़ील्ड हैं:

  • प्रेषक का ईमेल पता। यदि दस्तावेज़ में निर्दिष्ट नहीं है, तो कॉन्फ़िगर किए गए "पते से डिफ़ॉल्ट" पैरामीटर का उपयोग करता है।
  • उत्तर दें: उत्तर-ईमेल पता। यदि दस्तावेज़ में निर्दिष्ट नहीं है, तो कॉन्फ़िगर किए गए "डिफ़ॉल्ट रिप्लाई-टू एड्रेस" पैरामीटर का उपयोग करता है।
  • से: एक एकल प्राप्तकर्ता ईमेल पता या एकाधिक प्राप्तकर्ता ईमेल पते वाली एक सरणी।
  • toUids: प्राप्तकर्ता यूआईडी युक्त एक सरणी।
  • सीसी: एक एकल प्राप्तकर्ता ईमेल पता या एकाधिक प्राप्तकर्ता ईमेल पते वाली एक सरणी।
  • ccUids: CC प्राप्तकर्ता UID युक्त एक सरणी।
  • गुप्त प्रतिलिपि: एक एकल प्राप्तकर्ता ईमेल पता या एकाधिक प्राप्तकर्ता ईमेल पते वाली एक सरणी।
  • bccUids: BCC प्राप्तकर्ता UID युक्त एक सरणी।
  • हेडर: अतिरिक्त हेडर फ़ील्ड का एक ऑब्जेक्ट (उदाहरण के लिए, {"X-Custom-Header": "value", "X-Second-Custom-Header": "value"} )।

ध्यान दें: toUids , ccUids , और bccUids विकल्प क्लाउड फायरस्टोर दस्तावेज़ के भीतर ईमेल पते पर कुंजीबद्ध उपयोगकर्ता यूआईडी के आधार पर ईमेल वितरित करते हैं। इन प्राप्तकर्ता विकल्पों का उपयोग करने के लिए, आपको एक्सटेंशन के "उपयोगकर्ता संग्रह" पैरामीटर के लिए क्लाउड फायरस्टोर संग्रह निर्दिष्ट करना होगा। फिर एक्सटेंशन toUids , ccUids , और/या bccUids फ़ील्ड में निर्दिष्ट प्रत्येक UID के लिए email फ़ील्ड पढ़ सकता है।

संदेश फ़ील्ड

दस्तावेज़ के message फ़ील्ड में ईमेल के लिए कच्ची डिलीवरी जानकारी शामिल है। यह फ़ील्ड आम तौर पर केवल आपके सर्वर या क्लाउड फ़ंक्शंस में चल रहे विश्वसनीय कोड से भरा जाना चाहिए (नीचे "सुरक्षा नियम और ईमेल भेजना" अनुभाग देखें)।

message फ़ील्ड के लिए उपलब्ध गुण हैं:

  • messageId: ईमेल के लिए एक संदेश आईडी हेडर, यदि कोई हो।
  • विषय: ईमेल का विषय.
  • पाठ: ईमेल की सादा पाठ्य सामग्री.
  • html: ईमेल की HTML सामग्री.
  • amp: ईमेल की AMP4EMAIL सामग्री.
  • अनुलग्नक: एक सरणी जिसमें अनुलग्नक शामिल हैं; नोडमेलर विकल्प समर्थित: यूटीएफ -8 स्ट्रिंग, कस्टम सामग्री प्रकार, यूआरएल, एन्कोडेड स्ट्रिंग, डेटा यूआरआई, और प्रीजेनरेटेड एमआईएमई नोड (ध्यान रखें कि आपके ईमेल की क्लाउड सर्वर की फ़ाइल सिस्टम तक कोई पहुंच नहीं है)।

उन्नत उपयोग

इस एक्सटेंशन के अधिक उन्नत उपयोग के बारे में जानें: