Utilizza i modelli Handlebars con l'estensione Trigger Email

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