अगर आपने एक्सटेंशन को कॉन्फ़िगर करते समय, "टेंप्लेट कलेक्शन" पैरामीटर तय किया है, तो अपने ईमेल के लिए Handlebars टेंप्लेट टेंप्लेट बनाए और मैनेज किए जा सकते हैं.
टेंप्लेट कलेक्शन का स्ट्रक्चर
हर दस्तावेज़ को एक ऐसा आईडी दें जिसे याद रखा जा सके. इसका इस्तेमाल, टेंप्लेट कलेक्शन के लिए लिखे जाने वाले दस्तावेज़ों में टेंप्लेट के नाम के तौर पर किया जाता है.
टेंप्लेट दस्तावेज़ में इनमें से कोई भी फ़ील्ड शामिल हो सकता है:
- विषय: ईमेल के विषय के लिए टेंप्लेट स्ट्रिंग.
- टेक्स्ट: ईमेल के सादा टेक्स्ट के लिए टेंप्लेट स्ट्रिंग.
- एचटीएमएल: ईमेल के एचटीएमएल कॉन्टेंट के लिए टेंप्लेट स्ट्रिंग.
- एएमपी: ईमेल के AMP4EMAIL कॉन्टेंट के लिए टेंप्लेट स्ट्रिंग.
- अटैचमेंट: टेंप्लेट स्ट्रिंग को वैल्यू के तौर पर इस्तेमाल करने वाले अटैचमेंट का कलेक्शन. 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 }}