Używanie szablonów na pasku sterowania z rozszerzeniem E-mail aktywujący

Jeśli została wybrana „kolekcja Szablony” podczas konfiguracji możesz tworzyć szablony funkcji Handlebars i nimi zarządzać szablonów e-maili.

Struktura kolekcji szablonów

Nadaj każdemu dokumentowi łatwy do zapamiętania identyfikator, którego użyjesz jako nazwy szablonu w dokumentów zapisanych w kolekcji szablonów.

Szablon dokumentu może zawierać dowolne z tych pól:

  • subject: ciąg szablonu tematu e-maila.
  • text: ciąg szablonu zawierający zwykły tekst e-maila.
  • html: ciąg szablonu treści HTML e-maila.
  • amp: ciąg szablonu zawartości AMP4EMAIL e-maila.
  • attachments: tablica załączników z ciągami szablonów jako wartościami; Obsługiwane opcje Nodemailer: ciąg znaków utf-8, niestandardowy typ treści, URL, zakodowany ciąg znaków, identyfikator URI danych i wstępnie wygenerowany węzeł MIME (pamiętaj, że Twój adres e-mail nie ma dostępu do systemu plików serwera w chmurze).

Przykładowy szablon może mieć identyfikator following i treści w rodzaju:

{
  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łanie e-maili z użyciem szablonów

Aby dostarczać e-maile przy użyciu szablonów, podczas dodawania dokumentów do kolekcji poczty e-mail uwzględnij pole template z właściwościami name i data. Przykład: przy użyciu powyższego szablonu 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"
      },
    },
  });

Części szablonu

Możesz tworzyć szablony za pomocą części wielokrotnego użytku przez określenie {partial: true} w dokumencie szablonu. Każda ze standardowych pola danych (subject, html, text i amp) zostaną zdefiniowane jako częściowe jest używany wyłącznie w jego własnym środowisku. Na przykład część o nazwie footer może Zawierają one takie dane 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ęść, podając jej nazwę (identyfikator dokumentu):

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

{{> footer }}