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

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

Struktur der Vorlagensammlung

Geben Sie jedem Dokument eine einprägsame ID, die Sie als Vorlagenname in den Dokumenten verwenden, die Sie in Ihre Vorlagensammlung schreiben.

Das Vorlagendokument kann eines der folgenden Felder enthalten:

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

Eine Beispielvorlage könnte die ID following und 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 mit Vorlagen senden möchten, fügen Sie beim Hinzufügen von Dokumenten zu Ihrer E‑Mail-Sammlung ein Feld template mit den Attributen name und data ein. Beispiel mit unserer Vorlage following von 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"
      },
    },
  });

Vorlagenteile

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

{
  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 in einer anderen Vorlage den Teil 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 }}