استخدام نماذج المقاود مع إضافة Trigger Email

إذا حدّدت مَعلمة "مجموعة النماذج" أثناء ضبط الإضافة، يمكنك إنشاء نماذج نماذج Handlebars النماذج وإدارتها لرسائلك الإلكترونية.

بنية مجموعة النماذج

امنح كل مستند معرّفًا يسهل تذكره ويمكنك استخدامه كاسم النموذج في المستندات التي تكتبها في مجموعة النماذج.

يمكن أن يتضمّن مستند النموذج أيًا من الحقول التالية:

  • subject: سلسلة نموذج لموضوع الرسالة الإلكترونية.
  • text: سلسلة نموذج لمحتوى النص العادي للرسالة الإلكترونية.
  • html: سلسلة نموذج لمحتوى HTML للرسالة الإلكترونية.
  • amp: سلسلة نموذج لمحتوى AMP4EMAIL في الرسالة الإلكترونية.
  • attachments: صفيف من المرفقات مع سلاسل النماذج كقيم. خيارات 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} في مستند النموذج. سيتم تعريف كلّ من حقول data العادية (subject وhtml وtext وamp) على أنّه ملف data جزئي لا يتم استخدامه إلا في بيئته الخاصة. على سبيل المثال، قد يحتوي القسم الجزئي الذي يُسمى 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 }}