Odoo 19.0 Community · Persistent

mailing.mailing: fields, relations and API

The mailing.mailing model ("Mass Mailing") is a persistent model declared by the Email Marketing module, then extended by 4 other modules. It exposes 118 fields, 84 of them declared directly on the model; 12 fields from other models point to it. Below you will find every field with its technical name, type, label and relations, followed by an Odoo 19 JSON-2 API call.

Model identity

Technical name
mailing.mailing
Label
Mass Mailing
Type
Persistent (models.Model)
SQL table
mailing_mailing
Origin module
Email Marketing (mass_mailing)
Extended by
marketing_card, mass_mailing_crm, mass_mailing_sms, mass_mailing_sale
Default order (_order)
calendar_date DESC
Display field (_rec_name)
subject
Inherits from (mixins)
mail.threadmail.activity.mixinmail.render.mixinutm.source.mixin

Model fields

84 own fields, 28 inherited from mixins and 6 automatic ORM fields. Click a name to get a direct link to that field.

118 of 118 fields shown

Technical nameLabelTypeDetails
ab_testing_completedAb Testing Completedboolean

related: campaign_id.ab_testing_completed

ab_testing_descriptionA/B Testing Descriptionhtml
computed
ab_testing_enabledAllow A/B Testing

If checked, recipients will be mailed only once for the whole campaign. This lets you send different mailings to randomly selected recipients and test the effectiveness of the mailings, without causing duplicate messages.

boolean
ab_testing_is_winner_mailingIs the Winner of its Campaignboolean
computed
ab_testing_mailings_countAb Testing Mailings Countinteger

related: campaign_id.ab_testing_mailings_count

ab_testing_mailings_sms_countAb Testing Mailings Sms Countinteger

related: campaign_id.ab_testing_mailings_sms_count

added by SMS Marketing (mass_mailing_sms)

ab_testing_pcA/B Testing percentage

Percentage of the contacts that will be mailed. Recipients will be chosen randomly.

integer
ab_testing_schedule_datetimeAb Testing Schedule Datetimedatetime

related: campaign_id.ab_testing_schedule_datetime

ab_testing_sms_winner_selectionAb Testing Sms Winner Selectionselection

related: campaign_id.ab_testing_sms_winner_selection

added by SMS Marketing (mass_mailing_sms)

ab_testing_winner_selectionAb Testing Winner Selectionselection

related: campaign_id.ab_testing_winner_selection

activeActiveboolean
attachment_idsAttachmentsmany2many
body_archBodyhtml
body_htmlBody converted to be sent by mailhtml
body_plaintextSMS Bodytext
computed, stored

added by SMS Marketing (mass_mailing_sms)

bouncedBouncedinteger
computed
bounced_ratioBounced Ratiofloat
computed
calendar_dateCalendar Date

Date at which the mailing was or will be sent.

datetime
computed, stored
campaign_idUTM Campaignmany2one
canceledCanceledinteger
computed
card_campaign_idCard Campaignmany2one

added by Marketing Card (marketing_card)

card_requires_sync_countCard Requires Sync Countinteger
computed

added by Marketing Card (marketing_card)

clickedClickedinteger
computed
clicks_ratioNumber of Clicksfloat
computed
colorColor Indexinteger
contact_list_idsMailing Listsmany2many
crm_lead_countLeads/Opportunities Countinteger
computed

added by Mass mailing on lead / opportunities (mass_mailing_crm)

deliveredDeliveredinteger
computed
email_fromSend Fromchar
computed, stored
expectedExpectedinteger
computed
failedFailedinteger
computed
favoriteFavoriteboolean
favorite_dateFavorite Date

When this mailing was added in the favorites

datetime
computed, stored
is_ab_test_sentIs Ab Test Sentboolean
computed
is_body_emptyIs Body Emptyboolean
computed
keep_archivesKeep Archivesboolean
kpi_mail_requiredKPI mail requiredboolean
mail_server_availableMail Server Available

Technical field used to know if the user has activated the outgoing mail server option in the settings

boolean
computed
mail_server_idMail Server

Use a specific mail server in priority. Otherwise Odoo relies on the first outgoing mail server available (based on their sequencing) as it does for normal mails.

many2one
mailing_domainDomainchar
computed, stored
mailing_filter_count# Favorite Filtersinteger
computed
mailing_filter_domainFavorite filter domainchar

