اگر در طول پیکربندی برنامه افزودنی، پارامتر «مجموعه قالبها» را مشخص کردهاید، میتوانید الگوهای قالبهای Handlebars را برای ایمیلهای خود ایجاد و مدیریت کنید.
ساختار مجموعه الگو
به هر سند یک شناسه به یاد ماندنی بدهید که به عنوان نام الگو در اسنادی که در مجموعه الگوهای خود می نویسید استفاده می کنید.
سند الگو می تواند شامل هر یک از فیلدهای زیر باشد:
- موضوع: یک رشته الگو برای موضوع ایمیل.
- text: یک رشته الگو برای محتوای متن ساده ایمیل.
- html: یک رشته الگو برای محتوای HTML ایمیل.
- amp: یک رشته الگو برای محتوای AMP4EMAIL ایمیل.
- پیوست ها: آرایه ای از پیوست ها با رشته های الگو به عنوان مقادیر. گزینه های Nodemailer پشتیبانی می شوند: رشته utf-8، نوع محتوای سفارشی، URL، رشته رمزگذاری شده، URI داده و گره 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 }}