mail.template : champs, relations et API
Le modèle mail.template (« Modèles d'e-mail ») est un modèle persistant déclaré par le module Discussion, puis enrichi par 3 autres modules. Il expose 35 champs, dont 26 déclarés directement sur le modèle ; 35 champs d'autres modèles pointent vers lui. Retrouvez ci-dessous chaque champ avec son nom technique, son type, son libellé français et ses relations, puis un exemple d'appel à l'API JSON-2 d'Odoo 19.
Fiche d'identité
- Nom technique
mail.template- Libellé
- Modèles d'e-mail
- Type
- Persistant (models.Model)
- Table SQL
mail_template- Module d'origine
- Discussion (
mail) - Étendu par
- account, event, pos_self_order
- Tri par défaut (_order)
user_id, name, id- Hérite de (mixins)
- mail.render.mixintemplate.reset.mixinpos.load.mixin
Champs du modèle
26 champs propres, 3 hérités des mixins et 6 champs automatiques de l'ORM. Cliquez sur un nom pour obtenir le lien direct vers le champ.
35 champs affichés sur 35
| Nom technique | Libellé | Type | Détails |
|---|---|---|---|
| active | Actif | boolean | |
| attachment_ids | Pièces jointes | many2many | |
| auto_delete | Suppression automatique Cette option supprime définitivement quelconque trace de l'e-mail après son envoi, y compris du Menu technique dans les Paramètres, afin de préserver de l'espace de stockage dans votre base de données Odoo. | boolean | |
| body_html | Corps | html | traduisible |
| can_write | Peut écrire L'utilisateur actuel peut modifier le modèle. | boolean | calculé |
| description | Description du modèle Ce champ est utilisé pour la description interne de l'usage du modèle. | text | traduisible |
| email_cc | Cc Destinataires en copie carbone (des placeholders peuvent être utilisées ici) | char | |
| email_from | Adresse d'envoi Adresse de l’expéditeur (les placeholders sont acceptés). Si non renseigné, la valeur par défaut sera l’alias de messagerie de l’auteur si il est configuré, ou son adresse e-mail. | char | |
| email_layout_xmlid | Mise en page des notifications par e-mail | char | |
| email_to | À (e-mails) Adresses des destinataires séparées par des virgules (des placeholders peuvent être utilisés ici) | char | |
| has_dynamic_reports | Contient des rapports dynamiques | boolean | calculé |
| has_mail_server | Dispose d’un serveur de messagerie | boolean | calculé |
| is_template_editor | Éditeur de modèle | boolean | calculé |
| mail_server_id | Serveur de messagerie sortant Serveur préféré facultatif pour les e-mails sortants. S'il n'est pas défini, la plus haute priorité sera utilisée. | many2one | |
| model | Modèle de document associé | char | lecture seule related : |
| model_id | S'applique à | many2one→ ir.model | |
| name | Nom | char | traduisible |
| partner_to | À (partenaires) Identifiants des partenaires bénéficiaires séparés par des virgules (les placeholders sont acceptés) | char | |
| ref_ir_act_window | Action de la barre latérale Action de la barre latérale pour rendre ce modèle disponible sur les enregistrements associés au modèle de document | many2one | lecture seule |
| reply_to | Adresse de réponse Adresse e-mail vers laquelle les réponses seront redirigées lors de l'envoi d'e-mails en masse ; seulement utilisée lorsque la réponse n'est pas inscrite dans le fil de discussion original. | char | |
| report_template_ids | Rapports dynamiques | many2many | |
| scheduled_date | Date planifiée Si l'option est définie, le gestionnaire de la file d'attente enverra l'e-mail après la date. Si l'option n'est pas définie, l'e-mail sera envoyé dès que possible. Vous pouvez utiliser l'expression dynamique. | char | |
| subject | Sujet Sujet (des placeholders peuvent être utilisées ici) | char | traduisible |
| template_category | Catégorie de modèle | selection | calculé Valeurs : |
| use_default_to | Destinataires par défaut Default recipients of the record: - partner (using id on a partner or the partner_id field) OR - email (using email_from or email field) | boolean | |
| user_id | Détenteur | many2one | |
| lang | Langue Langue de traduction optionnelle (code ISO) à sélectionner lors de l’envoi d’un e-mail. Si elle n’est pas définie, la langue principale du partenaire sera utilisée. Il s’agit généralement d’une expression de remplacement indiquant la langue appropriée, par exemple : {{ object.partner_id.lang }}. | char | hérité de mail.render.mixin |
| render_model | Modèle de rendu | char | calculé hérité de mail.render.mixin |
| template_fs | Nom du fichier modèle Fichier d'où vient le modèle. Utilisé pour réinitialiser le modèle cassé. | char | hérité de template.reset.mixin |
| create_date | Créé le | datetime | lecture seuleautomatique |
| create_uid | Créé par | many2one | lecture seuleautomatique |
| display_name | Nom affiché | char | lecture seulecalculéautomatique |
| id | ID | integer | lecture seuleautomatique |
| write_date | Dernière mise à jour le | datetime | lecture seuleautomatique |
| write_uid | Dernière mise à jour par | many2one | lecture seuleautomatique |
Relations
Modèles liés depuis ce modèle
- ir.actions.act_window : ref_ir_act_window
- ir.actions.report : report_template_ids
- ir.attachment : attachment_ids
- ir.mail_server : mail_server_id
- ir.model : model_id
- res.users : user_id
Champs d'autres modèles qui pointent ici
- account.move.send.wizard : template_id
- applicant.get.refuse.reason : template_id
- calendar.alarm : mail_template_id
- event.track.stage : mail_template_id
- fleet.vehicle.send.mail : template_id
- gamification.challenge : report_template_id
- hr.applicant.refuse.reason : template_id
- hr.recruitment.stage : template_id
- ir.actions.server : template_id
- loyalty.mail : mail_template_id
- loyalty.program : mail_template_id
- mail.activity : mail_template_ids
- mail.activity.type : mail_template_ids
- mail.compose.message : template_id
- mail.composer.mixin : template_id
- mail.template.preview : mail_template_id
- mail.template.reset : template_ids
- pos.preset : mail_template_id
- product.template : email_template_id
- project.project.stage : mail_template_id
- project.task.type : mail_template_id, rating_template_id
- res.company : stock_mail_confirmation_template_id
- res.config.settings : cart_recovery_mail_template, confirmation_email_template_id, invoice_mail_template_id
- sale.order : pending_email_template_id
- sale.order.template : mail_template_id
- slide.channel : completed_template_id, publish_template_id, share_channel_template_id, share_slide_template_id
- survey.survey : certification_mail_template_id
- website : cart_recovery_mail_template_id, confirmation_email_template_id
Lire ce modèle par l'API
Exemple d'appel à l'API JSON-2 d'Odoo 19 : lecture des cinq premiers enregistrements avec des champs réels du modèle. Remplacez l'instance, la base et la clé API par les vôtres.
curl -X POST "https://votre-instance.odoo.com/json/2/mail.template/search_read" \
-H "Authorization: bearer $ODOO_API_KEY" \
-H "X-Odoo-Database: votre-base" \
-H "Content-Type: application/json" \
-d '{"domain":[],"fields":["name","mail_server_id","model_id","ref_ir_act_window","user_id"],"limit":5}'import requests
BASE_URL = "https://votre-instance.odoo.com/json/2"
headers = {"Authorization": f"bearer {API_KEY}", "X-Odoo-Database": "votre-base"}
res = requests.post(
f"{BASE_URL}/mail.template/search_read",
headers=headers,
json={"domain": [], "fields": ["name","mail_server_id","model_id","ref_ir_act_window","user_id"], "limit": 5},
)
res.raise_for_status()
print(res.json())- L'accès à l'API externe est réservé à la formule Custom d'Odoo.
- XML-RPC et JSON-RPC seront retirés dans Odoo 22 (automne 2028) : préférez JSON-2.
- Les droits d'accès et règles d'enregistrement de l'utilisateur de la clé s'appliquent.
Citer cet outil
Vous rédigez un tutoriel, une documentation interne ou une réponse sur un forum ? Copiez ce lien pour renvoyer vos lecteurs vers la fiche à jour.
<a href="https://aidoo.ai/fr/outils/explorateur-modeles-odoo/mail-template">mail.template (Odoo 19.0)</a>Sources
- Code source du modèle sur GitHub
- Documentation Odoo 19 : ORM API
- Documentation Odoo 19 : API externe JSON-2
Données vérifiées le 23 septembre 2026 · Odoo 19.0 Community
Vous avez un projet Odoo ou souhaitez exploiter votre ERP avec l'IA ? Échangeons
Intégration, développement de modules, connexion de Claude ou ChatGPT à vos données : décrivez-nous votre contexte, nous vous répondons sous 24 heures ouvrées.