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

अगर आपने एक्सटेंशन के कॉन्फ़िगरेशन के दौरान "टेंप्लेट कलेक्शन" पैरामीटर तय किया है, तो अपने ईमेल के लिए हैंडलबार टेंप्लेट टेंप्लेट बनाए और मैनेज किए जा सकते हैं.

टेंप्लेट कलेक्शन का स्ट्रक्चर

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

टेंप्लेट दस्तावेज़ में इनमें से कोई भी फ़ील्ड शामिल हो सकता है:

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

उदाहरण के लिए, टेंप्लेट का आईडी following हो सकता है और इसमें यह कॉन्टेंट हो सकता है:

{
  subject: "@{{username}} is now following you!",
  html: "Just writing to let you know that <code>@{{username}}</code> ({{name}}) is now following you.",
  attachments: [
    {
     filename: "{{username}}.jpg",
     path: "{{imagePath}}"
    }
  ]
}

टेंप्लेट का इस्तेमाल करके ईमेल भेजना

टेंप्लेट का इस्तेमाल करके ईमेल डिलीवर करने के लिए, अपने मेल कलेक्शन में दस्तावेज़ जोड़ते समय, name और data प्रॉपर्टी वाला template फ़ील्ड शामिल करें. उदाहरण के लिए, ऊपर दिए गए following टेंप्लेट का इस्तेमाल करके:

admin
  .firestore()
  .collection("MAIL_COLLECTION")
  .add({
    toUids: ["abc123"],
    template: {
      name: "following",
      data: {
        username: "ada",
        name: "Ada Lovelace",
        imagePath: "https://example.com/path/to/file/image-name.jpg"
      },
    },
  });

टेंप्लेट के पार्शियल

टेंप्लेट दस्तावेज़ में {partial: true} तय करके, फिर से इस्तेमाल किए जा सकने वाले पार्टल का इस्तेमाल करके टेंप्लेट बनाए जा सकते हैं. हर स्टैंडर्ड डेटा फ़ील्ड (subject, html, text, और amp) को आंशिक के तौर पर परिभाषित किया जाएगा. इसका इस्तेमाल सिर्फ़ अपने एनवायरमेंट में किया जाएगा. उदाहरण के लिए, footer नाम के किसी पैरलल में यह डेटा हो सकता है:

{
  partial: true,
  html: "<p>This mail was sent by ExampleApp, Inc. <a href='https://example.com/unsubscribe'>Unsubscribe</a></p>",
  text: "This mail was sent by ExampleApp, Inc. Unsubscribe here: https://example.com/unsubscribe"
}

किसी दूसरे टेंप्लेट में, उसके नाम (दस्तावेज़ आईडी) का रेफ़रंस देकर, उसमें कुछ हिस्से को शामिल करें:

<p>This is my main template content, but it will use a common footer.</p>

{{> footer }}