related: mailing_filter_id.mailing_domain

mailing_filter_idFavorite Filtermany2one
computed, stored
mailing_model_idRecipients Modelmany2one
requiredcomputed, stored
mailing_model_nameRecipients Model Namechar
read-only

related: mailing_model_id.model

mailing_model_realRecipients Real Modelchar
computed
mailing_on_mailing_listBased on Mailing Listsboolean
computed
mailing_trace_idsEmails Statisticsone2many

inverse: mass_mailing_id

mailing_typeMailing Typeselection
required

Values: mail (Email)

mailing_type_descriptionMailing Type Descriptionchar
computed
medium_idMedium

UTM Medium: delivery method (email, sms, ...)

many2one
computed, stored
next_departureScheduled datedatetime
computed
next_departure_is_pastNext Departure Is Pastboolean
computed
openedOpenedinteger
computed
opened_ratioOpened Ratiofloat
computed
pendingPendinginteger
computed
previewPreview

Catchy preview sentence that encourages recipients to open this email. In most inboxes, this is displayed next to the subject. Keep it empty if you prefer the first characters of your email content to appear instead.

char
processProcessinteger
computed
received_ratioReceived Ratiofloat
computed
repliedRepliedinteger
computed
replied_ratioReplied Ratiofloat
computed
reply_toReply To

Preferred Reply-To Address

char
computed, stored
reply_to_modeReply-To Mode

Thread: replies go to target document. Email: replies are routed to a given email.

selection
computed, stored

Values: update (Recipient Followers), new (Specified Email Address)

sale_invoiced_amountInvoiced Amountinteger
computed

added by Mass mailing on sale orders (mass_mailing_sale)

sale_quotation_countQuotation Countinteger
computed

added by Mass mailing on sale orders (mass_mailing_sale)

schedule_dateScheduled fordatetime
computed, stored
schedule_typeScheduleselection
required

Values: now (Send now), scheduled (Send on)

scheduledScheduledinteger
computed
sentSentinteger
computed
sent_dateSent Datedatetime
sms_allow_unsubscribeInclude opt-out linkboolean

added by SMS Marketing (mass_mailing_sms)

sms_force_sendSend Directly

Immediately send the SMS Mailing instead of queuing up. Use at your own risk.

boolean

added by SMS Marketing (mass_mailing_sms)

sms_has_insufficient_creditInsufficient IAP creditsboolean
computed

added by SMS Marketing (mass_mailing_sms)

sms_has_unregistered_accountUnregistered IAP accountboolean
computed

added by SMS Marketing (mass_mailing_sms)

sms_subjectTitle

For an email, the subject your recipients will see in their inbox. For an SMS, the internal title of the message.

char

related: subject

added by SMS Marketing (mass_mailing_sms)

sms_template_idSMS Templatemany2one

added by SMS Marketing (mass_mailing_sms)

stateStatusselection
required

Values: draft (Draft), in_queue (In Queue), sending (Sending), done (Sent)

subjectSubjectchar
required
totalTotalinteger
computed
use_exclusion_listUse Exclusion List

Prevent sending messages to blacklisted contacts. Disable only when absolutely necessary.

boolean
use_leadsUse Leadsboolean
computed

added by Mass mailing on lead / opportunities (mass_mailing_crm)

user_idResponsiblemany2one
warning_messageWarning Message

Warning message displayed in the mailing form view

char
computed
activity_calendar_event_idNext Activity Calendar Eventmany2one
computed

inherited from mail.activity.mixin

activity_date_deadlineNext Activity Deadlinedate
read-onlycomputed

inherited from mail.activity.mixin

activity_exception_decorationActivity Exception Decoration

Type of the exception activity on record.

selection
computed

Values: warning (Alert), danger (Error)

inherited from mail.activity.mixin

activity_exception_iconIcon

Icon to indicate an exception activity.

char
computed

inherited from mail.activity.mixin

activity_idsActivitiesone2many

inverse: res_id

inherited from mail.activity.mixin

activity_stateActivity State

Status based on activities Overdue: Due date is already passed Today: Activity date is today Planned: Future activities.

selection
computed

Values: overdue (Overdue), today (Today), planned (Planned)

inherited from mail.activity.mixin

activity_summaryNext Activity Summarychar

