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

Wenn Sie eine „Vorlagensammlung“ angegeben haben während der Konfiguration des kannst du Handlebars-Vorlagen erstellen und verwalten. Vorlagen für Ihre E-Mails.

Struktur der Vorlagensammlung

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

Das Vorlagendokument kann eines der 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 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 kann die ID following und folgende Inhalte 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

Um E-Mails mithilfe von Vorlagen zuzustellen, wenn Sie Ihrer E-Mail-Sammlung Dokumente hinzufügen, Ein template-Feld mit den Attributen name und data einschließen. Beispiel: Verwenden Sie dazu die 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 mit dem Namen footer könnte beispielsweise haben Daten wie:

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