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

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

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

Gán cho mỗi tài liệu một mã nhận dạng dễ nhớ mà bạn dùng làm tên mẫu trong các tài liệu mà bạn ghi vào bộ sưu tập mẫu.

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 đề email.
  • text: 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 các tệp đính kèm có chuỗi mẫu làm giá trị; các tuỳ chọn 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 sẵn (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ẫu ví dụ có thể có mã nhận dạng là following và nội dung như sau:

{
  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 mẫu

Để phân phối email bằng mẫu, khi thêm tài liệu vào bộ sưu tập thư, hãy thêm trường template có thuộc tính namedata. Ví dụ: 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"
      },
    },
  });

Mẫu một phần

Bạn có thể soạn các mẫu bằng cách sử dụng 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 trường dữ liệu tiêu chuẩn (subject, html, textamp) sẽ được xác định là một phần chỉ được sử dụng trong môi trường của chính trường đó. Ví dụ: một phần được gọi 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 đưa phần này vào bằng cách tham chiếu tên của phần đó (mã tài liệu):

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

{{> footer }}