Utiliser les modèles de guidons avec l'extension Trigger Email

Si vous avez spécifié un paramètre « Collection de modèles » lors de la configuration de l'extension, vous pouvez créer et gérer des modèles de modèles de guidons pour vos e-mails.

Structure de la collection de modèles

Attribuez à chaque document un identifiant mémorable que vous utilisez comme nom de modèle dans les documents que vous écrivez dans votre collection de modèles.

Le document modèle peut inclure l'un des champs suivants :

  • subject : une chaîne de modèle pour le sujet de l'e-mail.
  • text : une chaîne de modèle pour le contenu en texte brut de l'e-mail.
  • html : une chaîne de modèle pour le contenu HTML de l'e-mail.
  • amp : une chaîne de modèle pour le contenu AMP4EMAIL de l'e-mail.
  • attachments : un tableau de pièces jointes avec des chaînes de modèle comme valeurs ; Options Nodemailer prises en charge : chaîne utf-8, type de contenu personnalisé, URL, chaîne codée, URI de données et nœud MIME pré-généré (sachez que votre courrier électronique n'a pas accès au système de fichiers du serveur cloud).

Un exemple de modèle peut avoir un identifiant following et un contenu tel que :

{
  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}}"
    }
  ]
}

Envoyer des e-mails à l'aide de modèles

Pour envoyer des e-mails à l'aide de modèles, lorsque vous ajoutez des documents à votre collection de courrier, incluez un champ template avec name et les propriétés data . Par exemple, en utilisant notre modèle following ci-dessus :

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"
      },
    },
  });

Partiels de modèle

Vous pouvez composer des modèles à l'aide de partiels réutilisables en spécifiant {partial: true} dans le document modèle. Chacun des champs de données standards ( subject , html , text et amp ) sera défini comme un partiel utilisé uniquement dans son propre environnement. Par exemple, un footer partiel appelé peut contenir des données telles que :

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

Dans un autre modèle, incluez le partiel en faisant référence à son nom (ID du document) :

<p>This is my main template content, but it will use a common footer.</p>

{{> footer }}