Se hai specificato un parametro "Raccolta di modelli" durante la configurazione dell'estensione, puoi creare e gestire i modelli di modelli Handlebars per le tue email.
Struttura della raccolta modelli
Assegna a ciascun documento un ID memorabile da utilizzare come nome del modello nei documenti che scrivi nella raccolta di modelli.
Il documento modello può includere uno qualsiasi dei seguenti campi:
- oggetto: una stringa modello per l'oggetto dell'e-mail.
- text: una stringa modello per il contenuto in testo semplice dell'e-mail.
- html: una stringa modello per il contenuto HTML dell'e-mail.
- amp: una stringa modello per il contenuto AMP4EMAIL dell'e-mail.
- allegati: una serie di allegati con stringhe modello come valori; Opzioni Nodemailer supportate: stringa utf-8, tipo di contenuto personalizzato, URL, stringa codificata, URI dati e nodo MIME pregenerato (tieni presente che la tua posta elettronica non ha accesso al file system del server cloud).
Un modello di esempio potrebbe avere l'ID following
e contenuti come:
{
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}}"
}
]
}
Invia e-mail utilizzando i modelli
Per consegnare email utilizzando i modelli, quando aggiungi documenti alla tua raccolta di posta, includi un campo template
con name
e proprietà data
. Ad esempio, utilizzando il nostro following
modello dall'alto:
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"
},
},
});
Parziali del modello
Puoi comporre modelli utilizzando partial riutilizzabili specificando {partial: true}
nel documento modello. Ciascuno dei campi dati standard ( subject
, html
, text
e amp
) sarà definito come parziale utilizzato solo nel proprio ambiente. Ad esempio, un footer
parziale chiamato potrebbe contenere dati come:
{
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"
}
In un altro modello, includi il parziale facendo riferimento al suo nome (ID documento):
<p>This is my main template content, but it will use a common footer.</p>
{{> footer }}