Firebase is back at Google I/O on May 10! Register now

Используйте шаблоны Handlebars с расширением Trigger Email

Оптимизируйте свои подборки Сохраняйте и классифицируйте контент в соответствии со своими настройками.

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