Если вы указали параметр «Коллекция шаблонов» при настройке расширения, вы можете создавать и управлять шаблонами шаблонов 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 }}