ट्रिगर ईमेल एक्सटेंशन का इस्तेमाल करना

ट्रिगर ईमेल एक्सटेंशन (firestore-send-email) की मदद से, ईमेल अपने-आप भेजा जा सकता है Cloud Firestore कलेक्शन में मौजूद दस्तावेज़ों पर आधारित ईमेल. इसमें कोई दस्तावेज़ जोड़ रहा है कलेक्शन इस एक्सटेंशन को दस्तावेज़ के फ़ील्ड. दस्तावेज़ के टॉप-लेवल फ़ील्ड, ईमेल भेजने वाले का नाम तय करते हैं और पाने वालों के लिए. इसमें to, cc, और bcc विकल्प (साथ काम करने वाले हर यूआईडी) शामिल हैं. कॉन्टेंट बनाने दस्तावेज़ का message फ़ील्ड अन्य ईमेल एलिमेंट के बारे में बताता है, जैसे कि सब्जेक्ट लाइन और ईमेल का मुख्य हिस्सा (सादा टेक्स्ट या एचटीएमएल) शामिल होना चाहिए.

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

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

ईमेल को रेंडर करने के लिए, इस एक्सटेंशन को वैकल्पिक तौर पर भी कॉन्फ़िगर किया जा सकता है. ऐसा करने के लिए, हैंडलबार टेंप्लेट.

इंस्टॉल करने से पहले सेटअप करना

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

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

    ट्रिगर ईमेल एक्सटेंशन इंस्टॉल करते समय, आपको एक एसएमटीपी सर्वर के कनेक्शन और पुष्टि की जानकारी, जो का इस्तेमाल ईमेल भेजने के लिए किया जाता है. आम तौर पर, इसे ईमेल डिलीवरी सेवा देने वाली कंपनी उपलब्ध कराती है जैसे कि Sendgrid, Mailgun या Mailchimp Transactional Email, लेकिन साथ ही, आपके पास खुद ही कोई सर्वर हो.

  2. ईमेल दस्तावेज़ों का कलेक्शन बनाएं.

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

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

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

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

  4. ज़रूरी नहीं: उपयोगकर्ताओं का कलेक्शन सेट अप करें.

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

    • कलेक्शन, यूज़र आईडी पर होना चाहिए. इसका मतलब है कि हर दस्तावेज़ के लिए, कलेक्शन में मौजूद उपयोगकर्ता दस्तावेज़, उपयोगकर्ता का Firebase Authentication यूआईडी होना चाहिए.
    • हर उपयोगकर्ता दस्तावेज़ में उपयोगकर्ता के ईमेल वाला email फ़ील्ड होना चाहिए इससे पहले ही अपने कारोबार के हिसाब से name@yourcompany.com जैसा कोई ईमेल पता बनाएं.
  5. ज़रूरी नहीं: टेंप्लेट का कलेक्शन सेट अप करें.

    हैंडलबार टेंप्लेट का इस्तेमाल करके, ईमेल रेंडर किए जा सकते हैं. ऐसा करने के लिए, आपके पास अपने टेंप्लेट को सेव करने के लिए Cloud Firestore कलेक्शन होना चाहिए.

    ट्रिगर ईमेल एक्सटेंशन के साथ हैंडलबार टेंप्लेट का इस्तेमाल करना लेख पढ़ें देखें.

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

एक्सटेंशन इंस्टॉल करने के लिए, Firebase Extension इंस्टॉल करें करें. खास जानकारी के लिए, इनमें से कोई एक काम करें:

एक्सटेंशन इंस्टॉल करने पर, आपसे अपने एसएमटीपी कनेक्शन की जानकारी और पहले से सेट अप किए गए Cloud Firestore कलेक्शन की जानकारी देने के लिए कहा जाएगा.

एक्सटेंशन का इस्तेमाल करना

इंस्टॉल होने के बाद, यह एक्सटेंशन आपके कॉन्फ़िगर किए गए कलेक्शन में, दस्तावेज़ में किए गए सभी बदलावों पर नज़र रखता है. ईमेल को इसके कॉन्टेंट के आधार पर डिलीवर किया जाता है दस्तावेज़ के फ़ील्ड. सबसे ऊपर के फ़ील्ड, ईमेल भेजने वाले और इसकी जानकारी देते हैं पाने वाले. 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.',
}

ईमेल भेजने वाले और पाने वाले के फ़ील्ड

दस्तावेज़ के टॉप-लेवल फ़ील्ड, ईमेल भेजने वाले और पाने वाले व्यक्ति के बारे में जानकारी देते हैं जानकारी. उपलब्ध फ़ील्ड:

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

ध्यान दें: toUids, ccUids, और bccUids विकल्प इसके हिसाब से ईमेल डिलीवर करते हैं उपयोगकर्ता के यूआईडी, Cloud Firestore दस्तावेज़ में मौजूद ईमेल पतों से जोड़े गए हैं. इस्तेमाल करने के लिए अगर हां, तो आपको नीचे दिए गए विकल्पों के लिए Cloud Firestore कलेक्शन तय करना होगा. एक्सटेंशन का "उपयोगकर्ताओं का संग्रह" पैरामीटर. इसके बाद, एक्सटेंशन हर यूआईडी के लिए email फ़ील्ड की जानकारी, toUids, ccUids, और/या bccUids फ़ील्ड में दी गई है.

मैसेज फ़ील्ड

दस्तावेज़ के message फ़ील्ड में ईमेल. आम तौर पर, इस फ़ील्ड में सिर्फ़ अपने सर्वर या Cloud Functions में चलने वाले भरोसेमंद कोड की जानकारी भरी जानी चाहिए. ज़्यादा जानकारी के लिए, नीचे "सुरक्षा नियम और ईमेल भेजना" सेक्शन देखें.

message फ़ील्ड के लिए ये प्रॉपर्टी उपलब्ध हैं:

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

बेहतर इस्तेमाल के लिए

इस एक्सटेंशन के ज़्यादा बेहतर इस्तेमाल के बारे में जानें: