استخدام نماذج المقاود مع إضافة Trigger Email
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
إذا حدّدت المَعلمة "مجموعة النماذج" أثناء إعداد الإضافة، يمكنك إنشاء نماذج Handlebars وإدارتها لرسائلك الإلكترونية.
بنية مجموعة النماذج
امنح كل مستند معرّفًا يسهل تذكّره واستخدِمه كاسم للنموذج في المستندات التي تكتبها في مجموعة النماذج.
يمكن أن يتضمّن مستند النموذج أيًا من الحقول التالية:
- subject: سلسلة نموذجية لموضوع الرسالة الإلكترونية.
- text: سلسلة نموذجية لمحتوى الرسالة الإلكترونية بنص عادي.
- html: سلسلة نموذجية لمحتوى HTML الخاص بالرسالة الإلكترونية.
- amp: هي سلسلة نموذجية لمحتوى AMP4EMAIL الخاص بالرسالة الإلكترونية.
- المرفقات: مصفوفة من المرفقات تتضمّن سلاسل نماذج كقيم. خيارات Nodemailer المتاحة: سلسلة utf-8، ونوع محتوى مخصّص، وعنوان URL، وسلسلة مشفّرة، ومعرّف موارد موحّد للبيانات، وعقدة 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 }}
إنّ محتوى هذه الصفحة مرخّص بموجب ترخيص Creative Commons Attribution 4.0 ما لم يُنصّ على خلاف ذلك، ونماذج الرموز مرخّصة بموجب ترخيص Apache 2.0. للاطّلاع على التفاصيل، يُرجى مراجعة سياسات موقع Google Developers. إنّ Java هي علامة تجارية مسجَّلة لشركة Oracle و/أو شركائها التابعين.
تاريخ التعديل الأخير: 2025-07-25 (حسب التوقيت العالمي المتفَّق عليه)
[null,null,["تاريخ التعديل الأخير: 2025-07-25 (حسب التوقيت العالمي المتفَّق عليه)"],[],[],null,["\u003cbr /\u003e\n\nIf you specified a \"Templates collection\" parameter during configuration of the\nextension, you can create and manage [Handlebars templates](https://handlebarsjs.com/)\ntemplates for your emails.\n\nTemplate collection structure\n\nGive each document a memorable ID that you use as the *template name* in the\ndocuments you write to your templates collection.\n\nThe template document can include any of the following fields:\n\n- **subject:** A template string for the subject of the email.\n- **text:** A template string for the plaintext content of the email.\n- **html:** A template string for the HTML content of the email.\n- **amp:** A template string for the [AMP4EMAIL](https://amp.dev/documentation/guides-and-tutorials/learn/email-spec/amp-email-format/) content of the email.\n- **attachments:** An array of attachments with template strings as values; [Nodemailer options](https://nodemailer.com/message/attachments/) supported: utf-8 string, custom content type, URL, encoded string, data URI, and pre-generated MIME node (be aware that your email has no access to the cloud server's file system).\n\nAn example template might have an ID of `following` and content like: \n\n {\n subject: \"@{{username}} is now following you!\",\n html: \"Just writing to let you know that \u003ccode\u003e@{{username}}\u003c/code\u003e ({{name}}) is now following you.\",\n attachments: [\n {\n filename: \"{{username}}.jpg\",\n path: \"{{imagePath}}\"\n }\n ]\n }\n\nSend emails using templates\n\nTo deliver email using templates, when adding documents to your mail collection,\ninclude a `template` field with `name` and `data` properties. For example,\nusing our `following` template from above: \n\n admin\n .firestore()\n .collection(\"MAIL_COLLECTION\")\n .add({\n toUids: [\"abc123\"],\n template: {\n name: \"following\",\n data: {\n username: \"ada\",\n name: \"Ada Lovelace\",\n imagePath: \"https://example.com/path/to/file/image-name.jpg\"\n },\n },\n });\n\nTemplate Partials\n\nYou can compose templates using reusable [partials](https://handlebarsjs.com/guide/partials.html)\nby specifying `{partial: true}` in the template document. Each of the standard\ndata fields (`subject`, `html`, `text`, and `amp`) will be defined as a partial\nused only in its own environment. For example, a partial called `footer` might\nhave data like: \n\n {\n partial: true,\n html: \"\u003cp\u003eThis mail was sent by ExampleApp, Inc. \u003ca href='https://example.com/unsubscribe'\u003eUnsubscribe\u003c/a\u003e\u003c/p\u003e\",\n text: \"This mail was sent by ExampleApp, Inc. Unsubscribe here: https://example.com/unsubscribe\"\n }\n\nIn another template, include the partial by referencing its name (document ID): \n\n \u003cp\u003eThis is my main template content, but it will use a common footer.\u003c/p\u003e\n\n {{\u003e footer }}"]]