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:
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-Partials
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 }}