Nếu bạn đã chỉ định tham số "Bộ sưu tập mẫu" trong khi định cấu hình tiện ích mở rộng, thì bạn có thể tạo và quản lý các mẫu mẫu Tay lái cho email của mình.
Cấu trúc bộ sưu tập mẫu
Cung cấp cho mỗi tài liệu một ID dễ nhớ mà bạn sử dụng làm tên mẫu trong các 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:
- chủ đề: Một chuỗi mẫu cho chủ đề của email.
- văn bản: Một chuỗi mẫu cho nội dung văn bản gốc 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 tùy chọn của Nodemailer được hỗ trợ: chuỗi utf-8, loại nội dung tùy chỉnh, URL, chuỗi được mã hóa, URI dữ liệu và nút MIME được tạo trước (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ó ID 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, hãy bao gồm trường template
có thuộc tính name
và data
. Ví dụ: sử dụng mẫu following
của chúng tôi ở 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"
},
},
});
Phần mẫu
Bạn có thể soạn mẫu bằng cách sử dụng các phần có thể tái sử dụng 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
, text
và amp
) sẽ được xác định là một phần chỉ được sử dụng trong môi trường riêng của nó. Ví dụ: một phần footer
được gọi có thể 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, bao gồm một phần bằng cách tham chiếu tên của nó (ID tài liệu):
<p>This is my main template content, but it will use a common footer.</p>
{{> footer }}