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

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

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

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

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

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

उदाहरण के लिए, किसी टेंप्लेट का आईडी 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}}"
    }
  ]
}

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

टेम्पलेट का इस्तेमाल करके ईमेल डिलीवर करने के लिए, अपने मेल कलेक्शन में दस्तावेज़ जोड़ते समय, template फ़ील्ड में name और data प्रॉपर्टी शामिल करें. उदाहरण के लिए, ऊपर दिए गए 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 }}