ใช้เทมเพลตแฮนเดิลกับส่วนขยายอีเมลทริกเกอร์

หากคุณระบุพารามิเตอร์ "คอลเล็กชันเทมเพลต" ระหว่างการกำหนดค่า ส่วนขยาย คุณจะสร้างและจัดการ เทมเพลต Handlebars เทมเพลตสำหรับอีเมลได้

โครงสร้างคอลเล็กชันเทมเพลต

กำหนดรหัสที่จดจำได้ง่ายให้กับเอกสารแต่ละฉบับเพื่อใช้เป็น ชื่อเทมเพลต ในเอกสารที่คุณเขียนลงในคอลเล็กชันเทมเพลต

เอกสารเทมเพลตอาจมีช่องใดช่องหนึ่งต่อไปนี้

  • subject: สตริงเทมเพลตสำหรับเรื่องของอีเมล
  • 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 }}