Użyj szablonów Handlebars z rozszerzeniem Trigger Email

Jeśli podczas konfiguracji rozszerzenia określiłeś parametr „Kolekcja szablonów”, możesz tworzyć szablony szablonów Handlebars i zarządzać nimi dla swoich wiadomości e-mail.

Struktura kolekcji szablonów

Nadaj każdemu dokumentowi niezapomniany identyfikator, którego używasz jako nazwy szablonu w dokumentach zapisywanych w kolekcji szablonów.

Dokument szablonu może zawierać dowolne z następujących pól:

  • Temat: ciąg znaków szablonu tematu wiadomości e-mail.
  • tekst: Ciąg szablonowy dla zawartości wiadomości e-mail w postaci zwykłego tekstu.
  • html: Ciąg szablonowy dla zawartości HTML wiadomości e-mail.
  • amp: Ciąg szablonowy dla treści AMP4EMAIL wiadomości e-mail.
  • załączniki: tablica załączników z ciągami szablonów jako wartościami; Obsługiwane opcje Nodemailera : ciąg utf-8, niestandardowy typ zawartości, adres URL, zakodowany ciąg, identyfikator URI danych i wstępnie wygenerowany węzeł MIME (pamiętaj, że Twój e-mail nie ma dostępu do systemu plików serwera w chmurze).

Przykładowy szablon może mieć identyfikator following i treść taką jak:

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

Wysyłaj e-maile za pomocą szablonów

Aby dostarczać wiadomości e-mail przy użyciu szablonów, dodając dokumenty do kolekcji poczty, dołącz pole template z właściwościami name i data . Na przykład, używając naszego following szablonu z góry:

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

Części szablonu

Możesz tworzyć szablony, używając części wielokrotnego użytku, określając {partial: true} w dokumencie szablonu. Każde ze standardowych pól danych ( subject , html , text i amp ) zostanie zdefiniowane jako częściowe używane tylko w swoim własnym środowisku. Na przykład część o nazwie footer może zawierać dane takie jak:

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

W innym szablonie uwzględnij część, odwołując się do jej nazwy (identyfikatora dokumentu):

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

{{> footer }}