Jeśli podczas konfiguracji rozszerzenia określiłeś parametr „Kolekcja szablonów”, możesz tworzyć szablony szablonów Handlebars i zarządzać nimi dla swoich wiadomości e-mail.
Struktura kolekcji szablonów
Nadaj każdemu dokumentowi niezapomniany identyfikator, którego używasz jako nazwy szablonu w dokumentach zapisywanych w kolekcji szablonów.
Dokument szablonu może zawierać dowolne z następujących pól:
- Temat: ciąg znaków szablonu tematu wiadomości e-mail.
- tekst: Ciąg szablonowy dla zawartości wiadomości e-mail w postaci zwykłego tekstu.
- html: Ciąg szablonowy dla zawartości HTML wiadomości e-mail.
- amp: Ciąg szablonowy dla treści AMP4EMAIL wiadomości e-mail.
- załączniki: tablica załączników z ciągami szablonów jako wartościami; Obsługiwane opcje Nodemailera : ciąg utf-8, niestandardowy typ zawartości, adres URL, zakodowany ciąg, identyfikator URI danych i wstępnie wygenerowany węzeł MIME (pamiętaj, że Twój e-mail nie ma dostępu do systemu plików serwera w chmurze).
Przykładowy szablon może mieć identyfikator following
i treść taką jak:
{
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}}"
}
]
}
Wysyłaj e-maile za pomocą szablonów
Aby dostarczać wiadomości e-mail przy użyciu szablonów, dodając dokumenty do kolekcji poczty, dołącz pole template
z właściwościami name
i data
. Na przykład, używając naszego following
szablonu z góry:
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"
},
},
});
Części szablonu
Możesz tworzyć szablony, używając części wielokrotnego użytku, określając {partial: true}
w dokumencie szablonu. Każde ze standardowych pól danych ( subject
, html
, text
i amp
) zostanie zdefiniowane jako częściowe używane tylko w swoim własnym środowisku. Na przykład część o nazwie footer
może zawierać dane takie jak:
{
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"
}
W innym szablonie uwzględnij część, odwołując się do jej nazwy (identyfikatora dokumentu):
<p>This is my main template content, but it will use a common footer.</p>
{{> footer }}