Sử dụng mẫu Tay cầm cùng với phần mở rộng Email kích hoạt

Nếu bạn đã chỉ định "Bộ sưu tập mẫu" trong quá trình định cấu hình tiện ích, bạn có thể tạo và quản lý Mẫu tay người cho email của bạn.

Cấu trúc bộ sưu tập mẫu

Cung cấp cho mỗi tài liệu một mã nhận dạng dễ nhớ mà bạn sử dụng làm tên mẫu trong tài liệu bạn ghi vào bộ sưu tập mẫu của mình.

Tài liệu mẫu có thể bao gồm bất kỳ trường nào sau đây:

  • subject: Chuỗi mẫu cho tiêu đề của email.
  • text: Một chuỗi mẫu cho nội dung văn bản thuần tuý của email.
  • html: Chuỗi mẫu cho nội dung HTML của email.
  • amp: Chuỗi mẫu cho nội dung AMP4EMAIL của email.
  • tệp đính kèm: Một mảng tệp đính kèm với các chuỗi mẫu dưới dạng giá trị; Các tuỳ chọn của Nodemailer được hỗ trợ: chuỗi utf-8, loại nội dung tuỳ chỉnh, URL, chuỗi mã hoá, URI dữ liệu và nút MIME được tạo trước (xin lưu ý rằng email của bạn không có quyền truy cập vào hệ thống tệp của máy chủ đám mây).

Một mẫu ví dụ có thể có mã nhận dạng là following và nội dung như:

{
  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}}"
    }
  ]
}

Gửi email bằng các mẫu

Để gửi email bằng mẫu, khi thêm tài liệu vào bộ sưu tập thư của bạn, bao gồm trường template có các thuộc tính namedata. Ví dụ: bằng cách sử dụng mẫu following ở trên:

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"
      },
    },
  });

Các phần của mẫu

Bạn có thể soạn mẫu bằng cách sử dụng các phần có thể sử dụng lại bằng cách chỉ định {partial: true} trong tài liệu mẫu. Mỗi quy tắc tiêu chuẩn các trường dữ liệu (subject, html, textamp) sẽ được xác định là một phần chỉ được dùng trong môi trường của riêng nó. Ví dụ: một phần có tên là footer có thể có các dữ liệu như:

{
  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"
}

Trong một mẫu khác, hãy thêm một phần bằng cách tham chiếu đến tên của mẫu đó (mã tài liệu):

<p>This is my main template content, but it will use a common footer.</p>

{{> footer }}