related: activity_ids.summary

inherited from mail.activity.mixin

activity_type_iconActivity Type Iconchar

related: activity_ids.icon

inherited from mail.activity.mixin

activity_type_idNext Activity Typemany2one

related: activity_ids.activity_type_id

inherited from mail.activity.mixin

activity_user_idResponsible Usermany2one
read-onlycomputed

inherited from mail.activity.mixin

has_messageHas Messageboolean
computed

inherited from mail.thread

langLanguage

Optional translation language (ISO code) to select when sending out an email. If not set, the main partner's language will be used. This should usually be a placeholder expression that provides the appropriate language, e.g. {{ object.partner_id.lang }}.

char

inherited from mail.render.mixin

message_attachment_countAttachment Countinteger
computed

inherited from mail.thread

message_follower_idsFollowersone2many

inverse: res_id

inherited from mail.thread

message_has_errorMessage Delivery error

If checked, some messages have a delivery error.

boolean
computed

inherited from mail.thread

message_has_error_counterNumber of errors

Number of messages with delivery error

integer
computed

inherited from mail.thread

message_has_sms_errorSMS Delivery error

If checked, some messages have a delivery error.

boolean
computed

inherited from mail.thread

message_idsMessagesone2many

inverse: res_id

inherited from mail.thread

message_is_followerIs Followerboolean
computed

inherited from mail.thread

message_needactionAction Needed

If checked, new messages require your attention.

boolean
computed

inherited from mail.thread

message_needaction_counterNumber of Actions

Number of messages requiring action

integer
computed

inherited from mail.thread

message_partner_idsFollowers (Partners)many2many
computed

inherited from mail.thread

my_activity_date_deadlineMy Activity Deadlinedate
read-onlycomputed

inherited from mail.activity.mixin

nameNamechar

related: source_id.name

inherited from utm.source.mixin

rating_idsRatingsone2many

inverse: res_id

inherited from mail.thread

render_modelRendering Modelchar
computed

inherited from mail.render.mixin

source_idSourcemany2one
required

inherited from utm.source.mixin

website_message_idsWebsite Messages

Website communication history

one2many

inverse: res_id

inherited from mail.thread

create_dateCreated ondatetime
read-onlyautomatic
create_uidCreated bymany2one
read-onlyautomatic
display_nameDisplay Namechar
read-onlycomputedautomatic
idIDinteger
read-onlyautomatic
write_dateLast Updated ondatetime
read-onlyautomatic
write_uidLast Updated bymany2one
read-onlyautomatic

Relations

Models linked from this model

Fields of other models pointing here

Reading this model through the API

Odoo 19 JSON-2 API call reading the first five records with real fields of the model. Replace the instance, database and API key with your own.

curl
curl -X POST "https://your-instance.odoo.com/json/2/mailing.mailing/search_read" \
  -H "Authorization: bearer $ODOO_API_KEY" \
  -H "X-Odoo-Database: your-db" \
  -H "Content-Type: application/json" \
  -d '{"domain":[],"fields":["subject","mailing_model_id","mailing_type","schedule_type","state"],"limit":5}'
Python (requests)
import requests

BASE_URL = "https://your-instance.odoo.com/json/2"
headers = {"Authorization": f"bearer {API_KEY}", "X-Odoo-Database": "your-db"}

res = requests.post(
    f"{BASE_URL}/mailing.mailing/search_read",
    headers=headers,
    json={"domain": [], "fields": ["subject","mailing_model_id","mailing_type","schedule_type","state"], "limit": 5},
)
res.raise_for_status()
print(res.json())
  • External API access requires Odoo's Custom plan.
  • XML-RPC and JSON-RPC will be removed in Odoo 22 (fall 2028): use JSON-2.
  • The access rights and record rules of the key's user apply.

Cite this tool

Writing a tutorial, internal documentation or a forum answer? Copy this link to send your readers to the up-to-date reference.

<a href="https://aidoo.ai/en/outils/explorateur-modeles-odoo/mailing-mailing">mailing.mailing (Odoo 19.0)</a>

Sources

Data verified on September 23, 2026 · Odoo 19.0 Community

Have an Odoo project, or want to put your ERP to work with AI? Let's talk

Implementation, custom module development, connecting Claude or ChatGPT to your data: tell us about your context and we will reply within 24 business hours.