Utiliser des modèles Handlebars avec l'extension Trigger Email (Adresse e-mail de déclenchement)
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
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 Handlebars pour vos e-mails.
Structure de la collection de modèles
Attribuez à chaque document un ID facile à retenir, que vous utiliserez comme nom de modèle dans les documents que vous écrivez dans votre collection de modèles.
Le document de modèle peut inclure l'un des champs suivants :
subject : chaîne de modèle pour l'objet de l'e-mail.
text : chaîne de modèle pour le contenu en texte brut de l'e-mail.
html : chaîne de modèle pour le contenu HTML de l'e-mail.
amp: chaîne de modèle pour le contenu AMP4EMAIL de l'e-mail.
attachments : tableau de pièces jointes avec des chaînes de modèle comme valeurs. Les options Nodemailer sont acceptées : chaîne UTF-8, type de contenu personnalisé, URL, chaîne encodée, URI de données et nœud MIME pré-généré (notez que votre adresse e-mail n'a pas accès au système de fichiers du serveur cloud).
Un exemple de modèle peut avoir un ID 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 les propriétés name et data. Par exemple, en utilisant notre modèle following ci-dessus :
Vous pouvez composer des modèles à l'aide de partiels réutilisables en spécifiant {partial: true} dans le document de 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 partiel appelé footer 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 référençant son nom (ID de document) :
<p>This is my main template content, but it will use a common footer.</p>
{{> footer }}
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/09/06 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/09/06 (UTC)."],[],[],null,["\u003cbr /\u003e\n\nIf you specified a \"Templates collection\" parameter during configuration of the\nextension, you can create and manage [Handlebars templates](https://handlebarsjs.com/)\ntemplates for your emails.\n\nTemplate collection structure\n\nGive each document a memorable ID that you use as the *template name* in the\ndocuments you write to your templates collection.\n\nThe template document can include any of the following fields:\n\n- **subject:** A template string for the subject of the email.\n- **text:** A template string for the plaintext content of the email.\n- **html:** A template string for the HTML content of the email.\n- **amp:** A template string for the [AMP4EMAIL](https://amp.dev/documentation/guides-and-tutorials/learn/email-spec/amp-email-format/) content of the email.\n- **attachments:** An array of attachments with template strings as values; [Nodemailer options](https://nodemailer.com/message/attachments/) supported: utf-8 string, custom content type, URL, encoded string, data URI, and pre-generated MIME node (be aware that your email has no access to the cloud server's file system).\n\nAn example template might have an ID of `following` and content like: \n\n {\n subject: \"@{{username}} is now following you!\",\n html: \"Just writing to let you know that \u003ccode\u003e@{{username}}\u003c/code\u003e ({{name}}) is now following you.\",\n attachments: [\n {\n filename: \"{{username}}.jpg\",\n path: \"{{imagePath}}\"\n }\n ]\n }\n\nSend emails using templates\n\nTo deliver email using templates, when adding documents to your mail collection,\ninclude a `template` field with `name` and `data` properties. For example,\nusing our `following` template from above: \n\n admin\n .firestore()\n .collection(\"MAIL_COLLECTION\")\n .add({\n toUids: [\"abc123\"],\n template: {\n name: \"following\",\n data: {\n username: \"ada\",\n name: \"Ada Lovelace\",\n imagePath: \"https://example.com/path/to/file/image-name.jpg\"\n },\n },\n });\n\nTemplate Partials\n\nYou can compose templates using reusable [partials](https://handlebarsjs.com/guide/partials.html)\nby specifying `{partial: true}` in the template document. Each of the standard\ndata fields (`subject`, `html`, `text`, and `amp`) will be defined as a partial\nused only in its own environment. For example, a partial called `footer` might\nhave data like: \n\n {\n partial: true,\n html: \"\u003cp\u003eThis mail was sent by ExampleApp, Inc. \u003ca href='https://example.com/unsubscribe'\u003eUnsubscribe\u003c/a\u003e\u003c/p\u003e\",\n text: \"This mail was sent by ExampleApp, Inc. Unsubscribe here: https://example.com/unsubscribe\"\n }\n\nIn another template, include the partial by referencing its name (document ID): \n\n \u003cp\u003eThis is my main template content, but it will use a common footer.\u003c/p\u003e\n\n {{\u003e footer }}"]]