mail.compose.message : champs, relations et API
Le modèle mail.compose.message (« Assistant de composition d'e-mails ») est un modèle transitoire déclaré par le module Discussion, puis enrichi par 2 autres modules. Il expose 54 champs, dont 43 déclarés directement sur le modèle. 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.compose.message- Libellé
- Assistant de composition d'e-mails
- Type
- Transitoire (models.TransientModel)
- Table SQL
mail_compose_message- Module d'origine
- Discussion (
mail) - Étendu par
- mass_mailing, marketing_card
- Hérite de (mixins)
- mail.composer.mixin
Champs du modèle
43 champs propres, 5 hérités des mixins et 6 champs automatiques de l'ORM. Cliquez sur un nom pour obtenir le lien direct vers le champ.
54 champs affichés sur 54
| Nom technique | Libellé | Type | Détails |
|---|---|---|---|
| attachment_ids | Pièces jointes | many2many | calculé, stocké |
| author_id | Auteur Auteur du message. S'il n'est pas indiqué, email_from peut contenir une adresse e-mail ne correspondant à aucun partenaire. | many2one | calculé, stocké |
| auto_delete | Supprimer les e-mails 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 | calculé, stocké |
| auto_delete_keep_log | Conserver une copie du message Conserver une copie du contenu de l'e-mail si les e-mails sont supprimés (envoi de masse uniquement) | boolean | calculé, stocké |
| body | Contenus | html | calculé, stocké |
| campaign_id | Campagne d'e-mail marketing | many2one | ajouté par E-mail Marketing ( |
| composition_batch | Composition du lot | boolean | calculé |
| composition_comment_option | Options de commentaire | selection | Valeurs : |
| composition_mode | Mode de composition | selection | Valeurs : |
| email_add_signature | Ajouter une signature | boolean | calculé, stocké |
| email_from | De Adresse e-mail de l'expéditeur. Ce champ est défini quand aucun partenaire correspondant n'est trouvé et remplace le champ author_id dans le chatter. | char | calculé, stocké |
| email_layout_xmlid | Mise en page des notifications par e-mail | char | calculé, stocké |
| force_send | Envoyer directement des e-mails ou des notifications | boolean | calculé, stocké |
| mail_activity_type_id | Envoyer le type d'activité par e-mail | many2one | |
| mail_server_id | Serveur de messagerie sortant | many2one | calculé, stocké |
| mailing_list_ids | Liste de diffusion | many2many | ajouté par E-mail Marketing ( |
| mass_mailing_id | E-mail Marketing | many2one | ajouté par E-mail Marketing ( |
| mass_mailing_name | Nom des envois de masse Si défini, un envoi en masse sera créé afin que vous puissiez suivre ses résultats dans l'application E-mail Marketing. | char | ajouté par E-mail Marketing ( |
| message_type | Type Type de message : E-mail pour les courriers électroniques, Notification pour les messages du système, Commentaire pour les autres messages tels que les réponses des utilisateurs | selection | requis Valeurs : |
| model | Modèle de document associé | char | calculé, stocké |
| model_is_thread | Activé par fil | boolean | calculé |
| notified_bcc_contains_share | Un partenaire externe est-il abonné au document ? | boolean | calculé |
| notify_author | Notifier l’auteur | boolean | calculé, stocké |
| notify_author_mention | Notifier l’auteur de la mention | boolean | calculé, stocké |
| notify_skip_followers | Ne pas notifier les suiveurs | boolean | calculé, stocké |
| parent_id | Message parent | many2one | |
| partner_ids | Contacts supplémentaires | many2many | calculé, stocké |
| partner_ids_all_have_email | Tous les partenaires ont une adresse e-mail | boolean | calculé |
| record_alias_domain_id | Alias de domaine | many2one | calculé, stocké |
| record_company_id | Société | many2one | calculé, stocké |
| reply_to | Adresse de réponse Adresse e-mail de réponse. Définir le champ reply_to contourne la création automatique de fil. | char | calculé, stocké |
| reply_to_force_new | Considère les réponses comme un nouveau fil Gérez les réponses comme de nouveaux e-mails entrants, au lieu que les réponses aillent dans le même fil de discussion. | boolean | calculé, stocké |
| reply_to_mode | Réponses Original Discussion: Answers go in the original document discussion thread. Another Email Address: Answers go to the email address mentioned in the tracking message-id instead of original document discussion thread. This has an impact on the generated message-id. | selection | calculé Valeurs : |
| res_domain | Domaine actif | text | |
| res_domain_user_id | Responsable Utilisé comme contexte pour évaluer le domaine des compositeurs | many2one | |
| res_ids | ID du document associé | text | calculé, stocké |
| scheduled_date | Date planifiée En mode Commentaire : si cette option est activée, l'envoi des notifications est reporté. En mode Envoi de groupe : si cette option est activée, l'envoi des e-mails se fera après cette date. Cette date est considérée comme étant dans le fuseau horaire UTC. | char | calculé, stocké |
| subject | Sujet | char | calculé, stocké |
| subtype_id | Sous-type | many2one | calculé, stocké |
| subtype_is_log | Est un journal | boolean | calculé |
| template_id | Utiliser un modèle | many2one | |
| template_name | Nom du modèle | char | |
| use_exclusion_list | Utiliser la liste d’exclusion Empêcher l’envoi de messages à des contacts sur liste noire. Désactivez uniquement si nécessaire. | boolean | |
| body_has_template_value | Le corps du texte est identique au modèle | boolean | calculé hérité de mail.composer.mixin |
| can_edit_body | Peut modifier le corps de l'e-mail | boolean | calculé hérité de mail.composer.mixin |
| is_mail_template_editor | Est éditeur | boolean | calculé hérité de mail.composer.mixin |
| lang | Lang | char | calculé, stocké hérité de mail.composer.mixin |
| render_model | Modèle de rendu | char | calculé hérité de mail.render.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.attachment : attachment_ids
- ir.mail_server : mail_server_id
- mail.activity.type : mail_activity_type_id
- mail.alias.domain : record_alias_domain_id
- mail.message : parent_id
- mail.message.subtype : subtype_id
- mail.template : template_id
- mailing.list : mailing_list_ids
- mailing.mailing : mass_mailing_id
- res.company : record_company_id
- res.partner : author_id, partner_ids
- res.users : res_domain_user_id
- utm.campaign : campaign_id
Champs d'autres modèles qui pointent ici
Aucun champ Many2one ou Many2many d'un autre modèle ne pointe vers ce modèle.
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.compose.message/search_read" \
-H "Authorization: bearer $ODOO_API_KEY" \
-H "X-Odoo-Database: votre-base" \
-H "Content-Type: application/json" \
-d '{"domain":[],"fields":["message_type","author_id","campaign_id","mail_activity_type_id","mail_server_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.compose.message/search_read",
headers=headers,
json={"domain": [], "fields": ["message_type","author_id","campaign_id","mail_activity_type_id","mail_server_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-compose-message">mail.compose.message (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.