שימוש בתבניות כידון באמצעות התוסף Trigger Email (טריגרים באימייל)

אם ציינתם 'אוסף תבניות' במהלך הגדרת התצורה של תוסף זה מאפשר ליצור ולנהל תבניות של סרגלי אחיזה תבניות לאימיילים שלכם.

מבנה אוסף התבניות

מזינים לכל מסמך מזהה שקל לזכור שבו משתמשים כשם התבנית בשדה מסמכים שכתבת באוסף התבניות.

מסמך התבנית יכול לכלול את השדות הבאים:

  • subject: מחרוזת תבנית לנושא האימייל.
  • text: מחרוזת תבנית לתוכן של הטקסט ללא הצפנה של האימייל.
  • html: מחרוזת תבנית לתוכן ה-HTML של האימייל.
  • amp: מחרוזת תבנית לתוכן האימייל AMP4EMAIL.
  • attachments: מערך של קבצים מצורפים עם מחרוזות תבנית כערכים. אפשרויות 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 }}