Handlebars-Vorlagen mit der Trigger-E-Mail-Erweiterung verwenden

Wenn Sie bei der Konfiguration der Erweiterung den Parameter „Vorlagensammlung“ angegeben haben, können Sie Handlebars-Vorlagen für Ihre E-Mails erstellen und verwalten.

Struktur der Vorlagensammlung

Geben Sie jedem Dokument eine leicht zu merkende ID, die Sie als Vorlagenname in den Dokumenten verwenden, die Sie in Ihre Vorlagensammlung schreiben.

Das Vorlagendokument kann die folgenden Felder enthalten:

  • subject:Ein Vorlagenstring für den Betreff der E-Mail.
  • text:Ein Vorlagenstring für den Klartextinhalt der E-Mail.
  • html:Ein Vorlagenstring für den HTML-Inhalt der E-Mail.
  • amp:Ein Vorlagenstring für den AMP4EMAIL-Inhalt der E-Mail.
  • attachments: Ein Array von Anhängen mit Vorlagenstrings als Werten. Unterstützte Nodemailer-Optionen: UTF-8-String, benutzerdefinierter Inhaltstyp, URL, codierter String, Daten-URI und vorab generierter MIME-Knoten. Hinweis: Ihre E-Mail hat keinen Zugriff auf das Dateisystem des Cloud-Servers.

Eine Beispielvorlage könnte die ID following und den folgenden Inhalt haben:

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

E-Mails mit Vorlagen senden

Wenn Sie E-Mails mithilfe von Vorlagen senden möchten, fügen Sie Ihrer E-Mail-Sammlung beim Hinzufügen von Dokumenten ein template-Feld mit den Eigenschaften name und data hinzu. Beispiel: Mit der following-Vorlage oben:

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

Vorlagen-Teile

Sie können Vorlagen mit wiederverwendbaren Teilelementen erstellen, indem Sie im Vorlagendokument {partial: true} angeben. Jedes der Standarddatenfelder (subject, html, text und amp) wird als Teil definiert, der nur in der jeweiligen Umgebung verwendet wird. Ein Teil namens footer könnte beispielsweise folgende Daten enthalten:

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

Fügen Sie den Teil in eine andere Vorlage ein, indem Sie auf seinen Namen (Dokument-ID) verweisen:

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

{{> footer }}