Modèles d’emails¶
Nous savons tous qu’il est essentiel d’écrire de bons emails pour obtenir un taux de réponse élevé. Ceci dit, vous ne voulez surement pas devoir réécrire la même structure à chaque fois, non ? C’est là qu’interviennent les modèles d’emails. Si vous ne devez pas réécrire l’intégralité de la structure de l’email encore et encore, vous gagnez du temps pour vous concentrer sur le contenu. Plusieurs modèles vous permettent également de transmettre le bon message au bon public, améliorant ainsi leur expérience globale avec l’entreprise.
Activez-le et comprenez quelques concepts¶
The Developer mode must be activated). Then, go to . A view of the existing templates is shown.
Danger
It is highly recommended not to change the content in existing templates unless the user has prior knowledge about placeholders.
Pour en ajouter un nouveau, cliquez sur Créer et choisissez le type de document avec lequel ce modèle est utilisé. Dans l’exemple ci-dessous, le modèle serait envoyé aux candidats.
Rédiger du contenu, y compris des expressions de placeholder¶
A placeholder is a string of characters that temporarily takes the place of the final data. With email templates, for example, placeholders let you put dynamic content in order to personalize the email for the recipient.
A common use is to use it to indicate the name of the recipient in the newsletter so that each recipient gets a personalized newsletter.
Placeholders and more specifically fields that are available for a template will depend on the template you modify. One way to see the fields that are available is to check the Dynamic Placeholder Generator tab.
Sous l’onglet Générateur de placeholder dynamique, recherchez le Champ que vous souhaitez utiliser.
Next, copy the Placeholder Expression and paste it in the Body of the email, under the Content tab, using - essentially - the Code View.
Deactivate the Code View option by simply clicking on it again, and easily design the message. Click on Preview to check how the email looks before sending it.
Using functions with placeholders¶
Functions can be used along with your placeholders in order to format the data as you’d like within
your mail templates, for example, the time format can be changed using a function such
as format_time
.
In order to use functions, you have to know the available fields to format. To know that, you have to check the fields (the properties) of the object that are available to be used.
Checking the fields (properties) available on the object¶
To check the fields available, click on the link next to Applies to. For the example we use the Portal: new user template, so we click on Portal user Config.
By clicking on the link, you are redirected to the model, in this case the Portal user Config
model that lists all the fields that you can use within your mail template.
As a side note, you can also see the fields that are available by accessing the dynamic placeholder generator, as described previously.
See below an example with the email field that was added in the template and its result as well as some other placeholders already present by default.
Using fields with functions¶
Now that you know the fields that can be used, you can use one of them with a function. For this
example, we add the creation date, create_date field to the body of the template ‘Portal: new user’
along with the format_date
function so that the user knows when he was invited.
As you can see we use the placeholder ${}
with the format_date
function which uses as a
parameter the field create_date available on the current object, this gives the following line
of code ${format_date(object.create_date)}
.
Avertissement
It’s really important to check that the preview is working, if it’s broken your template might appear totally blank when previewing it. We also recommend not changing the content in existing templates unless you have prior knowledge. We highly recommend duplicating the template and apply your changes within this one.
Find below the result of the e-mail received in the recipient’s mailbox with the modifications applied.
Still by using the format_date
function, you have the possibility to adapt the format of the
date just in a specific email by specifying the formatting of the date as a second parameter.
If not specified, the format used by default is the one defined in the settings of the language.
More information on how to access these parameters can be found here.
In order to adapt the date format, the piece of code used in the above example
${format_date(object.create_date)}
becomes ${format_date(object.create_date, date_format='dd -- MM -- YYYY')}
here dd is the day, MM the month and YYYY the year.
Here is the result once the function is adapted in the template.
Functions used by default within email templates¶
To format your data, many functions can be used, here are some examples.
Note
This list of functions is not exhaustive, meaning that all functions that are available aren’t listed in the below list, for more functions, we invite you to check the babel documentation, last but not least, modifications on the templates are considered as customization and isn’t covered by our support.
For the following examples, we will introduce mostly some date functions. By default, the format of the date used is the one defined in the settings of the language.
These settings can only be accessed when the developer mode is enabled. Once developer is enabled go to and click on one of the languages to see all the settings such as the time format or date format used by the language.
format_date() - formats the date (without the time).
Can be found on the template
Purchase Order: Send PO
:The result will look like this:
format_datetime() - formats the datetime, defining a specific timezone, in this case Central European Time (CET).
Can be found on the template
Event: Registration
.The result will look like this:
format_time() - Similar to the format_datetime function except It’s used only for the time, not a date.
format_amount() - Formats a number, an amount to display the currency depending on the display setting that has been defined on the currency (the debug mode must be activated to see this feature) (before or after the amount depending on the convention).
Which will look like this:
Définir une réponse par défaut à sur votre modèle d’email¶
Bien que le champ reply to soit disponible dans les modèles d’email, ce champ n’est utilisé que pour le mode d’envoi en masse (c’est-à-dire lors de l’envoi de modèles sur ce que nous appelons l’envoi en masse). Vous pouvez envoyer des emails en masse dans presque toutes les applications qui ont une vue de liste. Sélectionnez les enregistrements que vous voulez et cliquez sur le bouton d’action. Si vous avez l’option d’envoyer un email, vous verrez un compositeur de courrier avec des valeurs possibles à définir :
Vous pouvez également les définir par défaut sur le modèle :
Pour cette raison, définir une valeur dans ce champ est inutile car la valeur définie sera totalement ignorée. La valeur reply-to par défaut est l’adresse email catchall par défaut pour assurer une communication entre votre client et votre base de données Odoo. Pour plus d’informations sur le fonctionnement du catchall, veuillez consulter la documentation: comment gérer les messages entrants.
Emails transactionnels et URL correspondantes pour chaque entreprise¶
Lors de l’utilisation d’Odoo, plusieurs événements déclenchent l’envoi d’emails automatisés. Ces emails sont appelés emails transactionnels et contiennent parfois des liens pointant vers votre base de données Odoo.
Par défaut, les liens générés par la base de données utilisent la clé dynamique web.base.url définie dans les paramètres système. Plus d’informations à ce sujet paramètres.
Si l’application de Site Web n’est pas installée, la clé web.base.url sera toujours le paramètre par défaut utilisé pour générer tous les liens.
Il est important de savoir que cette clé ne peut avoir qu’une seule valeur, ce qui signifie que dans un environnement de base de données multi-sites/entreprises, même si vous avez un nom de domaine spécifique pour chaque site, les liens générés pour partager un document ou au sein d’un email transactionnel peuvent rester les mêmes, quel que soit le Site Web/la société liés à l’envoi de l’email/du document.
Ce n’est pas toujours le cas car certaines applications Odoo ont un lien établi dans la base de données avec l’application du Site Web, ce qui signifie que dans ce cas, si un domaine spécifique est défini pour les sites web, l’URL générée dans le modèle d’email utilisera le domaine défini sur le site web correspondant de la société.
Prudence
Un document partagé à l’aide de l’application Documents utilisera toujours la clé web.base.url, car le document partagé n’est associé à aucun Site Web particulier. Cela signifie que l’URL sera toujours la même (la valeur clé web.base.url), quelle que soit l’entreprise à partir de laquelle elle est partagée, c’est une limitation connue !
En revanche, les commandes passées par un client sur l’un de vos sites eCommerce Odoo ont un lien établi avec le site depuis lequel la commande a été passée. Par conséquent, l’email envoyé pour les commandes client utilise le nom de domaine défini pour le Site Web correspondant pour générer les liens.
Pour plus d’informations sur la configuration de vos domaines, nous vous invitons à consulter notre documentation sur les noms de domaine.
Mise à jour des traductions dans les modèles d’email¶
Les modèles d’emails sont automatiquement traduits. Changer les traductions ne devrait pas être nécessaire. Cependant, si pour une raison spécifique vous souhaitez modifier certaines traductions, cela peut être fait.
Comme toute modification dans le code, gardez à l’esprit que des modifications qui ne sont pas faites correctement (par exemple des modifications conduisant à une mauvaise syntaxe) peuvent casser le modèle, par conséquent, le modèle apparaîtra vide.
Pour modifier vos traductions, suivez ces étapes à partir du modèle.
Cliquez sur le bouton modifier, puis sur le bouton langue
Une fenêtre contextuelle avec les différentes langues installées sur la base de données s’affichera. À partir de là, l’édition des traductions sera possible. N’oubliez pas de cliquer sur le bouton Enregistrer pour conserver vos modifications.