Handlebars-Vorlagen mit der Trigger-E-Mail-Erweiterung verwenden
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Wenn Sie beim Konfigurieren der Erweiterung den Parameter „Templates collection“ angegeben haben, können Sie Handlebars-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 die folgenden Felder enthalten:
subject:Eine Vorlagenzeichenfolge 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 die AMP4EMAIL-Inhalte der E‑Mail.
attachments:Ein Array von Anhängen mit Vorlagenstrings als Werten. Nodemailer-Optionen werden unterstützt: UTF-8-String, benutzerdefinierter Inhaltstyp, URL, codierter String, Daten-URI und vorgefertigter 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 mithilfe von Vorlagen senden möchten, fügen Sie beim Hinzufügen von Dokumenten zu Ihrer E-Mail-Sammlung das Feld template mit den Attributen name und data ein. Beispiel mit der following-Vorlage von oben:
Sie können Vorlagen mithilfe von wiederverwendbaren Partials erstellen, indem Sie {partial: true} im Vorlagendokument angeben. Jedes der Standarddatenfelder (subject, html, text und amp) wird als Teilmenge definiert, die nur in der eigenen Umgebung verwendet wird. Ein Beispiel für ein Teil namens footer mit Daten:
{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 das Teil in eine andere Vorlage ein, indem Sie auf den Namen (Dokument-ID) verweisen:
<p>This is my main template content, but it will use a common footer.</p>
{{> footer }}
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Benötigte Informationen nicht gefunden","missingTheInformationINeed","thumb-down"],["Zu umständlich/zu viele Schritte","tooComplicatedTooManySteps","thumb-down"],["Nicht mehr aktuell","outOfDate","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Problem mit Beispielen/Code","samplesCodeIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-07-25 (UTC)."],[],[],null,["\u003cbr /\u003e\n\nIf you specified a \"Templates collection\" parameter during configuration of the\nextension, you can create and manage [Handlebars templates](https://handlebarsjs.com/)\ntemplates for your emails.\n\nTemplate collection structure\n\nGive each document a memorable ID that you use as the *template name* in the\ndocuments you write to your templates collection.\n\nThe template document can include any of the following fields:\n\n- **subject:** A template string for the subject of the email.\n- **text:** A template string for the plaintext content of the email.\n- **html:** A template string for the HTML content of the email.\n- **amp:** A template string for the [AMP4EMAIL](https://amp.dev/documentation/guides-and-tutorials/learn/email-spec/amp-email-format/) content of the email.\n- **attachments:** An array of attachments with template strings as values; [Nodemailer options](https://nodemailer.com/message/attachments/) supported: utf-8 string, custom content type, URL, encoded string, data URI, and pre-generated MIME node (be aware that your email has no access to the cloud server's file system).\n\nAn example template might have an ID of `following` and content like: \n\n {\n subject: \"@{{username}} is now following you!\",\n html: \"Just writing to let you know that \u003ccode\u003e@{{username}}\u003c/code\u003e ({{name}}) is now following you.\",\n attachments: [\n {\n filename: \"{{username}}.jpg\",\n path: \"{{imagePath}}\"\n }\n ]\n }\n\nSend emails using templates\n\nTo deliver email using templates, when adding documents to your mail collection,\ninclude a `template` field with `name` and `data` properties. For example,\nusing our `following` template from above: \n\n admin\n .firestore()\n .collection(\"MAIL_COLLECTION\")\n .add({\n toUids: [\"abc123\"],\n template: {\n name: \"following\",\n data: {\n username: \"ada\",\n name: \"Ada Lovelace\",\n imagePath: \"https://example.com/path/to/file/image-name.jpg\"\n },\n },\n });\n\nTemplate Partials\n\nYou can compose templates using reusable [partials](https://handlebarsjs.com/guide/partials.html)\nby specifying `{partial: true}` in the template document. Each of the standard\ndata fields (`subject`, `html`, `text`, and `amp`) will be defined as a partial\nused only in its own environment. For example, a partial called `footer` might\nhave data like: \n\n {\n partial: true,\n html: \"\u003cp\u003eThis mail was sent by ExampleApp, Inc. \u003ca href='https://example.com/unsubscribe'\u003eUnsubscribe\u003c/a\u003e\u003c/p\u003e\",\n text: \"This mail was sent by ExampleApp, Inc. Unsubscribe here: https://example.com/unsubscribe\"\n }\n\nIn another template, include the partial by referencing its name (document ID): \n\n \u003cp\u003eThis is my main template content, but it will use a common footer.\u003c/p\u003e\n\n {{\u003e footer }}"]]