| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
ab_testing_description |
Mass Mailing: A/B Test Description | ir.ui.view | qweb | New |
digest_mail_main |
digest_mail_main | ir.ui.view | qweb | Inherits digest.digest_mail_main |
email_compose_form_mass_mailing |
mail.compose.message.form.mass_mailing | mail.compose.message | xpath | Inherits mail.email_compose_message_wizard_form |
email_designer_snippets |
email_designer_snippets | ir.ui.view | qweb | New |
email_designer_themes |
email_designer_themes | ir.ui.view | qweb | New |
link_tracker_click_view_form |
link.tracker.click.view.form.inherit.mass_mailing | link.tracker.click | xpath | Inherits link_tracker.link_tracker_click_view_form |
link_tracker_click_view_graph |
link.tracker.click.view.graph.inherit.mass_mailing | link.tracker.click | xpath | Inherits link_tracker.link_tracker_click_view_graph |
link_tracker_click_view_search |
link.tracker.click.view.search.inherit.mass_mailing | link.tracker.click | xpath | Inherits link_tracker.link_tracker_click_view_search |
link_tracker_click_view_tree |
link.tracker.click.view.list.inherit.mass_mailing | link.tracker.click | xpath | Inherits link_tracker.link_tracker_click_view_tree |
link_tracker_view_form |
link.tracker.view.form.inherit.mass.mail | link.tracker | xpath | Inherits link_tracker.link_tracker_view_form |
link_tracker_view_search |
link.tracker.view.search.inherit.mass.mail | link.tracker | xpath | Inherits link_tracker.link_tracker_view_search |
link_tracker_view_tree |
link.tracker.view.list.inherit.mass.mail | link.tracker | xpath | Inherits link_tracker.link_tracker_view_tree |
mail_blacklist_view_form |
mail.blacklist.view.form.inherit.mailing | mail.blacklist | xpath | Inherits mail.mail_blacklist_view_form |
mail_blacklist_view_search |
mail.blacklist.view.search | mail.blacklist | xpath | Inherits mail.mail_blacklist_view_search |
mail_blacklist_view_tree |
mail.blacklist.view.list.inherit.mailing | mail.blacklist | xpath | Inherits mail.mail_blacklist_view_tree |
mailing_contact_import_view_form |
mailing.contact.import.view.form | mailing.contact.import | form | New |
mailing_contact_to_list_view_form |
mailing.contact.to.list.view.form | mailing.contact.to.list | form | New |
mailing_contact_view_form |
mailing.contact.view.form | mailing.contact | form | New |
mailing_contact_view_form_split_name |
mailing.contact.view.form.split.name | mailing.contact | xpath | Inherits mass_mailing.mailing_contact_view_form |
mailing_contact_view_graph |
mailing.contact.view.graph | mailing.contact | graph | New |
mailing_contact_view_kanban |
mailing.contact.view.kanban | mailing.contact | kanban | New |
mailing_contact_view_pivot |
mailing.contact.pivot | mailing.contact | pivot | New |
mailing_contact_view_search |
mailing.contact.view.search | mailing.contact | search | New |
mailing_contact_view_tree |
mailing.contact.view.list | mailing.contact | list | New |
mailing_contact_view_tree_split_name |
mailing.contact.view.list.split.name | mailing.contact | xpath | Inherits mass_mailing.mailing_contact_view_tree |
mailing_filter_view_form |
mailing.filter.view.form | mailing.filter | form | New |
mailing_filter_view_search |
mailing.filter.view.search | mailing.filter | search | New |
mailing_filter_view_tree |
mailing.filter.view.list | mailing.filter | list | New |
mailing_list_merge_view_form |
mailing.list.merge.form | mailing.list.merge | form | New |
mailing_list_view_form |
mailing.list.form | mailing.list | form | New |
mailing_list_view_form_simplified |
mailing.list.form.simplified | mailing.list | form | New |
mailing_list_view_kanban |
mailing.list.view.kanban | mailing.list | kanban | New |
mailing_list_view_search |
mailing.list.view.search | mailing.list | search | New |
mailing_list_view_tree |
mailing.list.view.list | mailing.list | list | New |
mailing_mailing_schedule_date_view_form |
mailing.mailing.schedule.date.view.form | mailing.mailing.schedule.date | form | New |
mailing_mailing_view_calendar |
mailing.mailing.view.calendar | mailing.mailing | calendar | New |
mailing_report_deactivated |
Report Unsubscribed | ir.ui.view | qweb | New |
mailing_subscription_optout_view_form |
mailing.subscription.optout.view.form | mailing.subscription.optout | form | New |
mailing_subscription_optout_view_search |
mailing.subscription.optout.view.search | mailing.subscription.optout | search | New |
mailing_subscription_optout_view_tree |
mailing.subscription.optout.view.list | mailing.subscription.optout | list | New |
mailing_subscription_view_form |
mailing.subscription.view.form | mailing.subscription | form | New |
mailing_subscription_view_graph |
mailing.subscription.view.graph | mailing.subscription | graph | New |
mailing_subscription_view_pivot |
mailing.subscription.view.pivot | mailing.subscription | pivot | New |
mailing_subscription_view_search |
mailing.subscription.view.search | mailing.subscription | search | New |
mailing_subscription_view_tree |
mailing.subscription.view.list | mailing.subscription | list | New |
mailing_trace_report_view_graph |
mailing.trace.report.view.graph | mailing.trace.report | graph | New |
mailing_trace_report_view_pivot |
mailing.trace.report.view.pivot | mailing.trace.report | pivot | New |
mailing_trace_report_view_search |
mailing.trace.report.view.search | mailing.trace.report | search | New |
mailing_trace_report_view_tree |
mailing.trace.report.view.list | mailing.trace.report | list | New |
mailing_trace_view_form |
mailing.trace.view.form | mailing.trace | form | New |
mailing_trace_view_search |
mailing.trace.view.search | mailing.trace | search | New |
mailing_trace_view_tree |
mailing.trace.view.list | mailing.trace | list | New |
mailing_trace_view_tree_mail |
mailing.trace.view.list.mail | mailing.trace | list | New |
mailing_view |
Browser View | ir.ui.view | qweb | New |
mailing_view_generic |
View in Browser | ir.ui.view | qweb | New |
mass_mailing.layout |
Mass Mailing Layout | ir.ui.view | qweb | New |
mass_mailing.mass_mailing_kpi_link_trackers |
Marketing: mailing link trackers statistic | ir.ui.view | qweb | New |
mass_mailing.preview_content_mobile |
mass_mailing.preview_content_mobile | ir.ui.view | qweb | New |
mass_mailing.s_content_card_1 |
Content card | ir.ui.view | qweb | New |
mass_mailing.s_content_card_2 |
Content card | ir.ui.view | qweb | New |
mass_mailing.s_content_card_3 |
Content card | ir.ui.view | qweb | New |
mass_mailing.s_content_card_4 |
Content card | ir.ui.view | qweb | New |
mass_mailing.s_content_card_5 |
Content card | ir.ui.view | qweb | New |
mass_mailing.s_content_card_6 |
Content card | ir.ui.view | qweb | New |
mass_mailing.s_content_card_7 |
Content card | ir.ui.view | qweb | New |
mass_mailing.s_mailing_list_advertisement |
Mailing List | ir.ui.view | qweb | New |
mass_mailing.s_snippet_group |
Snippet Group | ir.ui.view | qweb | New |
mass_mailing_mail_layout |
mass_mailing_mail_layout | ir.ui.view | qweb | New |
page_mailing_confirm_unsubscribe |
page_mailing_confirm_unsubscribe | ir.ui.view | qweb | New |
page_mailing_has_unsubscribed |
page_mailing_has_unsubscribed | ir.ui.view | qweb | New |
page_mailing_unsubscribe |
Unsubscribe | ir.ui.view | qweb | New |
res_config_settings_view_form |
res.config.settings.view.form.inherit.mass.mailing | res.config.settings | xpath | Inherits base.res_config_settings_view_form |
s_alert |
Alert | ir.ui.view | qweb | New |
s_attributes_horizontal |
Horizontal Attributes | ir.ui.view | qweb | New |
s_author |
Author | ir.ui.view | qweb | New |
s_badge |
Badge | ir.ui.view | qweb | New |
s_blockquote |
Blockquote | ir.ui.view | qweb | New |
s_blog_post_card |
Blog Post | ir.ui.view | qweb | New |
s_blog_title |
Blog Title | ir.ui.view | qweb | New |
s_button |
Button | ir.ui.view | qweb | New |
s_call_to_action |
Call to Action | ir.ui.view | qweb | New |
s_centered_cta_badge |
Alert Info CTA | ir.ui.view | qweb | New |
s_color_blocks_2 |
Big Boxes | ir.ui.view | qweb | New |
s_company_team |
Team | ir.ui.view | qweb | New |
s_company_team_shapes |
Team Shapes | ir.ui.view | qweb | New |
s_comparisons |
Comparisons | ir.ui.view | qweb | New |
s_coupon_code |
Promo Code | ir.ui.view | qweb | New |
s_cover |
Cover | ir.ui.view | qweb | New |
s_cta_badge |
CTA Badge | ir.ui.view | qweb | New |
s_customer_quote |
Customer Quote | ir.ui.view | qweb | New |
s_event |
Event | ir.ui.view | qweb | New |
s_features_column |
Features Column | ir.ui.view | qweb | New |
s_features_grid |
Features Grid | ir.ui.view | qweb | New |
s_features_showcase |
Feature Showcase with Image | ir.ui.view | qweb | New |
s_hr |
Separator | ir.ui.view | qweb | New |
s_hr_title |
Separator Title | ir.ui.view | qweb | New |
s_icon |
Icon | ir.ui.view | qweb | New |
s_image |
Image | ir.ui.view | qweb | New |
s_image_text |
Image - Text | ir.ui.view | qweb | New |
s_inline_text |
Text | ir.ui.view | qweb | New |
s_link_list |
Link List | ir.ui.view | qweb | New |
s_mail_block_footer_one_liner |
Social + Footer + Separator | ir.ui.view | qweb | New |
s_mail_block_footer_social |
Social + Footer | ir.ui.view | qweb | New |
s_mail_block_footer_social_and_logo |
Social + Logo | ir.ui.view | qweb | New |
s_mail_block_footer_social_left |
Social + Footer | ir.ui.view | qweb | New |
s_mail_block_header_logo |
Centered Logo | ir.ui.view | qweb | New |
s_mail_block_header_logo_and_button |
s_mail_block_header_logo_and_button | ir.ui.view | qweb | New |
s_mail_block_header_logo_and_inline_menu |
Logo + Inline Menu | ir.ui.view | qweb | New |
s_mail_block_header_logo_and_stacked_menu |
Logo + Stacked Menu | ir.ui.view | qweb | New |
s_mail_block_header_logo_col |
Company Logo with Dates and Issues | ir.ui.view | qweb | New |
s_mail_block_header_menu |
s_mail_block_header_menu | ir.ui.view | qweb | New |
s_mail_block_header_name_and_button |
Company Name and Log In Button | ir.ui.view | qweb | New |
s_mail_block_header_name_and_inline_menu |
Company Name and Menu | ir.ui.view | qweb | New |
s_mail_block_header_social |
Left Logo | ir.ui.view | qweb | New |
s_mail_block_header_text_social |
Left Text | ir.ui.view | qweb | New |
s_mail_block_header_view |
View Online | ir.ui.view | qweb | New |
s_masonry_block |
Masonry | ir.ui.view | qweb | New |
s_masonry_block_alternation_image_text_template |
s_masonry_block_alternation_image_text_template | ir.ui.view | qweb | New |
s_masonry_block_alternation_text_image_template |
s_masonry_block_alternation_text_image_template | ir.ui.view | qweb | New |
s_masonry_block_alternation_text_image_text_template |
s_masonry_block_alternation_text_image_text_template | ir.ui.view | qweb | New |
s_masonry_block_alternation_text_template |
s_masonry_block_alternation_text_template | ir.ui.view | qweb | New |
s_masonry_block_default_template |
s_masonry_block_default_template | ir.ui.view | qweb | New |
s_masonry_block_image_texts_image_template |
s_masonry_block_image_texts_image_template | ir.ui.view | qweb | New |
s_masonry_block_images_template |
s_masonry_block_images_template | ir.ui.view | qweb | New |
s_masonry_block_mosaic_template |
s_masonry_block_mosaic_template | ir.ui.view | qweb | New |
s_masonry_block_reversed_template |
s_masonry_block_reversed_template | ir.ui.view | qweb | New |
s_masonry_block_texts_image_texts_template |
s_masonry_block_texts_image_texts_template | ir.ui.view | qweb | New |
s_media_list |
Media List | ir.ui.view | qweb | New |
s_membership_advertisement |
Membership Advertisement | ir.ui.view | qweb | New |
s_numbers |
Numbers | ir.ui.view | qweb | New |
s_picture |
Picture | ir.ui.view | qweb | New |
s_pricelist_boxed |
Pricelist Boxed | ir.ui.view | qweb | New |
s_pricelist_boxed_item |
s_pricelist_boxed_item | ir.ui.view | qweb | New |
s_product_list |
Items | ir.ui.view | qweb | New |
s_rating |
Rating | ir.ui.view | qweb | New |
s_references |
References | ir.ui.view | qweb | New |
s_reviews_wall |
Customers Testimonials | ir.ui.view | qweb | New |
s_schedule |
Schedule | ir.ui.view | qweb | New |
s_section_mobile |
App Advertising Block | ir.ui.view | qweb | New |
s_showcase |
Showcase | ir.ui.view | qweb | New |
s_special_offer_cta |
Special Offer CTA | ir.ui.view | qweb | New |
s_subtitle |
Subtitle | ir.ui.view | qweb | New |
s_text_block |
Text | ir.ui.view | qweb | New |
s_text_card |
Card with Text | ir.ui.view | qweb | New |
s_text_center_cta |
Call To Action with Centered Text | ir.ui.view | qweb | New |
s_text_contact |
Contact and Schedule | ir.ui.view | qweb | New |
s_text_cta_card |
Call To Action Card | ir.ui.view | qweb | New |
s_text_describing_benefits |
Benefits | ir.ui.view | qweb | New |
s_text_highlight |
Text Highlight | ir.ui.view | qweb | New |
s_text_image |
Text - Image | ir.ui.view | qweb | New |
s_text_left_cta |
Call To Action with Text | ir.ui.view | qweb | New |
s_text_need_help |
Need Help? | ir.ui.view | qweb | New |
s_text_product_description |
Product Description | ir.ui.view | qweb | New |
s_text_product_showcase |
Product Showcase | ir.ui.view | qweb | New |
s_text_signature |
Mail Structure | ir.ui.view | qweb | New |
s_three_columns |
Columns | ir.ui.view | qweb | New |
s_title |
Title | ir.ui.view | qweb | New |
s_title_with_side_text |
Title with Side Text | ir.ui.view | qweb | New |
s_video |
Video | ir.ui.view | qweb | New |
social_links |
social_links | ir.ui.view | qweb | New |
theme_basic_template |
theme_basic_template | ir.ui.view | qweb | New |
theme_default_template |
theme_default_template | ir.ui.view | qweb | New |
theme_empty_template |
theme_empty_template | ir.ui.view | qweb | New |
unsubscribe_form |
unsubscribe_form | ir.ui.view | qweb | New |
utm_campaign_view_form |
utm.campaign.view.form | utm.campaign | xpath | Inherits utm.utm_campaign_view_form |
utm_campaign_view_kanban |
utm.campaign.view.kanban | utm.campaign | xpath | Inherits utm.utm_campaign_view_kanban |
view_mail_mail_statistics_graph |
Mail Statistics Graph | mailing.trace | graph | New |
view_mail_mass_mailing_form |
mailing.mailing.form | mailing.mailing | form | New |
view_mail_mass_mailing_kanban |
mailing.mailing.kanban | mailing.mailing | kanban | New |
view_mail_mass_mailing_search |
mailing.mailing.search | mailing.mailing | search | New |
view_mail_mass_mailing_test_form |
mailing.mailing.test.form | mailing.mailing.test | form | New |
view_mail_mass_mailing_tree |
mailing.mailing.list | mailing.mailing | list | New |
No new fields.
Public methods (0)No public methods.
active_mailing_ids
One2many → mailing.mailing
comodel_name='mailing.mailing'
domain=[('state', '!=', 'done'), ('active', '=', True)]
inverse_name='mail_server_id'
readonly=True
string='Active mailing using this mail server'
No public methods.
is_mailing_enabled
Boolean
compute='_compute_is_mailing_enabled'
help='Whether this model supports marketing mailing capabilities (notably email and SMS).'
search='_search_is_mailing_enabled'
string='Mailing Enabled'
No public methods.
mass_mailing_id
Many2one → mailing.mailing
string='Mass Mailing'
args: 'mailing.mailing'
No public methods.
mailing_trace_id
Many2one → mailing.trace
index='btree_not_null'
string='Mail Statistics'
args: 'mailing.trace'
mass_mailing_id
Many2one → mailing.mailing
index='btree_not_null'
string='Mass Mailing'
args: 'mailing.mailing'
add_click(self, code, **route_values)
opt_out_reason_id
Many2one → mailing.subscription.optout
ondelete='restrict'
string='Opt-out Reason'
tracking=10
args: 'mailing.subscription.optout'
No public methods.
campaign_id
Many2one → utm.campaign
ondelete='set null'
string='Mass Mailing Campaign'
args: 'utm.campaign'
mailing_list_ids
Many2many → mailing.list
string='Mailing List'
args: 'mailing.list'
mass_mailing_id
Many2one → mailing.mailing
ondelete='cascade'
string='Mass Mailing'
args: 'mailing.mailing'
mass_mailing_name
Char
help='If set, a mass mailing will be created so that you can track its results in the Email Marketing app.'
string='Mass Mailing Name'
No public methods.
mailing_id
Many2one → mailing.mailing
string='Mass Mailing'
args: 'mailing.mailing'
mailing_trace_ids
One2many → mailing.trace
string='Statistics'
args: 'mailing.trace', 'mail_mail_id'
No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (3)message_mail_with_source(self, source_ref, **kwargs)
message_new(self, msg_dict, custom_values=None)
message_post_with_source(self, source_ref, **kwargs)
company_name
Char
string='Company Name'
country_id
Many2one → res.country
string='Country'
args: 'res.country'
email
Char
first_name
Char
last_name
Char
list_ids
Many2many → mailing.list
string='Mailing Lists'
args: 'mailing.list', 'mailing_subscription', 'contact_id', 'list_id'
name
Char
compute='_compute_name'
readonly=False
store=True
tracking=True
args: 'Name'
opt_out
Boolean
compute='_compute_opt_out'
help='Opt out flag for a specific mailing list. This field should not be used in a view without a unique and active mailing list context.'
search='_search_opt_out'
args: 'Opt Out'
subscription_ids
One2many → mailing.subscription
string='Subscription Information'
args: 'mailing.subscription', 'contact_id'
tag_ids
Many2many → res.partner.category
string='Tags'
args: 'res.partner.category'
action_add_to_mailing_list(self)
action_import(self)
add_to_list(self, name, list_id)
copy(self, default=None)
create(self, vals_list)
default_get(self, fields)
fields_get(self, allfields=None, attributes=None)
get_import_templates(self)
name_create(self, name)
contact_list
Text
help='Contact list that will be imported, one contact per line'
args: 'Contact List'
mailing_list_ids
Many2many → mailing.list
string='Lists'
args: 'mailing.list'
action_import(self)
action_open_base_import(self)
contact_ids
Many2many → mailing.contact
string='Contacts'
args: 'mailing.contact'
mailing_list_id
Many2one → mailing.list
required=True
string='Mailing List'
args: 'mailing.list'
action_add_contacts(self)
action_add_contacts_and_send_mailing(self)
create_uid
Many2one → res.users
default=<expr>
index=True
readonly=True
args: 'res.users', 'Saved by'
mailing_domain
Char
required=True
string='Filter Domain'
mailing_model_id
Many2one → ir.model
ondelete='cascade'
required=True
string='Recipients Model'
args: 'ir.model'
mailing_model_name
Char
related='mailing_model_id.model'
string='Recipients Model Name'
name
Char
required=True
string='Filter Name'
No public methods.
active
Boolean
default=True
contact_count
Integer
compute='_compute_mailing_list_statistics'
string='Number of Contacts'
contact_count_blacklisted
Integer
compute='_compute_mailing_list_statistics'
string='Number of Blacklisted'
contact_count_email
Integer
compute='_compute_mailing_list_statistics'
string='Number of Emails'
contact_count_opt_out
Integer
compute='_compute_mailing_list_statistics'
string='Number of Opted-out'
contact_ids
Many2many → mailing.contact
copy=False
string='Mailing Lists'
args: 'mailing.contact', 'mailing_subscription', 'list_id', 'contact_id'
contact_pct_blacklisted
Float
compute='_compute_mailing_list_statistics'
string='Percentage of Blacklisted'
contact_pct_bounce
Float
compute='_compute_mailing_list_statistics'
string='Percentage of Bouncing'
contact_pct_opt_out
Float
compute='_compute_mailing_list_statistics'
string='Percentage of Opted-out'
is_public
Boolean
default=False
help='The mailing list can be accessible by recipients in the subscription management page to allow them to update their preferences.'
string='Show In Preferences'
mailing_count
Integer
compute='_compute_mailing_count'
string='Number of Mailing'
mailing_ids
Many2many → mailing.mailing
copy=False
string='Mass Mailings'
args: 'mailing.mailing', 'mail_mass_mailing_list_rel'
name
Char
required=True
string='Mailing List'
subscription_ids
One2many → mailing.subscription
copy=True
depends=['contact_ids']
string='Subscription Information'
args: 'mailing.subscription', 'list_id'
action_merge(self, src_lists, archive)
action_open_import(self)
action_send_mailing(self)
action_view_contacts(self)
action_view_contacts_blacklisted(self)
action_view_contacts_bouncing(self)
action_view_contacts_email(self)
action_view_contacts_opt_out(self)
action_view_mailings(self)
copy_data(self, default=None)
write(self, vals)
archive_src_lists
Boolean
default=True
args: 'Archive source mailing lists'
dest_list_id
Many2one → mailing.list
string='Destination Mailing List'
args: 'mailing.list'
merge_options
Selection
default='new'
required=True
args: [('new', 'Merge into a new mailing list'), ('existing', 'Merge into an existing mailing list')], 'Merge Option'
new_list_name
Char
src_list_ids
Many2many → mailing.list
string='Mailing Lists'
args: 'mailing.list'
action_mailing_lists_merge(self)
default_get(self, fields)
ab_testing_completed
Boolean
related='campaign_id.ab_testing_completed'
ab_testing_description
Html
compute='_compute_ab_testing_description'
args: 'A/B Testing Description'
ab_testing_enabled
Boolean
default=False
help='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.'
string='Allow A/B Testing'
ab_testing_is_winner_mailing
Boolean
compute='_compute_ab_testing_is_winner_mailing'
args: 'Is the Winner of its Campaign'
ab_testing_mailings_count
Integer
related='campaign_id.ab_testing_mailings_count'
ab_testing_pc
Integer
default=10
help='Percentage of the contacts that will be mailed. Recipients will be chosen randomly.'
string='A/B Testing percentage'
ab_testing_schedule_datetime
Datetime
default=<expr>
readonly=False
related='campaign_id.ab_testing_schedule_datetime'
ab_testing_winner_selection
Selection
copy=True
default='opened_ratio'
readonly=False
related='campaign_id.ab_testing_winner_selection'
active
Boolean
default=True
tracking=True
attachment_ids
Many2many → ir.attachment
bypass_search_access=True
string='Attachments'
args: 'ir.attachment', 'mass_mailing_ir_attachments_rel', 'mass_mailing_id', 'attachment_id'
body_arch
Html
sanitize='email_outgoing'
sanitize_output_method='html'
string='Body'
translate=False
body_html
Html
render_engine='qweb'
render_options={'post_process': True}
sanitize='email_outgoing'
string='Body converted to be sent by mail'
bounced
Integer
compute='_compute_statistics'
bounced_ratio
Float
compute='_compute_statistics'
string='Bounced Ratio'
calendar_date
Datetime
compute='_compute_calendar_date'
copy=False
help='Date at which the mailing was or will be sent.'
store=True
args: 'Calendar Date'
campaign_id
Many2one → utm.campaign
index=True
ondelete='set null'
string='UTM Campaign'
args: 'utm.campaign'
canceled
Integer
compute='_compute_statistics'
clicked
Integer
compute='_compute_statistics'
clicks_ratio
Float
compute='_compute_clicks_ratio'
string='Number of Clicks'
color
Integer
string='Color Index'
contact_list_ids
Many2many → mailing.list
string='Mailing Lists'
args: 'mailing.list', 'mail_mass_mailing_list_rel'
delivered
Integer
compute='_compute_statistics'
email_from
Char
compute='_compute_email_from'
precompute=True
readonly=False
store=True
string='Send From'
expected
Integer
compute='_compute_statistics'
failed
Integer
compute='_compute_statistics'
favorite
Boolean
copy=False
tracking=True
args: 'Favorite'
favorite_date
Datetime
compute='_compute_favorite_date'
copy=False
help='When this mailing was added in the favorites'
store=True
args: 'Favorite Date'
is_ab_test_sent
Boolean
compute='_compute_is_ab_test_sent'
is_body_empty
Boolean
compute='_compute_is_body_empty'
keep_archives
Boolean
string='Keep Archives'
kpi_mail_required
Boolean
copy=False
args: 'KPI mail required'
link_trackers_count
Integer
compute='_compute_link_trackers_count'
string='Link Trackers Count'
mail_server_available
Boolean
compute='_compute_mail_server_available'
help='Technical field used to know if the user has activated the outgoing mail server option in the settings'
mail_server_id
Many2one → ir.mail_server
default=_get_default_mail_server_id
help='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.'
index='btree_not_null'
string='Mail Server'
args: 'ir.mail_server'
mailing_domain
Char
compute='_compute_mailing_domain'
compute_sudo=False
readonly=False
store=True
string='Domain'
mailing_filter_count
Integer
compute='_compute_mailing_filter_count'
args: '# Favorite Filters'
mailing_filter_domain
Char
related='mailing_filter_id.mailing_domain'
args: 'Favorite filter domain'
mailing_filter_id
Many2one → mailing.filter
compute='_compute_mailing_filter_id'
domain="[('mailing_model_name', '=', mailing_model_name)]"
readonly=False
store=True
string='Favorite Filter'
args: 'mailing.filter'
mailing_model_id
Many2one → ir.model
default=<expr>
domain=[('is_mailing_enabled', '=', True)]
ondelete='cascade'
required=True
string='Recipients Model'
args: 'ir.model'
mailing_model_name
Char
readonly=True
related='mailing_model_id.model'
related_sudo=True
string='Recipients Model Name'
mailing_model_real
Char
compute='_compute_mailing_model_real'
string='Recipients Real Model'
mailing_on_mailing_list
Boolean
compute='_compute_mailing_on_mailing_list'
string='Based on Mailing Lists'
mailing_trace_ids
One2many → mailing.trace
string='Emails Statistics'
args: 'mailing.trace', 'mass_mailing_id'
mailing_type
Selection
default='mail'
required=True
string='Mailing Type'
args: [('mail', 'Email')]
mailing_type_description
Char
compute='_compute_mailing_type_description'
args: 'Mailing Type Description'
medium_id
Many2one → utm.medium
compute='_compute_medium_id'
help='UTM Medium: delivery method (email, sms, ...)'
ondelete='restrict'
readonly=False
store=True
string='Medium'
args: 'utm.medium'
next_departure
Datetime
compute='_compute_next_departure'
string='Scheduled date'
next_departure_is_past
Boolean
compute='_compute_next_departure'
opened
Integer
compute='_compute_statistics'
opened_ratio
Float
compute='_compute_statistics'
string='Opened Ratio'
pending
Integer
compute='_compute_statistics'
preview
Char
help='Catchy preview sentence that encourages recipients to open this email.\nIn most inboxes, this is displayed next to the subject.\nKeep it empty if you prefer the first characters of your email content to appear instead.'
render_engine='inline_template'
render_options={'post_process': True}
translate=False
args: 'Preview'
process
Integer
compute='_compute_statistics'
received_ratio
Float
compute='_compute_statistics'
string='Received Ratio'
replied
Integer
compute='_compute_statistics'
replied_ratio
Float
compute='_compute_statistics'
string='Replied Ratio'
reply_to
Char
compute='_compute_reply_to'
help='Preferred Reply-To Address'
readonly=False
store=True
string='Reply To'
reply_to_mode
Selection
compute='_compute_reply_to_mode'
help='Thread: replies go to target document. Email: replies are routed to a given email.'
readonly=False
store=True
string='Reply-To Mode'
args: [('update', 'Recipient Followers'), ('new', 'Specified Email Address')]
schedule_date
Datetime
compute='_compute_schedule_date'
copy=True
readonly=False
store=True
string='Scheduled for'
tracking=True
schedule_type
Selection
default='now'
readonly=False
required=True
string='Schedule'
args: [('now', 'Send now'), ('scheduled', 'Send on')]
scheduled
Integer
compute='_compute_statistics'
sent
Integer
compute='_compute_statistics'
sent_date
Datetime
copy=False
string='Sent Date'
state
Selection
copy=False
default='draft'
group_expand=True
required=True
string='Status'
tracking=True
args: [('draft', 'Draft'), ('in_queue', 'In Queue'), ('sending', 'Sending'), ('done', 'Sent')]
subject
Char
required=True
translate=False
args: 'Subject'
total
Integer
compute='_compute_total'
use_exclusion_list
Boolean
copy=False
default=True
help='Prevent sending messages to blacklisted contacts. Disable only when absolutely necessary.'
args: 'Use Exclusion List'
user_id
Many2one → res.users
default=<expr>
string='Responsible'
tracking=True
args: 'res.users'
warning_message
Char
compute='_compute_warning_message'
help='Warning message displayed in the mailing form view'
args: 'Warning Message'
action_cancel(self)
action_compare_versions(self)
action_duplicate(self)
action_fetch_favorites(self, extra_domain=None)
action_launch(self)
action_put_in_queue(self)
action_reload(self)
action_remove_favorite(self)
action_retry_failed(self)
action_schedule(self)
action_select_as_winner(self)
action_send_mail(self, res_ids=None)
action_send_winner_mailing(self)
action_set_favorite(self)
action_test(self)
action_view_bounced(self)
action_view_clicked(self)
action_view_delivered(self)
action_view_link_trackers(self)
action_view_mailing_contacts(self)
action_view_opened(self)
action_view_replied(self)
action_view_traces_canceled(self)
action_view_traces_failed(self)
action_view_traces_process(self)
action_view_traces_scheduled(self)
action_view_traces_sent(self)
convert_links(self)
copy_data(self, default=None)
create(self, vals_list)
default_get(self, fields)
write(self, vals)
mass_mailing_id
Many2one → mailing.mailing
required=True
args: 'mailing.mailing'
schedule_date
Datetime
string='Scheduled for'
action_schedule_date(self)
email_to
Text
default=_default_email_to
help='Carriage-return-separated list of email addresses.'
required=True
string='Recipients'
mass_mailing_id
Many2one → mailing.mailing
ondelete='cascade'
required=True
string='Mailing'
args: 'mailing.mailing'
send_mail_test(self)
contact_id
Many2one → mailing.contact
ondelete='cascade'
required=True
string='Contact'
args: 'mailing.contact'
is_blacklisted
Boolean
readonly=False
related='contact_id.is_blacklisted'
store=False
list_id
Many2one → mailing.list
index=True
ondelete='cascade'
required=True
string='Mailing List'
args: 'mailing.list'
message_bounce
Integer
readonly=False
related='contact_id.message_bounce'
store=False
opt_out
Boolean
default=False
help='The contact has chosen not to receive mails anymore from this list'
string='Opt Out'
opt_out_datetime
Datetime
compute='_compute_opt_out_datetime'
readonly=False
store=True
string='Unsubscription Date'
opt_out_reason_id
Many2one → mailing.subscription.optout
ondelete='restrict'
string='Reason'
args: 'mailing.subscription.optout'
create(self, vals_list)
open_mailing_contact(self)
write(self, vals)
is_feedback
Boolean
string='Ask For Feedback'
name
Char
string='Reason'
translate=True
sequence
Integer
default=10
string='Sequence'
No public methods.
campaign_id
Many2one
index='btree_not_null'
readonly=True
related='mass_mailing_id.campaign_id'
store=True
string='Campaign'
email
Char
help='Normalized email address'
string='Email'
failure_reason
Text
copy=False
readonly=True
args: 'Failure reason'
failure_type
Selection
selection=[('unknown', 'Unknown error'), ('mail_bounce', 'Bounce'), ('mail_spam', 'Detected As Spam'), ('mail_email_invalid', 'Invalid email address'), ('mail_email_missing', 'Missing email address'), ('mail_from_invalid', 'Invalid from address'), ('mail_from_missing', 'Missing from address'), ('mail_smtp', 'Connection failed (outgoing mail server problem)'), ('mail_bl', 'Blacklisted Address'), ('mail_dup', 'Duplicated Email'), ('mail_optout', 'Opted Out')]
string='Failure type'
is_test_trace
Boolean
links_click_datetime
Datetime
help='Stores last click datetime in case of multi clicks.'
args: 'Clicked On'
links_click_ids
One2many → link.tracker.click
string='Links click'
args: 'link.tracker.click', 'mailing_trace_id'
mail_mail_id
Many2one → mail.mail
index='btree_not_null'
string='Mail'
args: 'mail.mail'
mail_mail_id_int
Integer
help='ID of the related mail_mail. This field is an integer field because the related mail_mail can be deleted separately from its statistics. However the ID is needed for several action and controllers.'
index='btree_not_null'
string='Mail ID (tech)'
mass_mailing_id
Many2one → mailing.mailing
index=True
ondelete='cascade'
string='Mailing'
args: 'mailing.mailing'
medium_id
Many2one
related='mass_mailing_id.medium_id'
message_id
Char
string='Message-ID'
model
Char
required=True
string='Document model'
open_datetime
Datetime
reply_datetime
Datetime
res_id
Many2oneReference
model_field='model'
string='Document ID'
sent_datetime
Datetime
source_id
Many2one
related='mass_mailing_id.source_id'
trace_status
Selection
default='outgoing'
selection=[('outgoing', 'Outgoing'), ('process', 'Processing'), ('pending', 'Sent'), ('sent', 'Delivered'), ('open', 'Opened'), ('reply', 'Replied'), ('bounce', 'Bounced'), ('error', 'Exception'), ('cancel', 'Cancelled')]
string='Status'
trace_type
Selection
default='mail'
required=True
string='Type'
args: [('mail', 'Email')]
action_view_contact(self)
create(self, vals_list)
set_bounced(self, domain=None, bounce_message=False)
set_canceled(self, domain=None)
set_clicked(self, domain=None)
set_failed(self, domain=None, failure_type=False)
set_opened(self, domain=None)
set_replied(self, domain=None)
set_sent(self, domain=None)
bounced
Integer
readonly=True
campaign
Char
readonly=True
string='Mailing Campaign'
canceled
Integer
readonly=True
clicked
Integer
readonly=True
delivered
Integer
readonly=True
email_from
Char
readonly=True
args: 'From'
error
Integer
readonly=True
mailing_type
Selection
default='mail'
required=True
string='Type'
args: [('mail', 'Mail')]
name
Char
readonly=True
string='Mass Mail'
opened
Integer
readonly=True
pending
Integer
readonly=True
processing
Integer
readonly=True
replied
Integer
readonly=True
scheduled
Integer
readonly=True
scheduled_date
Datetime
readonly=True
string='Scheduled Date'
sent
Integer
readonly=True
state
Selection
readonly=True
string='Status'
args: [('draft', 'Draft'), ('test', 'Tested'), ('done', 'Sent')]
init(self)
No new fields.
Public methods (0)No public methods.
group_mass_mailing_campaign
Boolean
help='This is useful if your marketing campaigns are composed of several emails'
implied_group='mass_mailing.group_mass_mailing_campaign'
string='Mailing Campaigns'
mass_mailing_mail_server_id
Many2one → ir.mail_server
config_parameter='mass_mailing.mail_server_id'
string='Mail Server'
args: 'ir.mail_server'
mass_mailing_outgoing_mail_server
Boolean
config_parameter='mass_mailing.outgoing_mail_server'
help='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.'
string='Dedicated Server'
mass_mailing_reports
Boolean
config_parameter='mass_mailing.mass_mailing_reports'
help='Check how well your mailing is doing a day after it has been sent.'
string='24H Stat Mailing Reports'
mass_mailing_split_contact_name
Boolean
help='Separate Mailing Contact Names into two fields'
string='Split First and Last Name'
show_blacklist_buttons
Boolean
config_parameter='mass_mailing.show_blacklist_buttons'
help='Allow the recipient to manage themselves their state in the blacklist via the unsubscription page.'
string='Blacklist Option when Unsubscribing'
get_values(self)
set_values(self)
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
ab_testing_completed
Boolean
compute='_compute_ab_testing_completed'
copy=False
readonly=True
store=True
args: 'A/B Testing Campaign Finished'
ab_testing_mailings_count
Integer
compute='_compute_mailing_mail_count'
args: 'A/B Test Mailings #'
ab_testing_schedule_datetime
Datetime
default=<expr>
help='Date that will be used to know when to determine and send the winner mailing'
args: 'Send Final On'
ab_testing_winner_mailing_id
Many2one → mailing.mailing
copy=False
args: 'mailing.mailing', 'A/B Campaign Winner Mailing'
ab_testing_winner_selection
Selection
default='opened_ratio'
help='Selection to determine the winner mailing that will be sent.'
string='Winner Selection'
args: [('manual', 'Manual'), ('opened_ratio', 'Highest Open Rate'), ('clicks_ratio', 'Highest Click Rate'), ('replied_ratio', 'Highest Reply Rate')]
bounced_ratio
Float
compute='_compute_statistics'
string='Bounced Ratio'
is_mailing_campaign_activated
Boolean
compute='_compute_is_mailing_campaign_activated'
mailing_mail_count
Integer
compute='_compute_mailing_mail_count'
groups='mass_mailing.group_mass_mailing_user'
args: 'Number of Mass Mailing'
mailing_mail_ids
One2many → mailing.mailing
domain=[('mailing_type', '=', 'mail')]
groups='mass_mailing.group_mass_mailing_user'
string='Mass Mailings'
args: 'mailing.mailing', 'campaign_id'
opened_ratio
Float
compute='_compute_statistics'
string='Opened Ratio'
received_ratio
Float
compute='_compute_statistics'
string='Received Ratio'
replied_ratio
Float
compute='_compute_statistics'
string='Replied Ratio'
No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
ab_testing_description |
Mass Mailing: A/B Test Description | ir.ui.view | qweb | New |
digest_mail_main |
digest_mail_main | ir.ui.view | qweb | Inherits digest.digest_mail_main |
email_compose_form_mass_mailing |
mail.compose.message.form.mass_mailing | mail.compose.message | xpath | Inherits mail.email_compose_message_wizard_form |
email_designer_snippets |
email_designer_snippets | ir.ui.view | qweb | Inherits web_editor.snippets |
email_designer_themes |
email_designer_themes | ir.ui.view | qweb | New |
link_tracker_click_view_form |
link.tracker.click.view.form.inherit.mass_mailing | link.tracker.click | xpath | Inherits link_tracker.link_tracker_click_view_form |
link_tracker_click_view_graph |
link.tracker.click.view.graph.inherit.mass_mailing | link.tracker.click | xpath | Inherits link_tracker.link_tracker_click_view_graph |
link_tracker_click_view_search |
link.tracker.click.view.search.inherit.mass_mailing | link.tracker.click | xpath | Inherits link_tracker.link_tracker_click_view_search |
link_tracker_click_view_tree |
link.tracker.click.view.list.inherit.mass_mailing | link.tracker.click | xpath | Inherits link_tracker.link_tracker_click_view_tree |
link_tracker_view_form |
link.tracker.view.form.inherit.mass.mail | link.tracker | xpath | Inherits link_tracker.link_tracker_view_form |
link_tracker_view_search |
link.tracker.view.search.inherit.mass.mail | link.tracker | xpath | Inherits link_tracker.link_tracker_view_search |
mail_blacklist_view_form |
mail.blacklist.view.form.inherit.mailing | mail.blacklist | xpath | Inherits mail.mail_blacklist_view_form |
mail_blacklist_view_search |
mail.blacklist.view.search | mail.blacklist | xpath | Inherits mail.mail_blacklist_view_search |
mail_blacklist_view_tree |
mail.blacklist.view.list.inherit.mailing | mail.blacklist | xpath | Inherits mail.mail_blacklist_view_tree |
mailing_contact_import_view_form |
mailing.contact.import.view.form | mailing.contact.import | form | New |
mailing_contact_to_list_view_form |
mailing.contact.to.list.view.form | mailing.contact.to.list | form | New |
mailing_contact_view_form |
mailing.contact.view.form | mailing.contact | form | New |
mailing_contact_view_form_split_name |
mailing.contact.view.form.split.name | mailing.contact | xpath | Inherits mass_mailing.mailing_contact_view_form |
mailing_contact_view_graph |
mailing.contact.view.graph | mailing.contact | graph | New |
mailing_contact_view_kanban |
mailing.contact.view.kanban | mailing.contact | kanban | New |
mailing_contact_view_pivot |
mailing.contact.pivot | mailing.contact | pivot | New |
mailing_contact_view_search |
mailing.contact.view.search | mailing.contact | search | New |
mailing_contact_view_tree |
mailing.contact.view.list | mailing.contact | list | New |
mailing_contact_view_tree_split_name |
mailing.contact.view.list.split.name | mailing.contact | xpath | Inherits mass_mailing.mailing_contact_view_tree |
mailing_filter_view_form |
mailing.filter.view.form | mailing.filter | form | New |
mailing_filter_view_search |
mailing.filter.view.search | mailing.filter | search | New |
mailing_filter_view_tree |
mailing.filter.view.list | mailing.filter | list | New |
mailing_list_merge_view_form |
mailing.list.merge.form | mailing.list.merge | form | New |
mailing_list_view_form |
mailing.list.form | mailing.list | form | New |
mailing_list_view_form_simplified |
mailing.list.form.simplified | mailing.list | form | New |
mailing_list_view_kanban |
mailing.list.view.kanban | mailing.list | kanban | New |
mailing_list_view_search |
mailing.list.view.search | mailing.list | search | New |
mailing_list_view_tree |
mailing.list.view.list | mailing.list | list | New |
mailing_mailing_schedule_date_view_form |
mailing.mailing.schedule.date.view.form | mailing.mailing.schedule.date | form | New |
mailing_mailing_view_calendar |
mailing.mailing.view.calendar | mailing.mailing | calendar | New |
mailing_report_deactivated |
Report Unsubscribed | ir.ui.view | qweb | New |
mailing_subscription_optout_view_form |
mailing.subscription.optout.view.form | mailing.subscription.optout | form | New |
mailing_subscription_optout_view_search |
mailing.subscription.optout.view.search | mailing.subscription.optout | search | New |
mailing_subscription_optout_view_tree |
mailing.subscription.optout.view.list | mailing.subscription.optout | list | New |
mailing_subscription_view_form |
mailing.subscription.view.form | mailing.subscription | form | New |
mailing_subscription_view_graph |
mailing.subscription.view.graph | mailing.subscription | graph | New |
mailing_subscription_view_pivot |
mailing.subscription.view.pivot | mailing.subscription | pivot | New |
mailing_subscription_view_search |
mailing.subscription.view.search | mailing.subscription | search | New |
mailing_subscription_view_tree |
mailing.subscription.view.list | mailing.subscription | list | New |
mailing_trace_report_view_graph |
mailing.trace.report.view.graph | mailing.trace.report | graph | New |
mailing_trace_report_view_pivot |
mailing.trace.report.view.pivot | mailing.trace.report | pivot | New |
mailing_trace_report_view_search |
mailing.trace.report.view.search | mailing.trace.report | search | New |
mailing_trace_report_view_tree |
mailing.trace.report.view.list | mailing.trace.report | list | New |
mailing_trace_view_form |
mailing.trace.view.form | mailing.trace | form | New |
mailing_trace_view_search |
mailing.trace.view.search | mailing.trace | search | New |
mailing_trace_view_tree |
mailing.trace.view.list | mailing.trace | list | New |
mailing_trace_view_tree_mail |
mailing.trace.view.list.mail | mailing.trace | list | New |
mailing_view |
Browser View | ir.ui.view | qweb | New |
mailing_view_generic |
View in Browser | ir.ui.view | qweb | New |
mass_mailing.layout |
Mass Mailing Layout | ir.ui.view | qweb | New |
mass_mailing.mass_mailing_kpi_link_trackers |
Marketing: mailing link trackers statistic | ir.ui.view | qweb | New |
mass_mailing.preview_content_mobile |
mass_mailing.preview_content_mobile | ir.ui.view | qweb | New |
mass_mailing_mail_layout |
mass_mailing_mail_layout | ir.ui.view | qweb | New |
page_mailing_unsubscribe |
Unsubscribe | ir.ui.view | qweb | New |
res_config_settings_view_form |
res.config.settings.view.form.inherit.mass.mailing | res.config.settings | xpath | Inherits base.res_config_settings_view_form |
s_alert |
Alert | ir.ui.view | qweb | New |
s_alert_options |
s_alert_options | ir.ui.view | qweb | Inherits mass_mailing.snippet_options |
s_blockquote |
Blockquote | ir.ui.view | qweb | New |
s_call_to_action |
Call to Action | ir.ui.view | qweb | New |
s_color_blocks_2 |
Big Boxes | ir.ui.view | qweb | New |
s_company_team |
Team | ir.ui.view | qweb | New |
s_comparisons |
Comparisons | ir.ui.view | qweb | New |
s_coupon_code |
Promo Code | ir.ui.view | qweb | New |
s_cover |
Cover | ir.ui.view | qweb | New |
s_event |
Event | ir.ui.view | qweb | New |
s_features |
Features | ir.ui.view | qweb | New |
s_features_grid |
Features Grid | ir.ui.view | qweb | New |
s_hr |
Separator | ir.ui.view | qweb | Inherits web_editor.s_hr |
s_hr_options |
s_hr_options | ir.ui.view | qweb | Inherits mass_mailing.snippet_options |
s_image_text |
Image - Text | ir.ui.view | qweb | New |
s_mail_block_discount1 |
Discount Offer | ir.ui.view | qweb | New |
s_mail_block_footer_social |
Footer Center | ir.ui.view | qweb | New |
s_mail_block_footer_social_left |
Footer Left | ir.ui.view | qweb | New |
s_mail_block_header_logo |
Centered Logo | ir.ui.view | qweb | New |
s_mail_block_header_social |
Left Logo | ir.ui.view | qweb | New |
s_mail_block_header_text_social |
Left Text | ir.ui.view | qweb | New |
s_mail_block_header_view |
View Online | ir.ui.view | qweb | New |
s_masonry_block |
Masonry | ir.ui.view | qweb | New |
s_masonry_block_alternation_image_text_template |
s_masonry_block_alternation_image_text_template | ir.ui.view | qweb | New |
s_masonry_block_alternation_text_image_template |
s_masonry_block_alternation_text_image_template | ir.ui.view | qweb | New |
s_masonry_block_alternation_text_image_text_template |
s_masonry_block_alternation_text_image_text_template | ir.ui.view | qweb | New |
s_masonry_block_alternation_text_template |
s_masonry_block_alternation_text_template | ir.ui.view | qweb | New |
s_masonry_block_default_template |
s_masonry_block_default_template | ir.ui.view | qweb | New |
s_masonry_block_image_texts_image_template |
s_masonry_block_image_texts_image_template | ir.ui.view | qweb | New |
s_masonry_block_images_template |
s_masonry_block_images_template | ir.ui.view | qweb | New |
s_masonry_block_mosaic_template |
s_masonry_block_mosaic_template | ir.ui.view | qweb | New |
s_masonry_block_options |
s_masonry_block_options | ir.ui.view | qweb | Inherits mass_mailing.snippet_options |
s_masonry_block_reversed_template |
s_masonry_block_reversed_template | ir.ui.view | qweb | New |
s_masonry_block_texts_image_texts_template |
s_masonry_block_texts_image_texts_template | ir.ui.view | qweb | New |
s_media_list |
Media List | ir.ui.view | qweb | New |
s_numbers |
Numbers | ir.ui.view | qweb | New |
s_picture |
Picture | ir.ui.view | qweb | New |
s_product_list |
Items | ir.ui.view | qweb | New |
s_rating |
Rating | ir.ui.view | qweb | New |
s_rating_options |
s_rating_options | ir.ui.view | qweb | Inherits mass_mailing.snippet_options |
s_references |
References | ir.ui.view | qweb | New |
s_showcase |
Showcase | ir.ui.view | qweb | New |
s_text_block |
Text | ir.ui.view | qweb | New |
s_text_highlight |
Text Highlight | ir.ui.view | qweb | New |
s_text_image |
Text - Image | ir.ui.view | qweb | New |
s_three_columns |
Columns | ir.ui.view | qweb | New |
s_title |
Title | ir.ui.view | qweb | New |
snippet_options |
snippet_options | ir.ui.view | qweb | Inherits web_editor.snippet_options |
snippet_options_background_options |
snippet_options_background_options | ir.ui.view | qweb | Inherits web_editor.snippet_options_background_options |
snippet_options_border_line_widgets |
snippet_options_border_line_widgets | ir.ui.view | qweb | New |
snippet_options_border_widgets |
snippet_options_border_widgets | ir.ui.view | qweb | New |
social_links |
social_links | ir.ui.view | qweb | New |
theme_basic_template |
theme_basic_template | ir.ui.view | qweb | New |
theme_default_template |
theme_default_template | ir.ui.view | qweb | New |
theme_empty_template |
theme_empty_template | ir.ui.view | qweb | New |
unsubscribe_form |
unsubscribe_form | ir.ui.view | qweb | New |
utm_campaign_view_form |
utm.campaign.view.form | utm.campaign | xpath | Inherits utm.utm_campaign_view_form |
utm_campaign_view_kanban |
utm.campaign.view.kanban | utm.campaign | xpath | Inherits utm.utm_campaign_view_kanban |
view_mail_mail_statistics_graph |
Mail Statistics Graph | mailing.trace | graph | New |
view_mail_mass_mailing_form |
mailing.mailing.form | mailing.mailing | form | New |
view_mail_mass_mailing_kanban |
mailing.mailing.kanban | mailing.mailing | kanban | New |
view_mail_mass_mailing_search |
mailing.mailing.search | mailing.mailing | search | New |
view_mail_mass_mailing_test_form |
mailing.mailing.test.form | mailing.mailing.test | form | New |
view_mail_mass_mailing_tree |
mailing.mailing.list | mailing.mailing | list | New |
No new fields.
Public methods (0)No public methods.
active_mailing_ids
One2many → mailing.mailing
comodel_name='mailing.mailing'
domain=[('state', '!=', 'done'), ('active', '=', True)]
inverse_name='mail_server_id'
readonly=True
string='Active mailing using this mail server'
No public methods.
is_mailing_enabled
Boolean
compute='_compute_is_mailing_enabled'
help='Whether this model supports marketing mailing capabilities (notably email and SMS).'
search='_search_is_mailing_enabled'
string='Mailing Enabled'
No public methods.
mass_mailing_id
Many2one → mailing.mailing
string='Mass Mailing'
args: 'mailing.mailing'
No public methods.
mailing_trace_id
Many2one → mailing.trace
index='btree_not_null'
string='Mail Statistics'
args: 'mailing.trace'
mass_mailing_id
Many2one → mailing.mailing
index='btree_not_null'
string='Mass Mailing'
args: 'mailing.mailing'
add_click(self, code, **route_values)
opt_out_reason_id
Many2one → mailing.subscription.optout
ondelete='restrict'
string='Opt-out Reason'
tracking=10
args: 'mailing.subscription.optout'
No public methods.
campaign_id
Many2one → utm.campaign
ondelete='set null'
string='Mass Mailing Campaign'
args: 'utm.campaign'
mailing_list_ids
Many2many → mailing.list
string='Mailing List'
args: 'mailing.list'
mass_mailing_id
Many2one → mailing.mailing
ondelete='cascade'
string='Mass Mailing'
args: 'mailing.mailing'
mass_mailing_name
Char
help='If set, a mass mailing will be created so that you can track its results in the Email Marketing app.'
string='Mass Mailing Name'
No public methods.
mailing_id
Many2one → mailing.mailing
string='Mass Mailing'
args: 'mailing.mailing'
mailing_trace_ids
One2many → mailing.trace
string='Statistics'
args: 'mailing.trace', 'mail_mail_id'
No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (3)message_mail_with_source(self, source_ref, **kwargs)
message_new(self, msg_dict, custom_values=None)
message_post_with_source(self, source_ref, **kwargs)
company_name
Char
string='Company Name'
country_id
Many2one → res.country
string='Country'
args: 'res.country'
email
Char
first_name
Char
last_name
Char
list_ids
Many2many → mailing.list
string='Mailing Lists'
args: 'mailing.list', 'mailing_subscription', 'contact_id', 'list_id'
name
Char
compute='_compute_name'
readonly=False
store=True
tracking=True
args: 'Name'
opt_out
Boolean
compute='_compute_opt_out'
help='Opt out flag for a specific mailing list. This field should not be used in a view without a unique and active mailing list context.'
search='_search_opt_out'
args: 'Opt Out'
subscription_ids
One2many → mailing.subscription
string='Subscription Information'
args: 'mailing.subscription', 'contact_id'
tag_ids
Many2many → res.partner.category
string='Tags'
args: 'res.partner.category'
title_id
Many2one → res.partner.title
string='Title'
args: 'res.partner.title'
action_add_to_mailing_list(self)
action_import(self)
add_to_list(self, name, list_id)
copy(self, default=None)
create(self, vals_list)
default_get(self, fields_list)
fields_get(self, allfields=None, attributes=None)
get_import_templates(self)
name_create(self, name)
contact_list
Text
help='Contact list that will be imported, one contact per line'
args: 'Contact List'
mailing_list_ids
Many2many → mailing.list
string='Lists'
args: 'mailing.list'
action_import(self)
action_open_base_import(self)
contact_ids
Many2many → mailing.contact
string='Contacts'
args: 'mailing.contact'
mailing_list_id
Many2one → mailing.list
required=True
string='Mailing List'
args: 'mailing.list'
action_add_contacts(self)
action_add_contacts_and_send_mailing(self)
create_uid
Many2one → res.users
default=<expr>
index=True
readonly=True
args: 'res.users', 'Saved by'
mailing_domain
Char
required=True
string='Filter Domain'
mailing_model_id
Many2one → ir.model
ondelete='cascade'
required=True
string='Recipients Model'
args: 'ir.model'
mailing_model_name
Char
related='mailing_model_id.model'
string='Recipients Model Name'
name
Char
required=True
string='Filter Name'
No public methods.
active
Boolean
default=True
contact_count
Integer
compute='_compute_mailing_list_statistics'
string='Number of Contacts'
contact_count_blacklisted
Integer
compute='_compute_mailing_list_statistics'
string='Number of Blacklisted'
contact_count_email
Integer
compute='_compute_mailing_list_statistics'
string='Number of Emails'
contact_count_opt_out
Integer
compute='_compute_mailing_list_statistics'
string='Number of Opted-out'
contact_ids
Many2many → mailing.contact
copy=False
string='Mailing Lists'
args: 'mailing.contact', 'mailing_subscription', 'list_id', 'contact_id'
contact_pct_blacklisted
Float
compute='_compute_mailing_list_statistics'
string='Percentage of Blacklisted'
contact_pct_bounce
Float
compute='_compute_mailing_list_statistics'
string='Percentage of Bouncing'
contact_pct_opt_out
Float
compute='_compute_mailing_list_statistics'
string='Percentage of Opted-out'
is_public
Boolean
default=False
help='The mailing list can be accessible by recipients in the subscription management page to allow them to update their preferences.'
string='Show In Preferences'
mailing_count
Integer
compute='_compute_mailing_count'
string='Number of Mailing'
mailing_ids
Many2many → mailing.mailing
copy=False
string='Mass Mailings'
args: 'mailing.mailing', 'mail_mass_mailing_list_rel'
name
Char
required=True
string='Mailing List'
subscription_ids
One2many → mailing.subscription
copy=True
depends=['contact_ids']
string='Subscription Information'
args: 'mailing.subscription', 'list_id'
action_merge(self, src_lists, archive)
action_open_import(self)
action_send_mailing(self)
action_view_contacts(self)
action_view_contacts_blacklisted(self)
action_view_contacts_bouncing(self)
action_view_contacts_email(self)
action_view_contacts_opt_out(self)
action_view_mailings(self)
close_dialog(self)
copy_data(self, default=None)
write(self, vals)
archive_src_lists
Boolean
default=True
args: 'Archive source mailing lists'
dest_list_id
Many2one → mailing.list
string='Destination Mailing List'
args: 'mailing.list'
merge_options
Selection
default='new'
required=True
args: [('new', 'Merge into a new mailing list'), ('existing', 'Merge into an existing mailing list')], 'Merge Option'
new_list_name
Char
src_list_ids
Many2many → mailing.list
string='Mailing Lists'
args: 'mailing.list'
action_mailing_lists_merge(self)
default_get(self, fields)
ab_testing_completed
Boolean
related='campaign_id.ab_testing_completed'
ab_testing_description
Html
compute='_compute_ab_testing_description'
args: 'A/B Testing Description'
ab_testing_enabled
Boolean
default=False
help='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.'
string='Allow A/B Testing'
ab_testing_is_winner_mailing
Boolean
compute='_compute_ab_testing_is_winner_mailing'
args: 'Is the Winner of its Campaign'
ab_testing_mailings_count
Integer
related='campaign_id.ab_testing_mailings_count'
ab_testing_pc
Integer
default=10
help='Percentage of the contacts that will be mailed. Recipients will be chosen randomly.'
string='A/B Testing percentage'
ab_testing_schedule_datetime
Datetime
default=<expr>
readonly=False
related='campaign_id.ab_testing_schedule_datetime'
ab_testing_winner_selection
Selection
copy=True
default='opened_ratio'
readonly=False
related='campaign_id.ab_testing_winner_selection'
active
Boolean
default=True
tracking=True
attachment_ids
Many2many → ir.attachment
string='Attachments'
args: 'ir.attachment', 'mass_mailing_ir_attachments_rel', 'mass_mailing_id', 'attachment_id'
body_arch
Html
sanitize='email_outgoing'
sanitize_output_method='html'
string='Body'
translate=False
body_html
Html
render_engine='qweb'
render_options={'post_process': True}
sanitize='email_outgoing'
string='Body converted to be sent by mail'
bounced
Integer
compute='_compute_statistics'
bounced_ratio
Float
compute='_compute_statistics'
string='Bounced Ratio'
calendar_date
Datetime
compute='_compute_calendar_date'
copy=False
help='Date at which the mailing was or will be sent.'
store=True
args: 'Calendar Date'
campaign_id
Many2one → utm.campaign
index=True
ondelete='set null'
string='UTM Campaign'
args: 'utm.campaign'
canceled
Integer
compute='_compute_statistics'
clicked
Integer
compute='_compute_statistics'
clicks_ratio
Float
compute='_compute_clicks_ratio'
string='Number of Clicks'
color
Integer
string='Color Index'
contact_list_ids
Many2many → mailing.list
string='Mailing Lists'
args: 'mailing.list', 'mail_mass_mailing_list_rel'
delivered
Integer
compute='_compute_statistics'
email_from
Char
compute='_compute_email_from'
precompute=True
readonly=False
required=True
store=True
string='Send From'
expected
Integer
compute='_compute_statistics'
failed
Integer
compute='_compute_statistics'
favorite
Boolean
copy=False
tracking=True
args: 'Favorite'
favorite_date
Datetime
compute='_compute_favorite_date'
copy=False
help='When this mailing was added in the favorites'
store=True
args: 'Favorite Date'
is_ab_test_sent
Boolean
compute='_compute_is_ab_test_sent'
is_body_empty
Boolean
compute='_compute_is_body_empty'
keep_archives
Boolean
string='Keep Archives'
kpi_mail_required
Boolean
copy=False
args: 'KPI mail required'
link_trackers_count
Integer
compute='_compute_link_trackers_count'
string='Link Trackers Count'
mail_server_available
Boolean
compute='_compute_mail_server_available'
help='Technical field used to know if the user has activated the outgoing mail server option in the settings'
mail_server_id
Many2one → ir.mail_server
default=_get_default_mail_server_id
help='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.'
string='Mail Server'
args: 'ir.mail_server'
mailing_domain
Char
compute='_compute_mailing_domain'
compute_sudo=False
readonly=False
store=True
string='Domain'
mailing_filter_count
Integer
compute='_compute_mailing_filter_count'
args: '# Favorite Filters'
mailing_filter_domain
Char
related='mailing_filter_id.mailing_domain'
args: 'Favorite filter domain'
mailing_filter_id
Many2one → mailing.filter
compute='_compute_mailing_filter_id'
domain="[('mailing_model_name', '=', mailing_model_name)]"
readonly=False
store=True
string='Favorite Filter'
args: 'mailing.filter'
mailing_model_id
Many2one → ir.model
default=<expr>
domain=[('is_mailing_enabled', '=', True)]
ondelete='cascade'
required=True
string='Recipients Model'
args: 'ir.model'
mailing_model_name
Char
readonly=True
related='mailing_model_id.model'
related_sudo=True
string='Recipients Model Name'
mailing_model_real
Char
compute='_compute_mailing_model_real'
string='Recipients Real Model'
mailing_on_mailing_list
Boolean
compute='_compute_mailing_on_mailing_list'
string='Based on Mailing Lists'
mailing_trace_ids
One2many → mailing.trace
string='Emails Statistics'
args: 'mailing.trace', 'mass_mailing_id'
mailing_type
Selection
default='mail'
required=True
string='Mailing Type'
args: [('mail', 'Email')]
mailing_type_description
Char
compute='_compute_mailing_type_description'
args: 'Mailing Type Description'
medium_id
Many2one → utm.medium
compute='_compute_medium_id'
help='UTM Medium: delivery method (email, sms, ...)'
ondelete='restrict'
readonly=False
store=True
string='Medium'
args: 'utm.medium'
next_departure
Datetime
compute='_compute_next_departure'
string='Scheduled date'
next_departure_is_past
Boolean
compute='_compute_next_departure'
opened
Integer
compute='_compute_statistics'
opened_ratio
Float
compute='_compute_statistics'
string='Opened Ratio'
pending
Integer
compute='_compute_statistics'
preview
Char
help='Catchy preview sentence that encourages recipients to open this email.\nIn most inboxes, this is displayed next to the subject.\nKeep it empty if you prefer the first characters of your email content to appear instead.'
render_engine='inline_template'
render_options={'post_process': True}
translate=False
args: 'Preview'
process
Integer
compute='_compute_statistics'
received_ratio
Float
compute='_compute_statistics'
string='Received Ratio'
replied
Integer
compute='_compute_statistics'
replied_ratio
Float
compute='_compute_statistics'
string='Replied Ratio'
reply_to
Char
compute='_compute_reply_to'
help='Preferred Reply-To Address'
readonly=False
store=True
string='Reply To'
reply_to_mode
Selection
compute='_compute_reply_to_mode'
help='Thread: replies go to target document. Email: replies are routed to a given email.'
readonly=False
store=True
string='Reply-To Mode'
args: [('update', 'Recipient Followers'), ('new', 'Specified Email Address')]
schedule_date
Datetime
compute='_compute_schedule_date'
copy=True
readonly=False
store=True
string='Scheduled for'
tracking=True
schedule_type
Selection
default='now'
readonly=False
required=True
string='Schedule'
args: [('now', 'Send now'), ('scheduled', 'Send on')]
scheduled
Integer
compute='_compute_statistics'
sent
Integer
compute='_compute_statistics'
sent_date
Datetime
copy=False
string='Sent Date'
state
Selection
copy=False
default='draft'
group_expand=True
required=True
string='Status'
tracking=True
args: [('draft', 'Draft'), ('in_queue', 'In Queue'), ('sending', 'Sending'), ('done', 'Sent')]
subject
Char
required=True
translate=False
args: 'Subject'
total
Integer
compute='_compute_total'
user_id
Many2one → res.users
default=<expr>
string='Responsible'
tracking=True
args: 'res.users'
warning_message
Char
compute='_compute_warning_message'
help='Warning message displayed in the mailing form view'
args: 'Warning Message'
action_cancel(self)
action_compare_versions(self)
action_duplicate(self)
action_fetch_favorites(self, extra_domain=None)
action_launch(self)
action_put_in_queue(self)
action_reload(self)
action_remove_favorite(self)
action_retry_failed(self)
action_schedule(self)
action_select_as_winner(self)
action_send_mail(self, res_ids=None)
action_send_winner_mailing(self)
action_set_favorite(self)
action_test(self)
action_view_bounced(self)
action_view_clicked(self)
action_view_delivered(self)
action_view_link_trackers(self)
action_view_mailing_contacts(self)
action_view_opened(self)
action_view_replied(self)
action_view_traces_canceled(self)
action_view_traces_failed(self)
action_view_traces_process(self)
action_view_traces_scheduled(self)
action_view_traces_sent(self)
convert_links(self)
copy_data(self, default=None)
create(self, vals_list)
default_get(self, fields_list)
write(self, values)
mass_mailing_id
Many2one → mailing.mailing
required=True
args: 'mailing.mailing'
schedule_date
Datetime
string='Scheduled for'
action_schedule_date(self)
email_to
Text
default=_default_email_to
help='Carriage-return-separated list of email addresses.'
required=True
string='Recipients'
mass_mailing_id
Many2one → mailing.mailing
ondelete='cascade'
required=True
string='Mailing'
args: 'mailing.mailing'
send_mail_test(self)
contact_id
Many2one → mailing.contact
ondelete='cascade'
required=True
string='Contact'
args: 'mailing.contact'
is_blacklisted
Boolean
readonly=False
related='contact_id.is_blacklisted'
store=False
list_id
Many2one → mailing.list
ondelete='cascade'
required=True
string='Mailing List'
args: 'mailing.list'
message_bounce
Integer
readonly=False
related='contact_id.message_bounce'
store=False
opt_out
Boolean
default=False
help='The contact has chosen not to receive mails anymore from this list'
string='Opt Out'
opt_out_datetime
Datetime
compute='_compute_opt_out_datetime'
readonly=False
store=True
string='Unsubscription Date'
opt_out_reason_id
Many2one → mailing.subscription.optout
ondelete='restrict'
string='Reason'
args: 'mailing.subscription.optout'
create(self, vals_list)
open_mailing_contact(self)
write(self, vals)
is_feedback
Boolean
string='Ask For Feedback'
name
Char
string='Reason'
translate=True
sequence
Integer
default=10
string='Sequence'
No public methods.
campaign_id
Many2one
index='btree_not_null'
readonly=True
related='mass_mailing_id.campaign_id'
store=True
string='Campaign'
email
Char
help='Normalized email address'
string='Email'
failure_reason
Text
copy=False
readonly=True
args: 'Failure reason'
failure_type
Selection
selection=[('unknown', 'Unknown error'), ('mail_bounce', 'Bounce'), ('mail_email_invalid', 'Invalid email address'), ('mail_email_missing', 'Missing email address'), ('mail_from_invalid', 'Invalid from address'), ('mail_from_missing', 'Missing from address'), ('mail_smtp', 'Connection failed (outgoing mail server problem)'), ('mail_bl', 'Blacklisted Address'), ('mail_dup', 'Duplicated Email'), ('mail_optout', 'Opted Out')]
string='Failure type'
links_click_datetime
Datetime
help='Stores last click datetime in case of multi clicks.'
args: 'Clicked On'
links_click_ids
One2many → link.tracker.click
string='Links click'
args: 'link.tracker.click', 'mailing_trace_id'
mail_mail_id
Many2one → mail.mail
index='btree_not_null'
string='Mail'
args: 'mail.mail'
mail_mail_id_int
Integer
help='ID of the related mail_mail. This field is an integer field because the related mail_mail can be deleted separately from its statistics. However the ID is needed for several action and controllers.'
index='btree_not_null'
string='Mail ID (tech)'
mass_mailing_id
Many2one → mailing.mailing
index=True
ondelete='cascade'
string='Mailing'
args: 'mailing.mailing'
medium_id
Many2one
related='mass_mailing_id.medium_id'
message_id
Char
string='Message-ID'
model
Char
required=True
string='Document model'
open_datetime
Datetime
reply_datetime
Datetime
res_id
Many2oneReference
model_field='model'
string='Document ID'
sent_datetime
Datetime
source_id
Many2one
related='mass_mailing_id.source_id'
trace_status
Selection
default='outgoing'
selection=[('outgoing', 'Outgoing'), ('process', 'Processing'), ('pending', 'Sent'), ('sent', 'Delivered'), ('open', 'Opened'), ('reply', 'Replied'), ('bounce', 'Bounced'), ('error', 'Exception'), ('cancel', 'Cancelled')]
string='Status'
trace_type
Selection
default='mail'
required=True
string='Type'
args: [('mail', 'Email')]
action_view_contact(self)
create(self, values_list)
set_bounced(self, domain=None, bounce_message=False)
set_canceled(self, domain=None)
set_clicked(self, domain=None)
set_failed(self, domain=None, failure_type=False)
set_opened(self, domain=None)
set_replied(self, domain=None)
set_sent(self, domain=None)
bounced
Integer
readonly=True
campaign
Char
readonly=True
string='Mailing Campaign'
canceled
Integer
readonly=True
clicked
Integer
readonly=True
delivered
Integer
readonly=True
email_from
Char
readonly=True
args: 'From'
error
Integer
readonly=True
mailing_type
Selection
default='mail'
required=True
string='Type'
args: [('mail', 'Mail')]
name
Char
readonly=True
string='Mass Mail'
opened
Integer
readonly=True
pending
Integer
readonly=True
processing
Integer
readonly=True
replied
Integer
readonly=True
scheduled
Integer
readonly=True
scheduled_date
Datetime
readonly=True
string='Scheduled Date'
sent
Integer
readonly=True
state
Selection
readonly=True
string='Status'
args: [('draft', 'Draft'), ('test', 'Tested'), ('done', 'Sent')]
init(self)
No new fields.
Public methods (0)No public methods.
group_mass_mailing_campaign
Boolean
help='This is useful if your marketing campaigns are composed of several emails'
implied_group='mass_mailing.group_mass_mailing_campaign'
string='Mailing Campaigns'
mass_mailing_mail_server_id
Many2one → ir.mail_server
config_parameter='mass_mailing.mail_server_id'
string='Mail Server'
args: 'ir.mail_server'
mass_mailing_outgoing_mail_server
Boolean
config_parameter='mass_mailing.outgoing_mail_server'
help='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.'
string='Dedicated Server'
mass_mailing_reports
Boolean
config_parameter='mass_mailing.mass_mailing_reports'
help='Check how well your mailing is doing a day after it has been sent.'
string='24H Stat Mailing Reports'
mass_mailing_split_contact_name
Boolean
help='Separate Mailing Contact Names into two fields'
string='Split First and Last Name'
show_blacklist_buttons
Boolean
config_parameter='mass_mailing.show_blacklist_buttons'
help='Allow the recipient to manage themselves their state in the blacklist via the unsubscription page.'
string='Blacklist Option when Unsubscribing'
get_values(self)
set_values(self)
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
ab_testing_completed
Boolean
compute='_compute_ab_testing_completed'
copy=False
readonly=True
store=True
args: 'A/B Testing Campaign Finished'
ab_testing_mailings_count
Integer
compute='_compute_mailing_mail_count'
args: 'A/B Test Mailings #'
ab_testing_schedule_datetime
Datetime
default=<expr>
help='Date that will be used to know when to determine and send the winner mailing'
args: 'Send Final On'
ab_testing_winner_mailing_id
Many2one → mailing.mailing
copy=False
args: 'mailing.mailing', 'A/B Campaign Winner Mailing'
ab_testing_winner_selection
Selection
default='opened_ratio'
help='Selection to determine the winner mailing that will be sent.'
string='Winner Selection'
args: [('manual', 'Manual'), ('opened_ratio', 'Highest Open Rate'), ('clicks_ratio', 'Highest Click Rate'), ('replied_ratio', 'Highest Reply Rate')]
bounced_ratio
Float
compute='_compute_statistics'
string='Bounced Ratio'
is_mailing_campaign_activated
Boolean
compute='_compute_is_mailing_campaign_activated'
mailing_mail_count
Integer
compute='_compute_mailing_mail_count'
groups='mass_mailing.group_mass_mailing_user'
args: 'Number of Mass Mailing'
mailing_mail_ids
One2many → mailing.mailing
domain=[('mailing_type', '=', 'mail')]
groups='mass_mailing.group_mass_mailing_user'
string='Mass Mailings'
args: 'mailing.mailing', 'campaign_id'
opened_ratio
Float
compute='_compute_statistics'
string='Opened Ratio'
received_ratio
Float
compute='_compute_statistics'
string='Received Ratio'
replied_ratio
Float
compute='_compute_statistics'
string='Replied Ratio'
No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
ab_testing_description |
Mass Mailing: A/B Test Description | ir.ui.view | qweb | New |
digest_mail_main |
digest_mail_main | ir.ui.view | qweb | Inherits digest.digest_mail_main |
email_compose_form_mass_mailing |
mail.compose.message.form.mass_mailing | mail.compose.message | xpath | Inherits mail.email_compose_message_wizard_form |
email_designer_snippets |
email_designer_snippets | ir.ui.view | qweb | Inherits web_editor.snippets |
link_tracker_click_view_form |
link.tracker.click.view.form.inherit.mass_mailing | link.tracker.click | xpath | Inherits link_tracker.link_tracker_click_view_form |
link_tracker_click_view_graph |
link.tracker.click.view.graph.inherit.mass_mailing | link.tracker.click | xpath | Inherits link_tracker.link_tracker_click_view_graph |
link_tracker_click_view_search |
link.tracker.click.view.search.inherit.mass_mailing | link.tracker.click | xpath | Inherits link_tracker.link_tracker_click_view_search |
link_tracker_click_view_tree |
link.tracker.click.view.tree.inherit.mass_mailing | link.tracker.click | xpath | Inherits link_tracker.link_tracker_click_view_tree |
link_tracker_view_form |
link.tracker.view.form.inherit.mass.mail | link.tracker | xpath | Inherits link_tracker.link_tracker_view_form |
link_tracker_view_search |
link.tracker.view.search.inherit.mass.mail | link.tracker | xpath | Inherits link_tracker.link_tracker_view_search |
mail_blacklist_view_form |
mail.blacklist.view.form.inherit.mailing | mail.blacklist | xpath | Inherits mail.mail_blacklist_view_form |
mail_blacklist_view_search |
mail.blacklist.view.search | mail.blacklist | xpath | Inherits mail.mail_blacklist_view_search |
mail_blacklist_view_tree |
mail.blacklist.view.tree.inherit.mailing | mail.blacklist | xpath | Inherits mail.mail_blacklist_view_tree |
mailing_contact_import_view_form |
mailing.contact.import.view.form | mailing.contact.import | form | New |
mailing_contact_to_list_view_form |
mailing.contact.to.list.view.form | mailing.contact.to.list | form | New |
mailing_contact_view_form |
mailing.contact.view.form | mailing.contact | form | New |
mailing_contact_view_graph |
mailing.contact.view.graph | mailing.contact | graph | New |
mailing_contact_view_kanban |
mailing.contact.view.kanban | mailing.contact | kanban | New |
mailing_contact_view_pivot |
mailing.contact.pivot | mailing.contact | pivot | New |
mailing_contact_view_search |
mailing.contact.view.search | mailing.contact | search | New |
mailing_contact_view_tree |
mailing.contact.view.tree | mailing.contact | tree | New |
mailing_filter_view_form |
mailing.filter.view.form | mailing.filter | form | New |
mailing_filter_view_search |
mailing.filter.view.search | mailing.filter | search | New |
mailing_filter_view_tree |
mailing.filter.view.tree | mailing.filter | tree | New |
mailing_list_merge_view_form |
mailing.list.merge.form | mailing.list.merge | form | New |
mailing_list_view_form |
mailing.list.form | mailing.list | form | New |
mailing_list_view_form_simplified |
mailing.list.form.simplified | mailing.list | form | New |
mailing_list_view_kanban |
mailing.list.view.kanban | mailing.list | kanban | New |
mailing_list_view_search |
mailing.list.view.search | mailing.list | search | New |
mailing_list_view_tree |
mailing.list.view.tree | mailing.list | tree | New |
mailing_mailing_schedule_date_view_form |
mailing.mailing.schedule.date.view.form | mailing.mailing.schedule.date | form | New |
mailing_mailing_view_calendar |
mailing.mailing.view.calendar | mailing.mailing | calendar | New |
mailing_mailing_view_form_full_width |
mailing.mailing.view.form.full.width | mailing.mailing | xpath | Inherits mass_mailing.view_mail_mass_mailing_form |
mailing_report_deactivated |
Report Unsubscribed | ir.ui.view | qweb | New |
mailing_subscription_optout_view_form |
mailing.subscription.optout.view.form | mailing.subscription.optout | form | New |
mailing_subscription_optout_view_search |
mailing.subscription.optout.view.search | mailing.subscription.optout | search | New |
mailing_subscription_optout_view_tree |
mailing.subscription.optout.view.tree | mailing.subscription.optout | tree | New |
mailing_subscription_view_form |
mailing.subscription.view.form | mailing.subscription | form | New |
mailing_subscription_view_search |
mailing.subscription.view.search | mailing.subscription | search | New |
mailing_subscription_view_tree |
mailing.subscription.view.tree | mailing.subscription | tree | New |
mailing_trace_report_view_graph |
mailing.trace.report.view.graph | mailing.trace.report | graph | New |
mailing_trace_report_view_pivot |
mailing.trace.report.view.pivot | mailing.trace.report | pivot | New |
mailing_trace_report_view_search |
mailing.trace.report.view.search | mailing.trace.report | search | New |
mailing_trace_report_view_tree |
mailing.trace.report.view.tree | mailing.trace.report | tree | New |
mailing_trace_view_form |
mailing.trace.view.form | mailing.trace | form | New |
mailing_trace_view_search |
mailing.trace.view.search | mailing.trace | search | New |
mailing_trace_view_tree |
mailing.trace.view.tree | mailing.trace | tree | New |
mailing_trace_view_tree_mail |
mailing.trace.view.tree.mail | mailing.trace | tree | New |
mailing_view |
Browser View | ir.ui.view | qweb | New |
mass_mailing.layout |
Mass Mailing Layout | ir.ui.view | qweb | New |
mass_mailing.mass_mailing_kpi_link_trackers |
Marketing: mailing link trackers statistic | ir.ui.view | qweb | New |
mass_mailing.preview_content_mobile |
mass_mailing.preview_content_mobile | ir.ui.view | qweb | New |
mass_mailing_mail_layout |
mass_mailing_mail_layout | ir.ui.view | qweb | New |
page_mailing_unsubscribe |
Unsubscribe | ir.ui.view | qweb | New |
res_config_settings_view_form |
res.config.settings.view.form.inherit.mass.mailing | res.config.settings | xpath | Inherits base.res_config_settings_view_form |
s_alert |
Alert | ir.ui.view | qweb | New |
s_alert_options |
s_alert_options | ir.ui.view | qweb | Inherits mass_mailing.snippet_options |
s_blockquote |
Blockquote | ir.ui.view | qweb | New |
s_call_to_action |
Call to Action | ir.ui.view | qweb | New |
s_color_blocks_2 |
Big Boxes | ir.ui.view | qweb | New |
s_company_team |
Team | ir.ui.view | qweb | New |
s_comparisons |
Comparisons | ir.ui.view | qweb | New |
s_coupon_code |
Promo Code | ir.ui.view | qweb | New |
s_cover |
Cover | ir.ui.view | qweb | New |
s_event |
Event | ir.ui.view | qweb | New |
s_features |
Features | ir.ui.view | qweb | New |
s_features_grid |
Features Grid | ir.ui.view | qweb | New |
s_hr |
Separator | ir.ui.view | qweb | Inherits web_editor.s_hr |
s_hr_options |
s_hr_options | ir.ui.view | qweb | Inherits mass_mailing.snippet_options |
s_image_text |
Image - Text | ir.ui.view | qweb | New |
s_mail_block_discount1 |
Discount Offer | ir.ui.view | qweb | New |
s_mail_block_footer_social |
Footer Center | ir.ui.view | qweb | New |
s_mail_block_footer_social_left |
Footer Left | ir.ui.view | qweb | New |
s_mail_block_header_logo |
Centered Logo | ir.ui.view | qweb | New |
s_mail_block_header_social |
Left Logo | ir.ui.view | qweb | New |
s_mail_block_header_text_social |
Left Text | ir.ui.view | qweb | New |
s_mail_block_header_view |
View Online | ir.ui.view | qweb | New |
s_masonry_block |
Masonry | ir.ui.view | qweb | New |
s_masonry_block_alternation_image_text_template |
s_masonry_block_alternation_image_text_template | ir.ui.view | qweb | New |
s_masonry_block_alternation_text_image_template |
s_masonry_block_alternation_text_image_template | ir.ui.view | qweb | New |
s_masonry_block_alternation_text_image_text_template |
s_masonry_block_alternation_text_image_text_template | ir.ui.view | qweb | New |
s_masonry_block_alternation_text_template |
s_masonry_block_alternation_text_template | ir.ui.view | qweb | New |
s_masonry_block_default_template |
s_masonry_block_default_template | ir.ui.view | qweb | New |
s_masonry_block_image_texts_image_template |
s_masonry_block_image_texts_image_template | ir.ui.view | qweb | New |
s_masonry_block_images_template |
s_masonry_block_images_template | ir.ui.view | qweb | New |
s_masonry_block_mosaic_template |
s_masonry_block_mosaic_template | ir.ui.view | qweb | New |
s_masonry_block_options |
s_masonry_block_options | ir.ui.view | qweb | Inherits mass_mailing.snippet_options |
s_masonry_block_reversed_template |
s_masonry_block_reversed_template | ir.ui.view | qweb | New |
s_masonry_block_texts_image_texts_template |
s_masonry_block_texts_image_texts_template | ir.ui.view | qweb | New |
s_media_list |
Media List | ir.ui.view | qweb | New |
s_numbers |
Numbers | ir.ui.view | qweb | New |
s_picture |
Picture | ir.ui.view | qweb | New |
s_product_list |
Items | ir.ui.view | qweb | New |
s_rating |
Rating | ir.ui.view | qweb | New |
s_rating_options |
s_rating_options | ir.ui.view | qweb | Inherits mass_mailing.snippet_options |
s_references |
References | ir.ui.view | qweb | New |
s_showcase |
Showcase | ir.ui.view | qweb | New |
s_text_block |
Text | ir.ui.view | qweb | New |
s_text_highlight |
Text Highlight | ir.ui.view | qweb | New |
s_text_image |
Text - Image | ir.ui.view | qweb | New |
s_three_columns |
Columns | ir.ui.view | qweb | New |
s_title |
Title | ir.ui.view | qweb | New |
snippet_options |
snippet_options | ir.ui.view | qweb | Inherits web_editor.snippet_options |
snippet_options_background_options |
snippet_options_background_options | ir.ui.view | qweb | Inherits web_editor.snippet_options_background_options |
snippet_options_border_line_widgets |
snippet_options_border_line_widgets | ir.ui.view | qweb | New |
snippet_options_border_widgets |
snippet_options_border_widgets | ir.ui.view | qweb | New |
social_links |
social_links | ir.ui.view | qweb | New |
theme_basic_template |
theme_basic_template | ir.ui.view | qweb | New |
theme_default_template |
theme_default_template | ir.ui.view | qweb | New |
theme_empty_template |
theme_empty_template | ir.ui.view | qweb | New |
unsubscribe_form |
unsubscribe_form | ir.ui.view | qweb | New |
utm_campaign_view_form |
utm.campaign.view.form | utm.campaign | xpath | Inherits utm.utm_campaign_view_form |
utm_campaign_view_kanban |
utm.campaign.view.kanban | utm.campaign | xpath | Inherits utm.utm_campaign_view_kanban |
view_mail_mail_statistics_graph |
Mail Statistics Graph | mailing.trace | graph | New |
view_mail_mass_mailing_form |
mailing.mailing.form | mailing.mailing | form | New |
view_mail_mass_mailing_graph |
mailing.mailing.graph | mailing.mailing | graph | New |
view_mail_mass_mailing_kanban |
mailing.mailing.kanban | mailing.mailing | kanban | New |
view_mail_mass_mailing_search |
mailing.mailing.search | mailing.mailing | search | New |
view_mail_mass_mailing_test_form |
mailing.mailing.test.form | mailing.mailing.test | form | New |
view_mail_mass_mailing_tree |
mailing.mailing.tree | mailing.mailing | tree | New |
No new fields.
Public methods (0)No public methods.
active_mailing_ids
One2many → mailing.mailing
comodel_name='mailing.mailing'
domain=[('state', '!=', 'done'), ('active', '=', True)]
inverse_name='mail_server_id'
readonly=True
string='Active mailing using this mail server'
No public methods.
is_mailing_enabled
Boolean
compute='_compute_is_mailing_enabled'
help='Whether this model supports marketing mailing capabilities (notably email and SMS).'
search='_search_is_mailing_enabled'
string='Mailing Enabled'
No public methods.
mass_mailing_id
Many2one → mailing.mailing
string='Mass Mailing'
args: 'mailing.mailing'
No public methods.
mailing_trace_id
Many2one → mailing.trace
string='Mail Statistics'
args: 'mailing.trace'
mass_mailing_id
Many2one → mailing.mailing
string='Mass Mailing'
args: 'mailing.mailing'
add_click(self, code, **route_values)
opt_out_reason_id
Many2one → mailing.subscription.optout
ondelete='restrict'
string='Reason'
tracking=10
args: 'mailing.subscription.optout'
No public methods.
campaign_id
Many2one → utm.campaign
ondelete='set null'
string='Mass Mailing Campaign'
args: 'utm.campaign'
mailing_list_ids
Many2many → mailing.list
string='Mailing List'
args: 'mailing.list'
mass_mailing_id
Many2one → mailing.mailing
ondelete='cascade'
string='Mass Mailing'
args: 'mailing.mailing'
mass_mailing_name
Char
help='If set, a mass mailing will be created so that you can track its results in the Email Marketing app.'
string='Mass Mailing Name'
No public methods.
mailing_id
Many2one → mailing.mailing
string='Mass Mailing'
args: 'mailing.mailing'
mailing_trace_ids
One2many → mailing.trace
string='Statistics'
args: 'mailing.trace', 'mail_mail_id'
No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (3)message_mail_with_source(self, source_ref, **kwargs)
message_new(self, msg_dict, custom_values=None)
message_post_with_source(self, source_ref, **kwargs)
company_name
Char
string='Company Name'
country_id
Many2one → res.country
string='Country'
args: 'res.country'
email
Char
list_ids
Many2many → mailing.list
string='Mailing Lists'
args: 'mailing.list', 'mailing_subscription', 'contact_id', 'list_id'
name
Char
opt_out
Boolean
compute='_compute_opt_out'
help='Opt out flag for a specific mailing list. This field should not be used in a view without a unique and active mailing list context.'
search='_search_opt_out'
args: 'Opt Out'
subscription_ids
One2many → mailing.subscription
string='Subscription Information'
args: 'mailing.subscription', 'contact_id'
tag_ids
Many2many → res.partner.category
string='Tags'
args: 'res.partner.category'
title_id
Many2one → res.partner.title
string='Title'
args: 'res.partner.title'
action_add_to_mailing_list(self)
action_import(self)
add_to_list(self, name, list_id)
copy(self, default=None)
create(self, vals_list)
default_get(self, fields_list)
get_import_templates(self)
name_create(self, name)
contact_list
Text
help='Contact list that will be imported, one contact per line'
args: 'Contact List'
mailing_list_ids
Many2many → mailing.list
string='Lists'
args: 'mailing.list'
action_import(self)
action_open_base_import(self)
contact_ids
Many2many → mailing.contact
string='Contacts'
args: 'mailing.contact'
mailing_list_id
Many2one → mailing.list
required=True
string='Mailing List'
args: 'mailing.list'
action_add_contacts(self)
action_add_contacts_and_send_mailing(self)
create_uid
Many2one → res.users
default=<expr>
index=True
readonly=True
args: 'res.users', 'Saved by'
mailing_domain
Char
required=True
string='Filter Domain'
mailing_model_id
Many2one → ir.model
ondelete='cascade'
required=True
string='Recipients Model'
args: 'ir.model'
mailing_model_name
Char
related='mailing_model_id.model'
string='Recipients Model Name'
name
Char
required=True
string='Filter Name'
No public methods.
active
Boolean
default=True
contact_count
Integer
compute='_compute_mailing_list_statistics'
string='Number of Contacts'
contact_count_blacklisted
Integer
compute='_compute_mailing_list_statistics'
string='Number of Blacklisted'
contact_count_email
Integer
compute='_compute_mailing_list_statistics'
string='Number of Emails'
contact_count_opt_out
Integer
compute='_compute_mailing_list_statistics'
string='Number of Opted-out'
contact_ids
Many2many → mailing.contact
copy=False
string='Mailing Lists'
args: 'mailing.contact', 'mailing_subscription', 'list_id', 'contact_id'
contact_pct_blacklisted
Float
compute='_compute_mailing_list_statistics'
string='Percentage of Blacklisted'
contact_pct_bounce
Float
compute='_compute_mailing_list_statistics'
string='Percentage of Bouncing'
contact_pct_opt_out
Float
compute='_compute_mailing_list_statistics'
string='Percentage of Opted-out'
is_public
Boolean
default=False
help='The mailing list can be accessible by recipients in the subscription management page to allow them to update their preferences.'
string='Show In Preferences'
mailing_count
Integer
compute='_compute_mailing_count'
string='Number of Mailing'
mailing_ids
Many2many → mailing.mailing
copy=False
string='Mass Mailings'
args: 'mailing.mailing', 'mail_mass_mailing_list_rel'
name
Char
required=True
string='Mailing List'
subscription_ids
One2many → mailing.subscription
copy=True
depends=['contact_ids']
string='Subscription Information'
args: 'mailing.subscription', 'list_id'
action_merge(self, src_lists, archive)
action_open_import(self)
action_send_mailing(self)
action_view_contacts(self)
action_view_contacts_blacklisted(self)
action_view_contacts_bouncing(self)
action_view_contacts_email(self)
action_view_contacts_opt_out(self)
action_view_mailings(self)
close_dialog(self)
copy(self, default=None)
write(self, vals)
archive_src_lists
Boolean
default=True
args: 'Archive source mailing lists'
dest_list_id
Many2one → mailing.list
string='Destination Mailing List'
args: 'mailing.list'
merge_options
Selection
default='new'
required=True
args: [('new', 'Merge into a new mailing list'), ('existing', 'Merge into an existing mailing list')], 'Merge Option'
new_list_name
Char
src_list_ids
Many2many → mailing.list
string='Mailing Lists'
args: 'mailing.list'
action_mailing_lists_merge(self)
default_get(self, fields)
ab_testing_completed
Boolean
related='campaign_id.ab_testing_completed'
ab_testing_description
Html
compute='_compute_ab_testing_description'
args: 'A/B Testing Description'
ab_testing_enabled
Boolean
default=False
help='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.'
string='Allow A/B Testing'
ab_testing_is_winner_mailing
Boolean
compute='_compute_ab_testing_is_winner_mailing'
args: 'Is the Winner of its Campaign'
ab_testing_mailings_count
Integer
related='campaign_id.ab_testing_mailings_count'
ab_testing_pc
Integer
default=10
help='Percentage of the contacts that will be mailed. Recipients will be chosen randomly.'
string='A/B Testing percentage'
ab_testing_schedule_datetime
Datetime
default=<expr>
readonly=False
related='campaign_id.ab_testing_schedule_datetime'
ab_testing_winner_selection
Selection
copy=True
default='opened_ratio'
readonly=False
related='campaign_id.ab_testing_winner_selection'
active
Boolean
default=True
tracking=True
attachment_ids
Many2many → ir.attachment
string='Attachments'
args: 'ir.attachment', 'mass_mailing_ir_attachments_rel', 'mass_mailing_id', 'attachment_id'
body_arch
Html
sanitize=False
string='Body'
translate=False
body_html
Html
render_engine='qweb'
render_options={'post_process': True}
sanitize=False
string='Body converted to be sent by mail'
bounced
Integer
compute='_compute_statistics'
bounced_ratio
Float
compute='_compute_statistics'
string='Bounced Ratio'
calendar_date
Datetime
compute='_compute_calendar_date'
copy=False
help='Date at which the mailing was or will be sent.'
store=True
args: 'Calendar Date'
campaign_id
Many2one → utm.campaign
index=True
ondelete='set null'
string='UTM Campaign'
args: 'utm.campaign'
canceled
Integer
compute='_compute_statistics'
clicked
Integer
compute='_compute_statistics'
clicks_ratio
Float
compute='_compute_clicks_ratio'
string='Number of Clicks'
color
Integer
string='Color Index'
contact_list_ids
Many2many → mailing.list
string='Mailing Lists'
args: 'mailing.list', 'mail_mass_mailing_list_rel'
delivered
Integer
compute='_compute_statistics'
email_from
Char
compute='_compute_email_from'
precompute=True
readonly=False
required=True
store=True
string='Send From'
expected
Integer
compute='_compute_statistics'
failed
Integer
compute='_compute_statistics'
favorite
Boolean
copy=False
tracking=True
args: 'Favorite'
favorite_date
Datetime
compute='_compute_favorite_date'
copy=False
help='When this mailing was added in the favorites'
store=True
args: 'Favorite Date'
is_ab_test_sent
Boolean
compute='_compute_is_ab_test_sent'
is_body_empty
Boolean
compute='_compute_is_body_empty'
keep_archives
Boolean
string='Keep Archives'
kpi_mail_required
Boolean
copy=False
args: 'KPI mail required'
mail_server_available
Boolean
compute='_compute_mail_server_available'
help='Technical field used to know if the user has activated the outgoing mail server option in the settings'
mail_server_id
Many2one → ir.mail_server
default=_get_default_mail_server_id
help='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.'
string='Mail Server'
args: 'ir.mail_server'
mailing_domain
Char
compute='_compute_mailing_domain'
compute_sudo=False
readonly=False
store=True
string='Domain'
mailing_filter_count
Integer
compute='_compute_mailing_filter_count'
args: '# Favorite Filters'
mailing_filter_domain
Char
related='mailing_filter_id.mailing_domain'
args: 'Favorite filter domain'
mailing_filter_id
Many2one → mailing.filter
compute='_compute_mailing_filter_id'
domain="[('mailing_model_name', '=', mailing_model_name)]"
readonly=False
store=True
string='Favorite Filter'
args: 'mailing.filter'
mailing_model_id
Many2one → ir.model
default=<expr>
domain=[('is_mailing_enabled', '=', True)]
ondelete='cascade'
required=True
string='Recipients Model'
args: 'ir.model'
mailing_model_name
Char
readonly=True
related='mailing_model_id.model'
related_sudo=True
string='Recipients Model Name'
mailing_model_real
Char
compute='_compute_mailing_model_real'
string='Recipients Real Model'
mailing_on_mailing_list
Boolean
compute='_compute_mailing_on_mailing_list'
string='Based on Mailing Lists'
mailing_trace_ids
One2many → mailing.trace
string='Emails Statistics'
args: 'mailing.trace', 'mass_mailing_id'
mailing_type
Selection
default='mail'
required=True
string='Mailing Type'
args: [('mail', 'Email')]
mailing_type_description
Char
compute='_compute_mailing_type_description'
args: 'Mailing Type Description'
medium_id
Many2one → utm.medium
compute='_compute_medium_id'
help='UTM Medium: delivery method (email, sms, ...)'
ondelete='restrict'
readonly=False
store=True
string='Medium'
args: 'utm.medium'
next_departure
Datetime
compute='_compute_next_departure'
string='Scheduled date'
next_departure_is_past
Boolean
compute='_compute_next_departure'
opened
Integer
compute='_compute_statistics'
opened_ratio
Float
compute='_compute_statistics'
string='Opened Ratio'
pending
Integer
compute='_compute_statistics'
preview
Char
help='Catchy preview sentence that encourages recipients to open this email.\nIn most inboxes, this is displayed next to the subject.\nKeep it empty if you prefer the first characters of your email content to appear instead.'
render_engine='inline_template'
render_options={'post_process': True}
translate=False
args: 'Preview'
process
Integer
compute='_compute_statistics'
received_ratio
Float
compute='_compute_statistics'
string='Received Ratio'
replied
Integer
compute='_compute_statistics'
replied_ratio
Float
compute='_compute_statistics'
string='Replied Ratio'
reply_to
Char
compute='_compute_reply_to'
help='Preferred Reply-To Address'
readonly=False
store=True
string='Reply To'
reply_to_mode
Selection
compute='_compute_reply_to_mode'
help='Thread: replies go to target document. Email: replies are routed to a given email.'
readonly=False
store=True
string='Reply-To Mode'
args: [('update', 'Recipient Followers'), ('new', 'Specified Email Address')]
schedule_date
Datetime
compute='_compute_schedule_date'
copy=True
readonly=False
store=True
string='Scheduled for'
tracking=True
schedule_type
Selection
default='now'
readonly=False
required=True
string='Schedule'
args: [('now', 'Send now'), ('scheduled', 'Send on')]
scheduled
Integer
compute='_compute_statistics'
sent
Integer
compute='_compute_statistics'
sent_date
Datetime
copy=False
string='Sent Date'
state
Selection
copy=False
default='draft'
group_expand='_group_expand_states'
required=True
string='Status'
tracking=True
args: [('draft', 'Draft'), ('in_queue', 'In Queue'), ('sending', 'Sending'), ('done', 'Sent')]
subject
Char
required=True
translate=False
args: 'Subject'
total
Integer
compute='_compute_total'
user_id
Many2one → res.users
default=<expr>
string='Responsible'
tracking=True
args: 'res.users'
warning_message
Char
compute='_compute_warning_message'
help='Warning message displayed in the mailing form view'
args: 'Warning Message'
action_cancel(self)
action_compare_versions(self)
action_duplicate(self)
action_fetch_favorites(self, extra_domain=None)
action_launch(self)
action_put_in_queue(self)
action_reload(self)
action_remove_favorite(self)
action_retry_failed(self)
action_schedule(self)
action_select_as_winner(self)
action_send_mail(self, res_ids=None)
action_send_winner_mailing(self)
action_set_favorite(self)
action_test(self)
action_view_bounced(self)
action_view_clicked(self)
action_view_delivered(self)
action_view_mailing_contacts(self)
action_view_opened(self)
action_view_replied(self)
action_view_traces_canceled(self)
action_view_traces_failed(self)
action_view_traces_process(self)
action_view_traces_scheduled(self)
action_view_traces_sent(self)
convert_links(self)
copy(self, default=None)
create(self, vals_list)
default_get(self, fields_list)
write(self, values)
mass_mailing_id
Many2one → mailing.mailing
required=True
args: 'mailing.mailing'
schedule_date
Datetime
string='Scheduled for'
action_schedule_date(self)
email_to
Text
default=<expr>
help='Carriage-return-separated list of email addresses.'
required=True
string='Recipients'
mass_mailing_id
Many2one → mailing.mailing
ondelete='cascade'
required=True
string='Mailing'
args: 'mailing.mailing'
send_mail_test(self)
contact_id
Many2one → mailing.contact
ondelete='cascade'
required=True
string='Contact'
args: 'mailing.contact'
is_blacklisted
Boolean
readonly=False
related='contact_id.is_blacklisted'
store=False
list_id
Many2one → mailing.list
ondelete='cascade'
required=True
string='Mailing List'
args: 'mailing.list'
message_bounce
Integer
readonly=False
related='contact_id.message_bounce'
store=False
opt_out
Boolean
default=False
help='The contact has chosen not to receive mails anymore from this list'
string='Opt Out'
opt_out_datetime
Datetime
compute='_compute_opt_out_datetime'
readonly=False
store=True
string='Unsubscription Date'
opt_out_reason_id
Many2one → mailing.subscription.optout
ondelete='restrict'
string='Reason'
args: 'mailing.subscription.optout'
create(self, vals_list)
write(self, vals)
is_feedback
Boolean
string='Allow Feedback'
name
Char
string='Reason'
translate=True
sequence
Integer
default=10
string='Sequence'
No public methods.
campaign_id
Many2one
index='btree_not_null'
readonly=True
related='mass_mailing_id.campaign_id'
store=True
string='Campaign'
email
Char
help='Normalized email address'
string='Email'
failure_reason
Text
copy=False
readonly=True
args: 'Failure reason'
failure_type
Selection
selection=[('unknown', 'Unknown error'), ('mail_bounce', 'Bounce'), ('mail_email_invalid', 'Invalid email address'), ('mail_email_missing', 'Missing email address'), ('mail_from_invalid', 'Invalid from address'), ('mail_from_missing', 'Missing from address'), ('mail_smtp', 'Connection failed (outgoing mail server problem)'), ('mail_bl', 'Blacklisted Address'), ('mail_dup', 'Duplicated Email'), ('mail_optout', 'Opted Out')]
string='Failure type'
links_click_datetime
Datetime
help='Stores last click datetime in case of multi clicks.'
args: 'Clicked On'
links_click_ids
One2many → link.tracker.click
string='Links click'
args: 'link.tracker.click', 'mailing_trace_id'
mail_mail_id
Many2one → mail.mail
index='btree_not_null'
string='Mail'
args: 'mail.mail'
mail_mail_id_int
Integer
help='ID of the related mail_mail. This field is an integer field because the related mail_mail can be deleted separately from its statistics. However the ID is needed for several action and controllers.'
index='btree_not_null'
string='Mail ID (tech)'
mass_mailing_id
Many2one → mailing.mailing
index=True
ondelete='cascade'
string='Mailing'
args: 'mailing.mailing'
medium_id
Many2one
related='mass_mailing_id.medium_id'
message_id
Char
string='Message-ID'
model
Char
required=True
string='Document model'
open_datetime
Datetime
reply_datetime
Datetime
res_id
Many2oneReference
model_field='model'
string='Document ID'
sent_datetime
Datetime
source_id
Many2one
related='mass_mailing_id.source_id'
trace_status
Selection
default='outgoing'
selection=[('outgoing', 'Outgoing'), ('process', 'Processing'), ('pending', 'Sent'), ('sent', 'Delivered'), ('open', 'Opened'), ('reply', 'Replied'), ('bounce', 'Bounced'), ('error', 'Exception'), ('cancel', 'Canceled')]
string='Status'
trace_type
Selection
default='mail'
required=True
string='Type'
args: [('mail', 'Email')]
action_view_contact(self)
create(self, values_list)
set_bounced(self, domain=None, bounce_message=False)
set_canceled(self, domain=None)
set_clicked(self, domain=None)
set_failed(self, domain=None, failure_type=False)
set_opened(self, domain=None)
set_replied(self, domain=None)
set_sent(self, domain=None)
bounced
Integer
readonly=True
campaign
Char
readonly=True
string='Mailing Campaign'
canceled
Integer
readonly=True
clicked
Integer
readonly=True
delivered
Integer
readonly=True
email_from
Char
readonly=True
args: 'From'
error
Integer
readonly=True
mailing_type
Selection
default='mail'
required=True
string='Type'
args: [('mail', 'Mail')]
name
Char
readonly=True
string='Mass Mail'
opened
Integer
readonly=True
pending
Integer
readonly=True
processing
Integer
readonly=True
replied
Integer
readonly=True
scheduled
Integer
readonly=True
scheduled_date
Datetime
readonly=True
string='Scheduled Date'
sent
Integer
readonly=True
state
Selection
readonly=True
string='Status'
args: [('draft', 'Draft'), ('test', 'Tested'), ('done', 'Sent')]
init(self)
No new fields.
Public methods (0)No public methods.
group_mass_mailing_campaign
Boolean
help='This is useful if your marketing campaigns are composed of several emails'
implied_group='mass_mailing.group_mass_mailing_campaign'
string='Mailing Campaigns'
mass_mailing_mail_server_id
Many2one → ir.mail_server
config_parameter='mass_mailing.mail_server_id'
string='Mail Server'
args: 'ir.mail_server'
mass_mailing_outgoing_mail_server
Boolean
config_parameter='mass_mailing.outgoing_mail_server'
help='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.'
string='Dedicated Server'
mass_mailing_reports
Boolean
config_parameter='mass_mailing.mass_mailing_reports'
help='Check how well your mailing is doing a day after it has been sent.'
string='24H Stat Mailing Reports'
show_blacklist_buttons
Boolean
config_parameter='mass_mailing.show_blacklist_buttons'
help='Allow the recipient to manage themselves their state in the blacklist via the unsubscription page.'
string='Blacklist Option when Unsubscribing'
set_values(self)
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (1)systray_get_activities(self)
ab_testing_completed
Boolean
compute='_compute_ab_testing_completed'
copy=False
readonly=True
store=True
args: 'A/B Testing Campaign Finished'
ab_testing_mailings_count
Integer
compute='_compute_mailing_mail_count'
args: 'A/B Test Mailings #'
ab_testing_schedule_datetime
Datetime
default=<expr>
help='Date that will be used to know when to determine and send the winner mailing'
args: 'Send Final On'
ab_testing_winner_mailing_id
Many2one → mailing.mailing
copy=False
args: 'mailing.mailing', 'A/B Campaign Winner Mailing'
ab_testing_winner_selection
Selection
default='opened_ratio'
help='Selection to determine the winner mailing that will be sent.'
string='Winner Selection'
args: [('manual', 'Manual'), ('opened_ratio', 'Highest Open Rate'), ('clicks_ratio', 'Highest Click Rate'), ('replied_ratio', 'Highest Reply Rate')]
bounced_ratio
Float
compute='_compute_statistics'
string='Bounced Ratio'
is_mailing_campaign_activated
Boolean
compute='_compute_is_mailing_campaign_activated'
mailing_mail_count
Integer
compute='_compute_mailing_mail_count'
groups='mass_mailing.group_mass_mailing_user'
args: 'Number of Mass Mailing'
mailing_mail_ids
One2many → mailing.mailing
domain=[('mailing_type', '=', 'mail')]
groups='mass_mailing.group_mass_mailing_user'
string='Mass Mailings'
args: 'mailing.mailing', 'campaign_id'
opened_ratio
Float
compute='_compute_statistics'
string='Opened Ratio'
received_ratio
Float
compute='_compute_statistics'
string='Received Ratio'
replied_ratio
Float
compute='_compute_statistics'
string='Replied Ratio'
No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
ab_testing_description |
Mass Mailing: A/B Test Description | ir.ui.view | qweb | New |
digest_mail_main |
digest_mail_main | ir.ui.view | qweb | Inherits digest.digest_mail_main |
email_compose_form_mass_mailing |
mail.compose.message.form.mass_mailing | mail.compose.message | xpath | Inherits mail.email_compose_message_wizard_form |
email_designer_snippets |
email_designer_snippets | ir.ui.view | qweb | Inherits web_editor.snippets |
iframe_css_assets_edit |
iframe_css_assets_edit | ir.ui.view | qweb | New |
iframe_css_assets_readonly |
iframe_css_assets_readonly | ir.ui.view | qweb | New |
link_tracker_click_view_form |
link.tracker.click.view.form.inherit.mass_mailing | link.tracker.click | xpath | Inherits link_tracker.link_tracker_click_view_form |
link_tracker_click_view_graph |
link.tracker.click.view.graph.inherit.mass_mailing | link.tracker.click | xpath | Inherits link_tracker.link_tracker_click_view_graph |
link_tracker_click_view_search |
link.tracker.click.view.search.inherit.mass_mailing | link.tracker.click | xpath | Inherits link_tracker.link_tracker_click_view_search |
link_tracker_click_view_tree |
link.tracker.click.view.tree.inherit.mass_mailing | link.tracker.click | xpath | Inherits link_tracker.link_tracker_click_view_tree |
link_tracker_view_form |
link.tracker.view.form.inherit.mass.mail | link.tracker | xpath | Inherits link_tracker.link_tracker_view_form |
link_tracker_view_search |
link.tracker.view.search.inherit.mass.mail | link.tracker | xpath | Inherits link_tracker.link_tracker_view_search |
mailing_contact_import_view_form |
mailing.contact.import.view.form | mailing.contact.import | form | New |
mailing_contact_subscription_view_form |
mailing.contact.subscription.view.form | mailing.contact.subscription | form | New |
mailing_contact_subscription_view_search |
mailing.contact.subscription.view.search | mailing.contact.subscription | search | New |
mailing_contact_subscription_view_tree |
mailing.contact.subscription.view.tree | mailing.contact.subscription | tree | New |
mailing_contact_to_list_view_form |
mailing.contact.to.list.view.form | mailing.contact.to.list | form | New |
mailing_contact_view_form |
mailing.contact.view.form | mailing.contact | form | New |
mailing_contact_view_graph |
mailing.contact.view.graph | mailing.contact | graph | New |
mailing_contact_view_kanban |
mailing.contact.view.kanban | mailing.contact | kanban | New |
mailing_contact_view_pivot |
mailing.contact.pivot | mailing.contact | pivot | New |
mailing_contact_view_search |
mailing.contact.view.search | mailing.contact | search | New |
mailing_contact_view_tree |
mailing.contact.view.tree | mailing.contact | tree | New |
mailing_filter_view_form |
mailing.filter.view.form | mailing.filter | form | New |
mailing_filter_view_search |
mailing.filter.view.search | mailing.filter | search | New |
mailing_filter_view_tree |
mailing.filter.view.tree | mailing.filter | tree | New |
mailing_list_merge_view_form |
mailing.list.merge.form | mailing.list.merge | form | New |
mailing_list_view_form |
mailing.list.form | mailing.list | form | New |
mailing_list_view_form_simplified |
mailing.list.form.simplified | mailing.list | form | New |
mailing_list_view_kanban |
mailing.list.view.kanban | mailing.list | kanban | New |
mailing_list_view_search |
mailing.list.view.search | mailing.list | search | New |
mailing_list_view_tree |
mailing.list.view.tree | mailing.list | tree | New |
mailing_mailing_schedule_date_view_form |
mailing.mailing.schedule.date.view.form | mailing.mailing.schedule.date | form | New |
mailing_mailing_view_calendar |
mailing.mailing.view.calendar | mailing.mailing | calendar | New |
mailing_mailing_view_form_full_width |
mailing.mailing.view.form.full.width | mailing.mailing | xpath | Inherits mass_mailing.view_mail_mass_mailing_form |
mailing_report_deactivated |
Report Unsubscribed | ir.ui.view | qweb | New |
mailing_trace_report_view_graph |
mailing.trace.report.view.graph | mailing.trace.report | graph | New |
mailing_trace_report_view_pivot |
mailing.trace.report.view.pivot | mailing.trace.report | pivot | New |
mailing_trace_report_view_search |
mailing.trace.report.view.search | mailing.trace.report | search | New |
mailing_trace_report_view_tree |
mailing.trace.report.view.tree | mailing.trace.report | tree | New |
mailing_trace_view_form |
mailing.trace.view.form | mailing.trace | form | New |
mailing_trace_view_search |
mailing.trace.view.search | mailing.trace | search | New |
mailing_trace_view_tree |
mailing.trace.view.tree | mailing.trace | tree | New |
mailing_trace_view_tree_mail |
mailing.trace.view.tree.mail | mailing.trace | tree | New |
mass_mailing.layout |
Mass Mailing Layout | ir.ui.view | qweb | New |
mass_mailing.mass_mailing_kpi_link_trackers |
Marketing: mailing link trackers statistic | ir.ui.view | qweb | New |
mass_mailing_mail_layout |
mass_mailing_mail_layout | ir.ui.view | qweb | New |
mass_mailing_mail_style |
mass_mailing_mail_style | ir.ui.view | qweb | New |
page_unsubscribe |
Unsubscribe | ir.ui.view | qweb | New |
page_unsubscribed |
Unsubscribed | ir.ui.view | qweb | New |
res_config_settings_view_form |
res.config.settings.view.form.inherit.mass.mailing | res.config.settings | xpath | Inherits base.res_config_settings_view_form |
s_alert |
Alert | ir.ui.view | qweb | New |
s_alert_options |
s_alert_options | ir.ui.view | qweb | Inherits mass_mailing.snippet_options |
s_blockquote |
Blockquote | ir.ui.view | qweb | New |
s_call_to_action |
Call to Action | ir.ui.view | qweb | New |
s_color_blocks_2 |
Big Boxes | ir.ui.view | qweb | New |
s_company_team |
Team | ir.ui.view | qweb | New |
s_comparisons |
Comparisons | ir.ui.view | qweb | New |
s_coupon_code |
Promo Code | ir.ui.view | qweb | New |
s_cover |
Cover | ir.ui.view | qweb | New |
s_event |
Event | ir.ui.view | qweb | New |
s_features |
Features | ir.ui.view | qweb | New |
s_features_grid |
Features Grid | ir.ui.view | qweb | New |
s_hr |
Separator | ir.ui.view | qweb | Inherits web_editor.s_hr |
s_hr_options |
s_hr_options | ir.ui.view | qweb | Inherits mass_mailing.snippet_options |
s_image_text |
Image - Text | ir.ui.view | qweb | New |
s_mail_block_discount1 |
Discount Offer | ir.ui.view | qweb | New |
s_mail_block_footer_social |
Footer Center | ir.ui.view | qweb | New |
s_mail_block_footer_social_left |
Footer Left | ir.ui.view | qweb | New |
s_mail_block_header_logo |
Centered Logo | ir.ui.view | qweb | New |
s_mail_block_header_social |
Left Logo | ir.ui.view | qweb | New |
s_mail_block_header_text_social |
Left Text | ir.ui.view | qweb | New |
s_mail_block_header_view |
View Online | ir.ui.view | qweb | New |
s_masonry_block |
Masonry | ir.ui.view | qweb | New |
s_masonry_block_alternation_image_text_template |
s_masonry_block_alternation_image_text_template | ir.ui.view | qweb | New |
s_masonry_block_alternation_text_image_template |
s_masonry_block_alternation_text_image_template | ir.ui.view | qweb | New |
s_masonry_block_alternation_text_image_text_template |
s_masonry_block_alternation_text_image_text_template | ir.ui.view | qweb | New |
s_masonry_block_alternation_text_template |
s_masonry_block_alternation_text_template | ir.ui.view | qweb | New |
s_masonry_block_default_template |
s_masonry_block_default_template | ir.ui.view | qweb | New |
s_masonry_block_image_texts_image_template |
s_masonry_block_image_texts_image_template | ir.ui.view | qweb | New |
s_masonry_block_images_template |
s_masonry_block_images_template | ir.ui.view | qweb | New |
s_masonry_block_mosaic_template |
s_masonry_block_mosaic_template | ir.ui.view | qweb | New |
s_masonry_block_options |
s_masonry_block_options | ir.ui.view | qweb | Inherits mass_mailing.snippet_options |
s_masonry_block_reversed_template |
s_masonry_block_reversed_template | ir.ui.view | qweb | New |
s_masonry_block_texts_image_texts_template |
s_masonry_block_texts_image_texts_template | ir.ui.view | qweb | New |
s_media_list |
Media List | ir.ui.view | qweb | New |
s_numbers |
Numbers | ir.ui.view | qweb | New |
s_picture |
Picture | ir.ui.view | qweb | New |
s_product_list |
Items | ir.ui.view | qweb | New |
s_rating |
Rating | ir.ui.view | qweb | New |
s_rating_options |
s_rating_options | ir.ui.view | qweb | Inherits mass_mailing.snippet_options |
s_references |
References | ir.ui.view | qweb | New |
s_showcase |
Showcase | ir.ui.view | qweb | New |
s_text_block |
Text | ir.ui.view | qweb | New |
s_text_highlight |
Text Highlight | ir.ui.view | qweb | New |
s_text_image |
Text - Image | ir.ui.view | qweb | New |
s_three_columns |
Columns | ir.ui.view | qweb | New |
s_title |
Title | ir.ui.view | qweb | New |
snippet_options |
snippet_options | ir.ui.view | qweb | Inherits web_editor.snippet_options |
snippet_options_background_options |
snippet_options_background_options | ir.ui.view | qweb | Inherits web_editor.snippet_options_background_options |
snippet_options_border_line_widgets |
snippet_options_border_line_widgets | ir.ui.view | qweb | New |
snippet_options_border_widgets |
snippet_options_border_widgets | ir.ui.view | qweb | New |
snippet_options_extra_shapes |
snippet_options_extra_shapes | ir.ui.view | qweb | Inherits web_editor.snippet_options |
snippet_options_image_styles |
snippet_options_image_styles | ir.ui.view | qweb | Inherits web_editor.snippet_options |
social_links |
social_links | ir.ui.view | qweb | New |
theme_basic_template |
theme_basic_template | ir.ui.view | qweb | New |
theme_default_template |
theme_default_template | ir.ui.view | qweb | New |
theme_empty_template |
theme_empty_template | ir.ui.view | qweb | New |
unsubscribe |
unsubscribe | ir.ui.view | qweb | New |
unsubscribed |
unsubscribed | ir.ui.view | qweb | New |
utm_campaign_view_form |
utm.campaign.view.form | utm.campaign | xpath | Inherits utm.utm_campaign_view_form |
utm_campaign_view_kanban |
utm.campaign.view.kanban | utm.campaign | xpath | Inherits utm.utm_campaign_view_kanban |
view |
Browser View | ir.ui.view | qweb | New |
view_mail_mail_statistics_graph |
Mail Statistics Graph | mailing.trace | graph | New |
view_mail_mass_mailing_form |
mailing.mailing.form | mailing.mailing | form | New |
view_mail_mass_mailing_graph |
mailing.mailing.graph | mailing.mailing | graph | New |
view_mail_mass_mailing_kanban |
mailing.mailing.kanban | mailing.mailing | kanban | New |
view_mail_mass_mailing_search |
mailing.mailing.search | mailing.mailing | search | New |
view_mail_mass_mailing_test_form |
mailing.mailing.test.form | mailing.mailing.test | form | New |
view_mail_mass_mailing_tree |
mailing.mailing.tree | mailing.mailing | tree | New |
No new fields.
Public methods (0)No public methods.
active_mailing_ids
One2many → mailing.mailing
comodel_name='mailing.mailing'
domain=[('state', '!=', 'done'), ('active', '=', True)]
inverse_name='mail_server_id'
readonly=True
string='Active mailing using this mail server'
No public methods.
is_mailing_enabled
Boolean
compute='_compute_is_mailing_enabled'
help='Whether this model supports marketing mailing capabilities (notably email and SMS).'
search='_search_is_mailing_enabled'
string='Mailing Enabled'
No public methods.
mass_mailing_id
Many2one → mailing.mailing
string='Mass Mailing'
args: 'mailing.mailing'
No public methods.
mailing_trace_id
Many2one → mailing.trace
string='Mail Statistics'
args: 'mailing.trace'
mass_mailing_id
Many2one → mailing.mailing
string='Mass Mailing'
args: 'mailing.mailing'
add_click(self, code, **route_values)
campaign_id
Many2one → utm.campaign
ondelete='set null'
string='Mass Mailing Campaign'
args: 'utm.campaign'
mailing_list_ids
Many2many → mailing.list
string='Mailing List'
args: 'mailing.list'
mass_mailing_id
Many2one → mailing.mailing
ondelete='cascade'
string='Mass Mailing'
args: 'mailing.mailing'
mass_mailing_name
Char
help='If set, a mass mailing will be created so that you can track its results in the Email Marketing app.'
string='Mass Mailing Name'
get_mail_values(self, res_ids)
mailing_id
Many2one → mailing.mailing
string='Mass Mailing'
args: 'mailing.mailing'
mailing_trace_ids
One2many → mailing.trace
string='Statistics'
args: 'mailing.trace', 'mail_mail_id'
No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (2)message_new(self, msg_dict, custom_values=None)
message_post_with_template(self, template_id, **kwargs)
company_name
Char
string='Company Name'
country_id
Many2one → res.country
string='Country'
args: 'res.country'
email
Char
list_ids
Many2many → mailing.list
string='Mailing Lists'
args: 'mailing.list', 'mailing_contact_list_rel', 'contact_id', 'list_id'
name
Char
opt_out
Boolean
compute='_compute_opt_out'
help='Opt out flag for a specific mailing list. This field should not be used in a view without a unique and active mailing list context.'
search='_search_opt_out'
args: 'Opt Out'
subscription_list_ids
One2many → mailing.contact.subscription
string='Subscription Information'
args: 'mailing.contact.subscription', 'contact_id'
tag_ids
Many2many → res.partner.category
string='Tags'
args: 'res.partner.category'
title_id
Many2one → res.partner.title
string='Title'
args: 'res.partner.title'
action_add_to_mailing_list(self)
add_to_list(self, name, list_id)
copy(self, default=None)
create(self, vals_list)
default_get(self, fields_list)
get_import_templates(self)
get_name_email(self, name)
name_create(self, name)
contact_list
Text
help='Contact list that will be imported, one contact per line'
args: 'Contact List'
mailing_list_ids
Many2many → mailing.list
string='Lists'
args: 'mailing.list'
action_import(self)
action_open_base_import(self)
contact_id
Many2one → mailing.contact
ondelete='cascade'
required=True
string='Contact'
args: 'mailing.contact'
is_blacklisted
Boolean
readonly=False
related='contact_id.is_blacklisted'
store=False
list_id
Many2one → mailing.list
ondelete='cascade'
required=True
string='Mailing List'
args: 'mailing.list'
message_bounce
Integer
readonly=False
related='contact_id.message_bounce'
store=False
opt_out
Boolean
default=False
help='The contact has chosen not to receive mails anymore from this list'
string='Opt Out'
unsubscription_date
Datetime
string='Unsubscription Date'
create(self, vals_list)
write(self, vals)
contact_id
Many2one → mailing.contact
ondelete='cascade'
required=True
string='Contact'
args: 'mailing.contact'
is_blacklisted
Boolean
readonly=False
related='contact_id.is_blacklisted'
store=False
list_id
Many2one → mailing.list
ondelete='cascade'
required=True
string='Mailing List'
args: 'mailing.list'
message_bounce
Integer
readonly=False
related='contact_id.message_bounce'
store=False
opt_out
Boolean
default=False
help='The contact has chosen not to receive mails anymore from this list'
string='Opt Out'
unsubscription_date
Datetime
string='Unsubscription Date'
create(self, vals_list)
write(self, vals)
contact_ids
Many2many → mailing.contact
string='Contacts'
args: 'mailing.contact'
mailing_list_id
Many2one → mailing.list
required=True
string='Mailing List'
args: 'mailing.list'
action_add_contacts(self)
action_add_contacts_and_send_mailing(self)
create_uid
Many2one → res.users
default=<expr>
index=True
readonly=True
args: 'res.users', 'Saved by'
mailing_domain
Char
required=True
string='Filter Domain'
mailing_model_id
Many2one → ir.model
ondelete='cascade'
required=True
string='Recipients Model'
args: 'ir.model'
mailing_model_name
Char
related='mailing_model_id.model'
string='Recipients Model Name'
name
Char
required=True
string='Filter Name'
No public methods.
active
Boolean
default=True
contact_count
Integer
compute='_compute_mailing_list_statistics'
string='Number of Contacts'
contact_count_blacklisted
Integer
compute='_compute_mailing_list_statistics'
string='Number of Blacklisted'
contact_count_email
Integer
compute='_compute_mailing_list_statistics'
string='Number of Emails'
contact_count_opt_out
Integer
compute='_compute_mailing_list_statistics'
string='Number of Opted-out'
contact_ids
Many2many → mailing.contact
copy=False
string='Mailing Lists'
args: 'mailing.contact', 'mailing_contact_list_rel', 'list_id', 'contact_id'
contact_pct_blacklisted
Float
compute='_compute_mailing_list_statistics'
string='Percentage of Blacklisted'
contact_pct_bounce
Float
compute='_compute_mailing_list_statistics'
string='Percentage of Bouncing'
contact_pct_opt_out
Float
compute='_compute_mailing_list_statistics'
string='Percentage of Opted-out'
is_public
Boolean
default=True
help='The mailing list can be accessible by recipients in the subscription management page to allows them to update their preferences.'
string='Show In Preferences'
mailing_count
Integer
compute='_compute_mailing_list_count'
string='Number of Mailing'
mailing_ids
Many2many → mailing.mailing
copy=False
string='Mass Mailings'
args: 'mailing.mailing', 'mail_mass_mailing_list_rel'
name
Char
required=True
string='Mailing List'
subscription_ids
One2many → mailing.contact.subscription
copy=True
depends=['contact_ids']
string='Subscription Information'
args: 'mailing.contact.subscription', 'list_id'
action_merge(self, src_lists, archive)
action_open_import(self)
action_send_mailing(self)
action_view_contacts(self)
action_view_contacts_blacklisted(self)
action_view_contacts_bouncing(self)
action_view_contacts_email(self)
action_view_contacts_opt_out(self)
action_view_mailings(self)
close_dialog(self)
copy(self, default=None)
name_get(self)
write(self, vals)
archive_src_lists
Boolean
default=True
args: 'Archive source mailing lists'
dest_list_id
Many2one → mailing.list
string='Destination Mailing List'
args: 'mailing.list'
merge_options
Selection
default='new'
required=True
args: [('new', 'Merge into a new mailing list'), ('existing', 'Merge into an existing mailing list')], 'Merge Option'
new_list_name
Char
src_list_ids
Many2many → mailing.list
string='Mailing Lists'
args: 'mailing.list'
action_mailing_lists_merge(self)
default_get(self, fields)
ab_testing_completed
Boolean
related='campaign_id.ab_testing_completed'
store=True
ab_testing_description
Html
compute='_compute_ab_testing_description'
args: 'A/B Testing Description'
ab_testing_enabled
Boolean
default=False
help='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.'
string='Allow A/B Testing'
ab_testing_mailings_count
Integer
related='campaign_id.ab_testing_mailings_count'
ab_testing_pc
Integer
default=10
help='Percentage of the contacts that will be mailed. Recipients will be chosen randomly.'
string='A/B Testing percentage'
ab_testing_schedule_datetime
Datetime
default=<expr>
readonly=False
related='campaign_id.ab_testing_schedule_datetime'
ab_testing_winner_selection
Selection
copy=True
default='opened_ratio'
readonly=False
related='campaign_id.ab_testing_winner_selection'
active
Boolean
default=True
tracking=True
attachment_ids
Many2many → ir.attachment
string='Attachments'
args: 'ir.attachment', 'mass_mailing_ir_attachments_rel', 'mass_mailing_id', 'attachment_id'
body_arch
Html
sanitize=False
string='Body'
translate=False
body_html
Html
render_engine='qweb'
sanitize=False
string='Body converted to be sent by mail'
bounced
Integer
compute='_compute_statistics'
bounced_ratio
Integer
compute='_compute_statistics'
string='Bounced Ratio'
calendar_date
Datetime
compute='_compute_calendar_date'
copy=False
help='Date at which the mailing was or will be sent.'
store=True
args: 'Calendar Date'
campaign_id
Many2one → utm.campaign
index=True
ondelete='set null'
string='UTM Campaign'
args: 'utm.campaign'
canceled
Integer
compute='_compute_statistics'
clicked
Integer
compute='_compute_statistics'
clicks_ratio
Integer
compute='_compute_clicks_ratio'
string='Number of Clicks'
color
Integer
string='Color Index'
contact_list_ids
Many2many → mailing.list
string='Mailing Lists'
args: 'mailing.list', 'mail_mass_mailing_list_rel'
delivered
Integer
compute='_compute_statistics'
email_from
Char
compute='_compute_email_from'
precompute=True
readonly=False
required=True
store=True
string='Send From'
expected
Integer
compute='_compute_statistics'
failed
Integer
compute='_compute_statistics'
favorite
Boolean
copy=False
tracking=True
args: 'Favorite'
favorite_date
Datetime
compute='_compute_favorite_date'
copy=False
help='When this mailing was added in the favorites'
store=True
args: 'Favorite Date'
is_body_empty
Boolean
compute='_compute_is_body_empty'
keep_archives
Boolean
string='Keep Archives'
kpi_mail_required
Boolean
copy=False
args: 'KPI mail required'
mail_server_available
Boolean
compute='_compute_mail_server_available'
help='Technical field used to know if the user has activated the outgoing mail server option in the settings'
mail_server_id
Many2one → ir.mail_server
default=_get_default_mail_server_id
help='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.'
string='Mail Server'
args: 'ir.mail_server'
mailing_domain
Char
compute='_compute_mailing_domain'
readonly=False
store=True
string='Domain'
mailing_filter_count
Integer
compute='_compute_mailing_filter_count'
args: '# Favorite Filters'
mailing_filter_domain
Char
related='mailing_filter_id.mailing_domain'
args: 'Favorite filter domain'
mailing_filter_id
Many2one → mailing.filter
compute='_compute_mailing_filter_id'
domain="[('mailing_model_name', '=', mailing_model_name)]"
readonly=False
store=True
string='Favorite Filter'
args: 'mailing.filter'
mailing_model_id
Many2one → ir.model
default=<expr>
domain=[('is_mailing_enabled', '=', True)]
ondelete='cascade'
required=True
string='Recipients Model'
args: 'ir.model'
mailing_model_name
Char
readonly=True
related='mailing_model_id.model'
related_sudo=True
string='Recipients Model Name'
mailing_model_real
Char
compute='_compute_mailing_model_real'
string='Recipients Real Model'
mailing_trace_ids
One2many → mailing.trace
string='Emails Statistics'
args: 'mailing.trace', 'mass_mailing_id'
mailing_type
Selection
default='mail'
required=True
string='Mailing Type'
args: [('mail', 'Email')]
mailing_type_description
Char
compute='_compute_mailing_type_description'
args: 'Mailing Type Description'
medium_id
Many2one → utm.medium
compute='_compute_medium_id'
help='UTM Medium: delivery method (email, sms, ...)'
ondelete='restrict'
readonly=False
store=True
string='Medium'
args: 'utm.medium'
next_departure
Datetime
compute='_compute_next_departure'
string='Scheduled date'
opened
Integer
compute='_compute_statistics'
opened_ratio
Integer
compute='_compute_statistics'
string='Opened Ratio'
preview
Char
help='Catchy preview sentence that encourages recipients to open this email.\nIn most inboxes, this is displayed next to the subject.\nKeep it empty if you prefer the first characters of your email content to appear instead.'
translate=False
args: 'Preview'
received_ratio
Integer
compute='_compute_statistics'
string='Received Ratio'
replied
Integer
compute='_compute_statistics'
replied_ratio
Integer
compute='_compute_statistics'
string='Replied Ratio'
reply_to
Char
compute='_compute_reply_to'
help='Preferred Reply-To Address'
readonly=False
store=True
string='Reply To'
reply_to_mode
Selection
compute='_compute_reply_to_mode'
help='Thread: replies go to target document. Email: replies are routed to a given email.'
readonly=False
store=True
string='Reply-To Mode'
args: [('update', 'Recipient Followers'), ('new', 'Specified Email Address')]
schedule_date
Datetime
compute='_compute_schedule_date'
copy=True
readonly=True
states={'draft': [('readonly', False)], 'in_queue': [('readonly', False)]}
store=True
string='Scheduled for'
tracking=True
schedule_type
Selection
default='now'
readonly=True
required=True
states={'draft': [('readonly', False)], 'in_queue': [('readonly', False)]}
string='Schedule'
args: [('now', 'Send now'), ('scheduled', 'Send on')]
scheduled
Integer
compute='_compute_statistics'
sent
Integer
compute='_compute_statistics'
sent_date
Datetime
copy=False
string='Sent Date'
state
Selection
copy=False
default='draft'
group_expand='_group_expand_states'
required=True
string='Status'
tracking=True
args: [('draft', 'Draft'), ('in_queue', 'In Queue'), ('sending', 'Sending'), ('done', 'Sent')]
subject
Char
required=True
translate=False
args: 'Subject'
total
Integer
compute='_compute_total'
user_id
Many2one → res.users
default=<expr>
string='Responsible'
tracking=True
args: 'res.users'
warning_message
Char
compute='_compute_warning_message'
help='Warning message displayed in the mailing form view'
args: 'Warning Message'
action_cancel(self)
action_compare_versions(self)
action_duplicate(self)
action_fetch_favorites(self, extra_domain=None)
action_launch(self)
action_put_in_queue(self)
action_remove_favorite(self)
action_retry_failed(self)
action_schedule(self)
action_select_as_winner(self)
action_send_mail(self, res_ids=None)
action_send_winner_mailing(self)
action_set_favorite(self)
action_test(self)
action_view_bounced(self)
action_view_clicked(self)
action_view_delivered(self)
action_view_mailing_contacts(self)
action_view_opened(self)
action_view_replied(self)
action_view_traces_canceled(self)
action_view_traces_failed(self)
action_view_traces_scheduled(self)
action_view_traces_sent(self)
convert_links(self)
copy(self, default=None)
create(self, vals_list)
default_get(self, fields_list)
update_opt_out(self, email, list_ids, value)
write(self, values)
mass_mailing_id
Many2one → mailing.mailing
required=True
args: 'mailing.mailing'
schedule_date
Datetime
string='Scheduled for'
action_schedule_date(self)
email_to
Text
default=<expr>
help='Carriage-return-separated list of email addresses.'
required=True
string='Recipients'
mass_mailing_id
Many2one → mailing.mailing
ondelete='cascade'
required=True
string='Mailing'
args: 'mailing.mailing'
send_mail_test(self)
campaign_id
Many2one
index='btree_not_null'
readonly=True
related='mass_mailing_id.campaign_id'
store=True
string='Campaign'
display_name
Char
compute='_compute_display_name'
email
Char
help='Normalized email address'
string='Email'
failure_type
Selection
selection=[('unknown', 'Unknown error'), ('mail_email_invalid', 'Invalid email address'), ('mail_email_missing', 'Missing email address'), ('mail_smtp', 'Connection failed (outgoing mail server problem)'), ('mail_bl', 'Blacklisted Address'), ('mail_optout', 'Opted Out'), ('mail_dup', 'Duplicated Email')]
string='Failure type'
links_click_datetime
Datetime
help='Stores last click datetime in case of multi clicks.'
args: 'Clicked On'
links_click_ids
One2many → link.tracker.click
string='Links click'
args: 'link.tracker.click', 'mailing_trace_id'
mail_mail_id
Many2one → mail.mail
index='btree_not_null'
string='Mail'
args: 'mail.mail'
mail_mail_id_int
Integer
help='ID of the related mail_mail. This field is an integer field because the related mail_mail can be deleted separately from its statistics. However the ID is needed for several action and controllers.'
index='btree_not_null'
string='Mail ID (tech)'
mass_mailing_id
Many2one → mailing.mailing
index=True
ondelete='cascade'
string='Mailing'
args: 'mailing.mailing'
medium_id
Many2one
related='mass_mailing_id.medium_id'
message_id
Char
string='Message-ID'
model
Char
required=True
string='Document model'
open_datetime
Datetime
reply_datetime
Datetime
res_id
Many2oneReference
model_field='model'
string='Document ID'
sent_datetime
Datetime
source_id
Many2one
related='mass_mailing_id.source_id'
trace_status
Selection
default='outgoing'
selection=[('outgoing', 'Outgoing'), ('sent', 'Sent'), ('open', 'Opened'), ('reply', 'Replied'), ('bounce', 'Bounced'), ('error', 'Exception'), ('cancel', 'Canceled')]
string='Status'
trace_type
Selection
default='mail'
required=True
string='Type'
args: [('mail', 'Email')]
action_view_contact(self)
create(self, values_list)
set_bounced(self, domain=None)
set_canceled(self, domain=None)
set_clicked(self, domain=None)
set_failed(self, domain=None, failure_type=False)
set_opened(self, domain=None)
set_replied(self, domain=None)
set_sent(self, domain=None)
bounced
Integer
readonly=True
campaign
Char
readonly=True
string='Mailing Campaign'
canceled
Integer
readonly=True
clicked
Integer
readonly=True
delivered
Integer
readonly=True
email_from
Char
readonly=True
args: 'From'
error
Integer
readonly=True
mailing_type
Selection
default='mail'
required=True
string='Type'
args: [('mail', 'Mail')]
name
Char
readonly=True
string='Mass Mail'
opened
Integer
readonly=True
replied
Integer
readonly=True
scheduled
Integer
readonly=True
scheduled_date
Datetime
readonly=True
string='Scheduled Date'
sent
Integer
readonly=True
state
Selection
readonly=True
string='Status'
args: [('draft', 'Draft'), ('test', 'Tested'), ('done', 'Sent')]
init(self)
No new fields.
Public methods (0)No public methods.
group_mass_mailing_campaign
Boolean
help='This is useful if your marketing campaigns are composed of several emails'
implied_group='mass_mailing.group_mass_mailing_campaign'
string='Mailing Campaigns'
mass_mailing_mail_server_id
Many2one → ir.mail_server
config_parameter='mass_mailing.mail_server_id'
string='Mail Server'
args: 'ir.mail_server'
mass_mailing_outgoing_mail_server
Boolean
config_parameter='mass_mailing.outgoing_mail_server'
help='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.'
string='Dedicated Server'
mass_mailing_reports
Boolean
config_parameter='mass_mailing.mass_mailing_reports'
help='Check how well your mailing is doing a day after it has been sent.'
string='24H Stat Mailing Reports'
show_blacklist_buttons
Boolean
config_parameter='mass_mailing.show_blacklist_buttons'
help='Allow the recipient to manage themselves their state in the blacklist via the unsubscription page.'
string='Blacklist Option when Unsubscribing'
set_values(self)
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (1)systray_get_activities(self)
ab_testing_completed
Boolean
copy=False
args: 'A/B Testing Campaign Finished'
ab_testing_mailings_count
Integer
compute='_compute_mailing_mail_count'
args: 'A/B Test Mailings #'
ab_testing_schedule_datetime
Datetime
default=<expr>
help='Date that will be used to know when to determine and send the winner mailing'
args: 'Send Final On'
ab_testing_total_pc
Integer
compute='_compute_ab_testing_total_pc'
store=True
args: 'Total A/B test percentage'
ab_testing_winner_selection
Selection
default='opened_ratio'
help='Selection to determine the winner mailing that will be sent.'
string='Winner Selection'
args: [('manual', 'Manual'), ('opened_ratio', 'Highest Open Rate'), ('clicks_ratio', 'Highest Click Rate'), ('replied_ratio', 'Highest Reply Rate')]
bounced_ratio
Integer
compute='_compute_statistics'
string='Bounced Ratio'
is_mailing_campaign_activated
Boolean
compute='_compute_is_mailing_campaign_activated'
mailing_mail_count
Integer
compute='_compute_mailing_mail_count'
groups='mass_mailing.group_mass_mailing_user'
args: 'Number of Mass Mailing'
mailing_mail_ids
One2many → mailing.mailing
domain=[('mailing_type', '=', 'mail')]
groups='mass_mailing.group_mass_mailing_user'
string='Mass Mailings'
args: 'mailing.mailing', 'campaign_id'
opened_ratio
Integer
compute='_compute_statistics'
string='Opened Ratio'
received_ratio
Integer
compute='_compute_statistics'
string='Received Ratio'
replied_ratio
Integer
compute='_compute_statistics'
string='Replied Ratio'
No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
ab_testing_description |
Mass Mailing: A/B Test Description | ir.ui.view | qweb | New |
email_compose_form_mass_mailing |
mail.compose.message.form.mass_mailing | mail.compose.message | xpath | Inherits mail.email_compose_message_wizard_form |
email_designer_snippets |
email_designer_snippets | ir.ui.view | qweb | Inherits web_editor.snippets |
iframe_css_assets_edit |
iframe_css_assets_edit | ir.ui.view | qweb | New |
iframe_css_assets_readonly |
iframe_css_assets_readonly | ir.ui.view | qweb | New |
link_tracker_click_view_form |
link.tracker.click.view.form.inherit.mass_mailing | link.tracker.click | xpath | Inherits link_tracker.link_tracker_click_view_form |
link_tracker_click_view_graph |
link.tracker.click.view.graph.inherit.mass_mailing | link.tracker.click | xpath | Inherits link_tracker.link_tracker_click_view_graph |
link_tracker_click_view_search |
link.tracker.click.view.search.inherit.mass_mailing | link.tracker.click | xpath | Inherits link_tracker.link_tracker_click_view_search |
link_tracker_click_view_tree |
link.tracker.click.view.tree.inherit.mass_mailing | link.tracker.click | xpath | Inherits link_tracker.link_tracker_click_view_tree |
link_tracker_view_form |
link.tracker.view.form.inherit.mass.mail | link.tracker | xpath | Inherits link_tracker.link_tracker_view_form |
link_tracker_view_search |
link.tracker.view.search.inherit.mass.mail | link.tracker | xpath | Inherits link_tracker.link_tracker_view_search |
mailing_contact_subscription_view_form |
mailing.contact.subscription.view.form | mailing.contact.subscription | form | New |
mailing_contact_subscription_view_search |
mailing.contact.subscription.view.search | mailing.contact.subscription | search | New |
mailing_contact_subscription_view_tree |
mailing.contact.subscription.view.tree | mailing.contact.subscription | tree | New |
mailing_contact_to_list_view_form |
mailing.contact.to.list.view.form | mailing.contact.to.list | form | New |
mailing_contact_view_form |
mailing.contact.view.form | mailing.contact | form | New |
mailing_contact_view_graph |
mailing.contact.view.graph | mailing.contact | graph | New |
mailing_contact_view_kanban |
mailing.contact.view.kanban | mailing.contact | kanban | New |
mailing_contact_view_pivot |
mailing.contact.pivot | mailing.contact | pivot | New |
mailing_contact_view_search |
mailing.contact.view.search | mailing.contact | search | New |
mailing_contact_view_tree |
mailing.contact.view.tree | mailing.contact | tree | New |
mailing_list_merge_view_form |
mailing.list.merge.form | mailing.list.merge | form | New |
mailing_list_view_form |
mailing.list.form | mailing.list | form | New |
mailing_list_view_form_simplified |
mailing.list.form.simplified | mailing.list | form | New |
mailing_list_view_form_simplified_footer |
mailing.list.form.simplified.footer | mailing.list | xpath | Inherits mailing_list_view_form_simplified |
mailing_list_view_kanban |
mailing.list.view.kanban | mailing.list | kanban | New |
mailing_list_view_search |
mailing.list.view.search | mailing.list | search | New |
mailing_list_view_tree |
mailing.list.view.tree | mailing.list | tree | New |
mailing_mailing_schedule_date_view_form |
mailing.mailing.schedule.date.view.form | mailing.mailing.schedule.date | form | New |
mailing_mailing_view_calendar |
mailing.mailing.view.calendar | mailing.mailing | calendar | New |
mailing_mailing_view_form_full_width |
mailing.mailing.view.form.full.width | mailing.mailing | xpath | Inherits mass_mailing.view_mail_mass_mailing_form |
mailing_trace_report_view_graph |
mailing.trace.report.view.graph | mailing.trace.report | graph | New |
mailing_trace_report_view_pivot |
mailing.trace.report.view.pivot | mailing.trace.report | pivot | New |
mailing_trace_report_view_search |
mailing.trace.report.view.search | mailing.trace.report | search | New |
mailing_trace_report_view_tree |
mailing.trace.report.view.tree | mailing.trace.report | tree | New |
mailing_trace_view_form |
mailing.trace.view.form | mailing.trace | form | New |
mailing_trace_view_search |
mailing.trace.view.search | mailing.trace | search | New |
mailing_trace_view_tree |
mailing.trace.view.tree | mailing.trace | tree | New |
mailing_trace_view_tree_mail |
mailing.trace.view.tree.mail | mailing.trace | tree | New |
mass_mailing.layout |
Mass Mailing Layout | ir.ui.view | qweb | New |
mass_mailing.mass_mailing_kpi_link_trackers |
Marketing: mailing link trackers statistic | ir.ui.view | qweb | New |
mass_mailing_mail_layout |
mass_mailing_mail_layout | ir.ui.view | qweb | New |
mass_mailing_mail_style |
mass_mailing_mail_style | ir.ui.view | qweb | New |
page_unsubscribe |
Unsubscribe | ir.ui.view | qweb | New |
page_unsubscribed |
Unsubscribed | ir.ui.view | qweb | New |
res_config_settings_view_form |
res.config.settings.view.form.inherit.mass.mailing | res.config.settings | xpath | Inherits base.res_config_settings_view_form |
s_alert |
Alert | ir.ui.view | qweb | New |
s_alert_options |
s_alert_options | ir.ui.view | qweb | Inherits mass_mailing.snippet_options |
s_blockquote |
Blockquote | ir.ui.view | qweb | New |
s_call_to_action |
Call to Action | ir.ui.view | qweb | New |
s_color_blocks_2 |
Big Boxes | ir.ui.view | qweb | New |
s_company_team |
Team | ir.ui.view | qweb | New |
s_comparisons |
Comparisons | ir.ui.view | qweb | New |
s_coupon_code |
Promo Code | ir.ui.view | qweb | New |
s_cover |
Cover | ir.ui.view | qweb | New |
s_features |
Features | ir.ui.view | qweb | New |
s_features_grid |
Features Grid | ir.ui.view | qweb | New |
s_hr |
Separator | ir.ui.view | qweb | Inherits web_editor.s_hr |
s_hr_options |
s_hr_options | ir.ui.view | qweb | Inherits mass_mailing.snippet_options |
s_image_text |
Image - Text | ir.ui.view | qweb | New |
s_mail_block_banner |
Banner | ir.ui.view | qweb | New |
s_mail_block_comparison_table |
Comparison | ir.ui.view | qweb | New |
s_mail_block_discount1 |
Discount Offer | ir.ui.view | qweb | New |
s_mail_block_discount2 |
Promo Code | ir.ui.view | qweb | New |
s_mail_block_event |
Event | ir.ui.view | qweb | New |
s_mail_block_footer_separator |
Separator | ir.ui.view | qweb | New |
s_mail_block_footer_social |
Footer Center | ir.ui.view | qweb | New |
s_mail_block_footer_social_left |
Footer Left | ir.ui.view | qweb | New |
s_mail_block_footer_tag_line |
Tag Line | ir.ui.view | qweb | New |
s_mail_block_header_logo |
Centered Logo | ir.ui.view | qweb | New |
s_mail_block_header_social |
Left Logo | ir.ui.view | qweb | New |
s_mail_block_header_text_social |
Left Text | ir.ui.view | qweb | New |
s_mail_block_header_view |
View Online | ir.ui.view | qweb | New |
s_mail_block_image |
Image | ir.ui.view | qweb | New |
s_mail_block_image_text |
Image - Text | ir.ui.view | qweb | New |
s_mail_block_paragraph |
Paragraph | ir.ui.view | qweb | New |
s_mail_block_steps |
Steps | ir.ui.view | qweb | New |
s_mail_block_text_image |
Text - Image | ir.ui.view | qweb | New |
s_mail_block_three_cols |
Three Columns | ir.ui.view | qweb | New |
s_mail_block_title_sub |
Title - Subtitle | ir.ui.view | qweb | New |
s_mail_block_title_text |
Title Content | ir.ui.view | qweb | New |
s_mail_block_two_cols |
Two Columns | ir.ui.view | qweb | New |
s_masonry_block |
Masonry | ir.ui.view | qweb | New |
s_masonry_block_alternation_image_text_template |
s_masonry_block_alternation_image_text_template | ir.ui.view | qweb | New |
s_masonry_block_alternation_text_image_template |
s_masonry_block_alternation_text_image_template | ir.ui.view | qweb | New |
s_masonry_block_alternation_text_image_text_template |
s_masonry_block_alternation_text_image_text_template | ir.ui.view | qweb | New |
s_masonry_block_alternation_text_template |
s_masonry_block_alternation_text_template | ir.ui.view | qweb | New |
s_masonry_block_default_template |
s_masonry_block_default_template | ir.ui.view | qweb | New |
s_masonry_block_image_texts_image_template |
s_masonry_block_image_texts_image_template | ir.ui.view | qweb | New |
s_masonry_block_images_template |
s_masonry_block_images_template | ir.ui.view | qweb | New |
s_masonry_block_mosaic_template |
s_masonry_block_mosaic_template | ir.ui.view | qweb | New |
s_masonry_block_options |
s_masonry_block_options | ir.ui.view | qweb | Inherits mass_mailing.snippet_options |
s_masonry_block_reversed_template |
s_masonry_block_reversed_template | ir.ui.view | qweb | New |
s_masonry_block_texts_image_texts_template |
s_masonry_block_texts_image_texts_template | ir.ui.view | qweb | New |
s_media_list |
Media List | ir.ui.view | qweb | New |
s_numbers |
Numbers | ir.ui.view | qweb | New |
s_picture |
Picture | ir.ui.view | qweb | New |
s_product_list |
Items | ir.ui.view | qweb | New |
s_rating |
Rating | ir.ui.view | qweb | New |
s_rating_options |
s_rating_options | ir.ui.view | qweb | Inherits mass_mailing.snippet_options |
s_references |
References | ir.ui.view | qweb | New |
s_showcase |
Showcase | ir.ui.view | qweb | New |
s_text_block |
Text | ir.ui.view | qweb | New |
s_text_highlight |
Text Highlight | ir.ui.view | qweb | New |
s_text_image |
Text - Image | ir.ui.view | qweb | New |
s_three_columns |
Columns | ir.ui.view | qweb | New |
s_title |
Title | ir.ui.view | qweb | New |
snippet_options |
snippet_options | ir.ui.view | qweb | New |
snippet_options_border_line_widgets |
snippet_options_border_line_widgets | ir.ui.view | qweb | New |
snippet_options_border_widgets |
snippet_options_border_widgets | ir.ui.view | qweb | New |
social_links |
social_links | ir.ui.view | qweb | New |
theme_basic_template |
theme_basic_template | ir.ui.view | qweb | New |
theme_default_template |
theme_default_template | ir.ui.view | qweb | New |
theme_empty_template |
theme_empty_template | ir.ui.view | qweb | New |
unsubscribe |
unsubscribe | ir.ui.view | qweb | New |
unsubscribed |
unsubscribed | ir.ui.view | qweb | New |
utm_campaign_view_form |
utm.campaign.view.form | utm.campaign | xpath | Inherits utm.utm_campaign_view_form |
utm_campaign_view_kanban |
utm.campaign.view.kanban | utm.campaign | xpath | Inherits utm.utm_campaign_view_kanban |
view |
Browser View | ir.ui.view | qweb | New |
view_mail_mail_statistics_graph |
Mail Statistics Graph | mailing.trace | graph | New |
view_mail_mass_mailing_form |
mailing.mailing.form | mailing.mailing | form | New |
view_mail_mass_mailing_graph |
mailing.mailing.graph | mailing.mailing | graph | New |
view_mail_mass_mailing_kanban |
mailing.mailing.kanban | mailing.mailing | kanban | New |
view_mail_mass_mailing_search |
mailing.mailing.search | mailing.mailing | search | New |
view_mail_mass_mailing_test_form |
mailing.mailing.test.form | mailing.mailing.test | form | New |
view_mail_mass_mailing_tree |
mailing.mailing.tree | mailing.mailing | tree | New |
is_mailing_enabled
Boolean
compute='_compute_is_mailing_enabled'
help='Whether this model supports marketing mailing capabilities (notably email and SMS).'
search='_search_is_mailing_enabled'
string='Mailing Enabled'
No public methods.
mass_mailing_id
Many2one → mailing.mailing
string='Mass Mailing'
args: 'mailing.mailing'
No public methods.
mailing_trace_id
Many2one → mailing.trace
string='Mail Statistics'
args: 'mailing.trace'
mass_mailing_id
Many2one → mailing.mailing
string='Mass Mailing'
args: 'mailing.mailing'
add_click(self, code, **route_values)
campaign_id
Many2one → utm.campaign
string='Mass Mailing Campaign'
args: 'utm.campaign'
mailing_list_ids
Many2many → mailing.list
string='Mailing List'
args: 'mailing.list'
mass_mailing_id
Many2one → mailing.mailing
ondelete='cascade'
string='Mass Mailing'
args: 'mailing.mailing'
mass_mailing_name
Char
string='Mass Mailing Name'
get_mail_values(self, res_ids)
mailing_id
Many2one → mailing.mailing
string='Mass Mailing'
args: 'mailing.mailing'
mailing_trace_ids
One2many → mailing.trace
string='Statistics'
args: 'mailing.trace', 'mail_mail_id'
create(self, values_list)
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (2)message_new(self, msg_dict, custom_values=None)
message_post_with_template(self, template_id, **kwargs)
company_name
Char
string='Company Name'
country_id
Many2one → res.country
string='Country'
args: 'res.country'
email
Char
list_ids
Many2many → mailing.list
string='Mailing Lists'
args: 'mailing.list', 'mailing_contact_list_rel', 'contact_id', 'list_id'
name
Char
opt_out
Boolean
compute='_compute_opt_out'
help='Opt out flag for a specific mailing list.This field should not be used in a view without a unique and active mailing list context.'
search='_search_opt_out'
args: 'Opt Out'
subscription_list_ids
One2many → mailing.contact.subscription
string='Subscription Information'
args: 'mailing.contact.subscription', 'contact_id'
tag_ids
Many2many → res.partner.category
string='Tags'
args: 'res.partner.category'
title_id
Many2one → res.partner.title
string='Title'
args: 'res.partner.title'
action_add_to_mailing_list(self)
add_to_list(self, name, list_id)
copy(self, default=None)
create(self, vals_list)
default_get(self, fields)
get_name_email(self, name)
name_create(self, name)
contact_id
Many2one → mailing.contact
ondelete='cascade'
required=True
string='Contact'
args: 'mailing.contact'
is_blacklisted
Boolean
readonly=False
related='contact_id.is_blacklisted'
store=False
list_id
Many2one → mailing.list
ondelete='cascade'
required=True
string='Mailing List'
args: 'mailing.list'
message_bounce
Integer
readonly=False
related='contact_id.message_bounce'
store=False
opt_out
Boolean
default=False
help='The contact has chosen not to receive mails anymore from this list'
string='Opt Out'
unsubscription_date
Datetime
string='Unsubscription Date'
create(self, vals_list)
write(self, vals)
contact_ids
Many2many → mailing.contact
string='Contacts'
args: 'mailing.contact'
mailing_list_id
Many2one → mailing.list
required=True
string='Mailing List'
args: 'mailing.list'
action_add_contacts(self)
action_add_contacts_and_send_mailing(self)
active
Boolean
default=True
contact_count
Integer
compute='_compute_mailing_list_statistics'
string='Number of Contacts'
contact_count_blacklisted
Integer
compute='_compute_mailing_list_statistics'
string='Number of Blacklisted'
contact_count_email
Integer
compute='_compute_mailing_list_statistics'
string='Number of Emails'
contact_count_opt_out
Integer
compute='_compute_mailing_list_statistics'
string='Number of Opted-out'
contact_ids
Many2many → mailing.contact
copy=False
string='Mailing Lists'
args: 'mailing.contact', 'mailing_contact_list_rel', 'list_id', 'contact_id'
contact_pct_blacklisted
Float
compute='_compute_mailing_list_statistics'
string='Percentage of Blacklisted'
contact_pct_bounce
Float
compute='_compute_mailing_list_statistics'
string='Percentage of Bouncing'
contact_pct_opt_out
Float
compute='_compute_mailing_list_statistics'
string='Percentage of Opted-out'
is_public
Boolean
default=True
help='The mailing list can be accessible by recipient in the unsubscription page to allows him to update his subscription preferences.'
mailing_count
Integer
compute='_compute_mailing_list_count'
string='Number of Mailing'
mailing_ids
Many2many → mailing.mailing
copy=False
string='Mass Mailings'
args: 'mailing.mailing', 'mail_mass_mailing_list_rel'
name
Char
required=True
string='Mailing List'
subscription_ids
One2many → mailing.contact.subscription
copy=True
depends=['contact_ids']
string='Subscription Information'
args: 'mailing.contact.subscription', 'list_id'
action_merge(self, src_lists, archive)
action_view_contacts(self)
action_view_contacts_blacklisted(self)
action_view_contacts_bouncing(self)
action_view_contacts_email(self)
action_view_contacts_opt_out(self)
action_view_mailings(self)
close_dialog(self)
copy(self, default=None)
name_get(self)
write(self, vals)
archive_src_lists
Boolean
default=True
args: 'Archive source mailing lists'
dest_list_id
Many2one → mailing.list
string='Destination Mailing List'
args: 'mailing.list'
merge_options
Selection
default='new'
required=True
args: [('new', 'Merge into a new mailing list'), ('existing', 'Merge into an existing mailing list')], 'Merge Option'
new_list_name
Char
src_list_ids
Many2many → mailing.list
string='Mailing Lists'
args: 'mailing.list'
action_mailing_lists_merge(self)
default_get(self, fields)
ab_testing_completed
Boolean
related='campaign_id.ab_testing_completed'
store=True
ab_testing_description
Html
compute='_compute_ab_testing_description'
args: 'A/B Testing Description'
ab_testing_enabled
Boolean
default=False
help='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.'
string='Allow A/B Testing'
ab_testing_mailings_count
Integer
related='campaign_id.ab_testing_mailings_count'
ab_testing_pc
Integer
default=10
help='Percentage of the contacts that will be mailed. Recipients will be chosen randomly.'
string='A/B Testing percentage'
ab_testing_schedule_datetime
Datetime
default=<expr>
readonly=False
related='campaign_id.ab_testing_schedule_datetime'
ab_testing_winner_selection
Selection
copy=True
default='opened_ratio'
readonly=False
related='campaign_id.ab_testing_winner_selection'
active
Boolean
default=True
tracking=True
attachment_ids
Many2many → ir.attachment
string='Attachments'
args: 'ir.attachment', 'mass_mailing_ir_attachments_rel', 'mass_mailing_id', 'attachment_id'
body_arch
Html
sanitize=False
string='Body'
translate=False
body_html
Html
render_engine='qweb'
sanitize=False
string='Body converted to be sent by mail'
bounced
Integer
compute='_compute_statistics'
bounced_ratio
Integer
compute='_compute_statistics'
string='Bounced Ratio'
calendar_date
Datetime
compute='_compute_calendar_date'
copy=False
help='Date at which the mailing was or will be sent.'
store=True
args: 'Calendar Date'
campaign_id
Many2one → utm.campaign
index=True
string='UTM Campaign'
args: 'utm.campaign'
canceled
Integer
compute='_compute_statistics'
clicked
Integer
compute='_compute_statistics'
clicks_ratio
Integer
compute='_compute_clicks_ratio'
string='Number of Clicks'
color
Integer
string='Color Index'
contact_list_ids
Many2many → mailing.list
string='Mailing Lists'
args: 'mailing.list', 'mail_mass_mailing_list_rel'
delivered
Integer
compute='_compute_statistics'
email_from
Char
compute='_compute_email_from'
default=<expr>
readonly=False
required=True
store=True
string='Send From'
expected
Integer
compute='_compute_statistics'
failed
Integer
compute='_compute_statistics'
is_body_empty
Boolean
compute='_compute_is_body_empty'
help='Technical field used to determine if the mail body is empty'
keep_archives
Boolean
string='Keep Archives'
kpi_mail_required
Boolean
copy=False
args: 'KPI mail required'
mail_server_available
Boolean
compute='_compute_mail_server_available'
help='Technical field used to know if the user has activated the outgoing mail server option in the settings'
mail_server_id
Many2one → ir.mail_server
default=_get_default_mail_server_id
help='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.'
string='Mail Server'
args: 'ir.mail_server'
mailing_domain
Char
compute='_compute_mailing_domain'
readonly=False
store=True
string='Domain'
mailing_model_id
Many2one → ir.model
default=<expr>
domain=[('is_mailing_enabled', '=', True)]
ondelete='cascade'
required=True
string='Recipients Model'
args: 'ir.model'
mailing_model_name
Char
readonly=True
related='mailing_model_id.model'
related_sudo=True
string='Recipients Model Name'
mailing_model_real
Char
compute='_compute_mailing_model_real'
string='Recipients Real Model'
mailing_trace_ids
One2many → mailing.trace
string='Emails Statistics'
args: 'mailing.trace', 'mass_mailing_id'
mailing_type
Selection
default='mail'
required=True
string='Mailing Type'
args: [('mail', 'Email')]
mailing_type_description
Char
compute='_compute_mailing_type_description'
args: 'Mailing Type Description'
medium_id
Many2one → utm.medium
compute='_compute_medium_id'
help='UTM Medium: delivery method (email, sms, ...)'
readonly=False
store=True
string='Medium'
args: 'utm.medium'
next_departure
Datetime
compute='_compute_next_departure'
string='Scheduled date'
opened
Integer
compute='_compute_statistics'
opened_ratio
Integer
compute='_compute_statistics'
string='Opened Ratio'
preview
Char
help='Catchy preview sentence that encourages recipients to open this email.\nIn most inboxes, this is displayed next to the subject.\nKeep it empty if you prefer the first characters of your email content to appear instead.'
translate=False
args: 'Preview'
received_ratio
Integer
compute='_compute_statistics'
string='Received Ratio'
replied
Integer
compute='_compute_statistics'
replied_ratio
Integer
compute='_compute_statistics'
string='Replied Ratio'
reply_to
Char
compute='_compute_reply_to'
help='Preferred Reply-To Address'
readonly=False
store=True
string='Reply To'
reply_to_mode
Selection
compute='_compute_reply_to_mode'
help='Thread: replies go to target document. Email: replies are routed to a given email.'
readonly=False
store=True
string='Reply-To Mode'
args: [('update', 'Recipient Followers'), ('new', 'Specified Email Address')]
schedule_date
Datetime
compute='_compute_schedule_date'
copy=True
readonly=True
states={'draft': [('readonly', False)], 'in_queue': [('readonly', False)]}
store=True
string='Scheduled for'
tracking=True
schedule_type
Selection
default='now'
readonly=True
required=True
states={'draft': [('readonly', False)], 'in_queue': [('readonly', False)]}
string='Schedule'
args: [('now', 'Send now'), ('scheduled', 'Send on')]
scheduled
Integer
compute='_compute_statistics'
sent
Integer
compute='_compute_statistics'
sent_date
Datetime
copy=False
string='Sent Date'
source_id
Many2one → utm.source
help='This is the link source, e.g. Search Engine, another domain, or name of email list'
ondelete='cascade'
required=True
string='Source'
args: 'utm.source'
state
Selection
copy=False
default='draft'
group_expand='_group_expand_states'
required=True
string='Status'
tracking=True
args: [('draft', 'Draft'), ('in_queue', 'In Queue'), ('sending', 'Sending'), ('done', 'Sent')]
subject
Char
help='Subject of your Mailing'
required=True
translate=False
args: 'Subject'
total
Integer
compute='_compute_total'
user_id
Many2one → res.users
default=<expr>
string='Responsible'
tracking=True
args: 'res.users'
warning_message
Char
compute='_compute_warning_message'
help='Warning message displayed in the mailing form view'
args: 'Warning Message'
action_cancel(self)
action_compare_versions(self)
action_duplicate(self)
action_launch(self)
action_put_in_queue(self)
action_retry_failed(self)
action_schedule(self)
action_select_as_winner(self)
action_send_mail(self, res_ids=None)
action_send_winner_mailing(self)
action_test(self)
action_view_bounced(self)
action_view_clicked(self)
action_view_delivered(self)
action_view_opened(self)
action_view_replied(self)
action_view_traces_canceled(self)
action_view_traces_failed(self)
action_view_traces_scheduled(self)
action_view_traces_sent(self)
convert_links(self)
copy(self, default=None)
create(self, vals_list)
default_get(self, fields_list)
update_opt_out(self, email, list_ids, value)
write(self, values)
mass_mailing_id
Many2one → mailing.mailing
required=True
args: 'mailing.mailing'
schedule_date
Datetime
string='Scheduled for'
action_schedule_date(self)
email_to
Text
default=<expr>
help='Carriage-return-separated list of email addresses.'
required=True
string='Recipients'
mass_mailing_id
Many2one → mailing.mailing
ondelete='cascade'
required=True
string='Mailing'
args: 'mailing.mailing'
send_mail_test(self)
campaign_id
Many2one
index=True
readonly=True
related='mass_mailing_id.campaign_id'
store=True
string='Campaign'
display_name
Char
compute='_compute_display_name'
email
Char
help='Normalized email address'
string='Email'
failure_type
Selection
selection=[('unknown', 'Unknown error'), ('mail_email_invalid', 'Invalid email address'), ('mail_email_missing', 'Missing email address'), ('mail_smtp', 'Connection failed (outgoing mail server problem)'), ('mail_bl', 'Blacklisted Address'), ('mail_optout', 'Opted Out'), ('mail_dup', 'Duplicated Email')]
string='Failure type'
links_click_datetime
Datetime
help='Stores last click datetime in case of multi clicks.'
args: 'Clicked On'
links_click_ids
One2many → link.tracker.click
string='Links click'
args: 'link.tracker.click', 'mailing_trace_id'
mail_mail_id
Many2one → mail.mail
index=True
string='Mail'
args: 'mail.mail'
mail_mail_id_int
Integer
help='ID of the related mail_mail. This field is an integer field because the related mail_mail can be deleted separately from its statistics. However the ID is needed for several action and controllers.'
index=True
string='Mail ID (tech)'
mass_mailing_id
Many2one → mailing.mailing
index=True
ondelete='cascade'
string='Mailing'
args: 'mailing.mailing'
medium_id
Many2one
related='mass_mailing_id.medium_id'
message_id
Char
help='Technical field for the email Message-ID (RFC 2392)'
string='Message-ID'
model
Char
required=True
string='Document model'
open_datetime
Datetime
reply_datetime
Datetime
res_id
Many2oneReference
model_field='model'
required=True
string='Document ID'
sent_datetime
Datetime
source_id
Many2one
related='mass_mailing_id.source_id'
trace_status
Selection
default='outgoing'
selection=[('outgoing', 'Outgoing'), ('sent', 'Sent'), ('open', 'Opened'), ('reply', 'Replied'), ('bounce', 'Bounced'), ('error', 'Exception'), ('cancel', 'Canceled')]
string='Status'
trace_type
Selection
default='mail'
required=True
string='Type'
args: [('mail', 'Email')]
action_view_contact(self)
create(self, values_list)
set_bounced(self, domain=None)
set_canceled(self, domain=None)
set_clicked(self, domain=None)
set_failed(self, domain=None, failure_type=False)
set_opened(self, domain=None)
set_replied(self, domain=None)
set_sent(self, domain=None)
bounced
Integer
readonly=True
campaign
Char
readonly=True
string='Mailing Campaign'
canceled
Integer
readonly=True
clicked
Integer
readonly=True
delivered
Integer
readonly=True
email_from
Char
readonly=True
args: 'From'
error
Integer
readonly=True
mailing_type
Selection
default='mail'
required=True
string='Type'
args: [('mail', 'Mail')]
name
Char
readonly=True
string='Mass Mail'
opened
Integer
readonly=True
replied
Integer
readonly=True
scheduled
Integer
readonly=True
scheduled_date
Datetime
readonly=True
string='Scheduled Date'
sent
Integer
readonly=True
state
Selection
readonly=True
string='Status'
args: [('draft', 'Draft'), ('test', 'Tested'), ('done', 'Sent')]
init(self)
No new fields.
Public methods (0)No public methods.
group_mass_mailing_campaign
Boolean
help='This is useful if your marketing campaigns are composed of several emails'
implied_group='mass_mailing.group_mass_mailing_campaign'
string='Mailing Campaigns'
mass_mailing_mail_server_id
Many2one → ir.mail_server
config_parameter='mass_mailing.mail_server_id'
string='Mail Server'
args: 'ir.mail_server'
mass_mailing_outgoing_mail_server
Boolean
config_parameter='mass_mailing.outgoing_mail_server'
help='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.'
string='Dedicated Server'
show_blacklist_buttons
Boolean
config_parameter='mass_mailing.show_blacklist_buttons'
help='Allow the recipient to manage himself his state in the blacklist via the unsubscription page.'
string='Blacklist Option when Unsubscribing'
set_values(self)
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (1)systray_get_activities(self)
ab_testing_completed
Boolean
ab_testing_mailings_count
Integer
compute='_compute_mailing_mail_count'
args: 'A/B Test Mailings #'
ab_testing_schedule_datetime
Datetime
default=<expr>
help='Date that will be used to know when to determine and send the winner mailing'
args: 'Send Final On'
ab_testing_total_pc
Integer
compute='_compute_ab_testing_total_pc'
store=True
args: 'Total A/B test percentage'
ab_testing_winner_selection
Selection
default='opened_ratio'
help='Selection to determine the winner mailing that will be sent.'
string='Winner Selection'
args: [('manual', 'Manual'), ('opened_ratio', 'Highest Open Rate'), ('clicks_ratio', 'Highest Click Rate'), ('replied_ratio', 'Highest Reply Rate')]
bounced_ratio
Integer
compute='_compute_statistics'
string='Bounced Ratio'
mailing_mail_count
Integer
compute='_compute_mailing_mail_count'
args: 'Number of Mass Mailing'
mailing_mail_ids
One2many → mailing.mailing
domain=[('mailing_type', '=', 'mail')]
string='Mass Mailings'
args: 'mailing.mailing', 'campaign_id'
opened_ratio
Integer
compute='_compute_statistics'
string='Opened Ratio'
received_ratio
Integer
compute='_compute_statistics'
string='Received Ratio'
replied_ratio
Integer
compute='_compute_statistics'
string='Replied Ratio'
No public methods.
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
assets_backend |
mass_mailing assets | ir.ui.view | qweb | Inherits web.assets_backend |
assets_common |
Mass Mailing Assets Common | ir.ui.view | qweb | Inherits web.assets_common |
assets_mail_themes |
assets_mail_themes | ir.ui.view | qweb | New |
assets_mail_themes_edition |
assets_mail_themes_edition | ir.ui.view | qweb | New |
email_compose_form_mass_mailing |
mail.compose.message.form.mass_mailing | mail.compose.message | xpath | Inherits mail.email_compose_message_wizard_form |
email_designer_snippets |
email_designer_snippets | ir.ui.view | qweb | Inherits web_editor.snippets |
iframe_css_assets_edit |
iframe_css_assets_edit | ir.ui.view | qweb | New |
iframe_css_assets_readonly |
iframe_css_assets_readonly | ir.ui.view | qweb | New |
link_tracker_click_view_form |
link.tracker.click.view.form.inherit.mass_mailing | link.tracker.click | xpath | Inherits link_tracker.link_tracker_click_view_form |
link_tracker_click_view_graph |
link.tracker.click.view.graph.inherit.mass_mailing | link.tracker.click | xpath | Inherits link_tracker.link_tracker_click_view_graph |
link_tracker_click_view_search |
link.tracker.click.view.search.inherit.mass_mailing | link.tracker.click | xpath | Inherits link_tracker.link_tracker_click_view_search |
link_tracker_click_view_tree |
link.tracker.click.view.tree.inherit.mass_mailing | link.tracker.click | xpath | Inherits link_tracker.link_tracker_click_view_tree |
link_tracker_view_form |
link.tracker.view.form.inherit.mass.mail | link.tracker | xpath | Inherits link_tracker.link_tracker_view_form |
link_tracker_view_search |
link.tracker.view.search.inherit.mass.mail | link.tracker | xpath | Inherits link_tracker.link_tracker_view_search |
mailing_contact_subscription_view_form |
mailing.contact.subscription.view.form | mailing.contact.subscription | form | New |
mailing_contact_subscription_view_search |
mailing.contact.subscription.view.search | mailing.contact.subscription | search | New |
mailing_contact_subscription_view_tree |
mailing.contact.subscription.view.tree | mailing.contact.subscription | tree | New |
mailing_contact_view_form |
mailing.contact.view.form | mailing.contact | form | New |
mailing_contact_view_graph |
mailing.contact.view.graph | mailing.contact | graph | New |
mailing_contact_view_kanban |
mailing.contact.view.kanban | mailing.contact | kanban | New |
mailing_contact_view_pivot |
mailing.contact.pivot | mailing.contact | pivot | New |
mailing_contact_view_search |
mailing.contact.view.search | mailing.contact | search | New |
mailing_contact_view_tree |
mailing.contact.view.tree | mailing.contact | tree | New |
mailing_list_merge_view_form |
mailing.list.merge.form | mailing.list.merge | form | New |
mailing_list_view_form |
mailing.list.form | mailing.list | form | New |
mailing_list_view_form_simplified |
mailing.list.form.simplified | mailing.list | form | New |
mailing_list_view_kanban |
mailing.list.view.kanban | mailing.list | kanban | New |
mailing_list_view_search |
mailing.list.view.search | mailing.list | search | New |
mailing_list_view_tree |
mailing.list.view.tree | mailing.list | tree | New |
mailing_mailing_schedule_date_view_form |
mailing.mailing.schedule.date.view.form | mailing.mailing.schedule.date | form | New |
mailing_trace_report_view_graph |
mailing.trace.report.view.graph | mailing.trace.report | graph | New |
mailing_trace_report_view_pivot |
mailing.trace.report.view.pivot | mailing.trace.report | pivot | New |
mailing_trace_report_view_search |
mailing.trace.report.view.search | mailing.trace.report | search | New |
mailing_trace_view_form |
mailing.trace.form | mailing.trace | form | New |
mailing_trace_view_search |
mailing.trace.search | mailing.trace | search | New |
mailing_trace_view_tree |
mailing.trace.tree | mailing.trace | tree | New |
mass_mailing.layout |
Mass Mailing Layout | ir.ui.view | qweb | New |
mass_mailing.mass_mailing_kpi_link_trackers |
Email Marketing: mailing link trackers statistic | ir.ui.view | qweb | New |
mass_mailing_mail_layout |
mass_mailing_mail_layout | ir.ui.view | qweb | New |
mass_mailing_mail_style |
mass_mailing_mail_style | ir.ui.view | qweb | New |
page_unsubscribe |
Unsubscribe | ir.ui.view | qweb | New |
page_unsubscribed |
Unsubscribed | ir.ui.view | qweb | New |
qunit_suite |
qunit_suite | ir.ui.view | qweb | Inherits web.qunit_suite_tests |
res_config_settings_view_form |
res.config.settings.view.form.inherit.mass.mailing | res.config.settings | xpath | Inherits base.res_config_settings_view_form |
s_mail_block_banner |
Banner | ir.ui.view | qweb | New |
s_mail_block_comparison_table |
Comparison | ir.ui.view | qweb | New |
s_mail_block_discount1 |
Discount Offer | ir.ui.view | qweb | New |
s_mail_block_discount2 |
Promo Code | ir.ui.view | qweb | New |
s_mail_block_event |
Event | ir.ui.view | qweb | New |
s_mail_block_footer_separator |
Separator | ir.ui.view | qweb | New |
s_mail_block_footer_social |
Footer Center | ir.ui.view | qweb | New |
s_mail_block_footer_social_left |
Footer Left | ir.ui.view | qweb | New |
s_mail_block_footer_tag_line |
Tag Line | ir.ui.view | qweb | New |
s_mail_block_header_logo |
Centered Logo | ir.ui.view | qweb | New |
s_mail_block_header_social |
Left Logo | ir.ui.view | qweb | New |
s_mail_block_header_text_social |
Left Text | ir.ui.view | qweb | New |
s_mail_block_header_view |
View Online | ir.ui.view | qweb | New |
s_mail_block_image |
Image | ir.ui.view | qweb | New |
s_mail_block_image_text |
Image - Text | ir.ui.view | qweb | New |
s_mail_block_paragraph |
Paragraph | ir.ui.view | qweb | New |
s_mail_block_steps |
Steps | ir.ui.view | qweb | New |
s_mail_block_text_image |
Text - Image | ir.ui.view | qweb | New |
s_mail_block_three_cols |
Three Columns | ir.ui.view | qweb | New |
s_mail_block_title_sub |
Title - Subtitle | ir.ui.view | qweb | New |
s_mail_block_title_text |
Title Content | ir.ui.view | qweb | New |
s_mail_block_two_cols |
Two Columns | ir.ui.view | qweb | New |
snippet_options |
snippet_options | ir.ui.view | qweb | New |
social_links |
social_links | ir.ui.view | qweb | New |
theme_basic_template |
theme_basic_template | ir.ui.view | qweb | New |
theme_default_template |
theme_default_template | ir.ui.view | qweb | New |
unsubscribe |
unsubscribe | ir.ui.view | qweb | New |
unsubscribed |
unsubscribed | ir.ui.view | qweb | New |
utm_campaign_view_form |
utm.campaign.view.form | utm.campaign | xpath | Inherits utm.utm_campaign_view_form |
utm_campaign_view_kanban |
utm.campaign.view.kanban | utm.campaign | xpath | Inherits utm.utm_campaign_view_kanban |
view |
Browser View | ir.ui.view | qweb | New |
view_mail_mail_statistics_graph |
Mail Statistics Graph | mailing.trace | graph | New |
view_mail_mass_mailing_form |
mailing.mailing.form | mailing.mailing | form | New |
view_mail_mass_mailing_graph |
mailing.mailing.graph | mailing.mailing | graph | New |
view_mail_mass_mailing_kanban |
mailing.mailing.kanban | mailing.mailing | kanban | New |
view_mail_mass_mailing_search |
mailing.mailing.search | mailing.mailing | search | New |
view_mail_mass_mailing_test_form |
mailing.mailing.test.form | mailing.mailing.test | form | New |
view_mail_mass_mailing_tree |
mailing.mailing.tree | mailing.mailing | tree | New |
mass_mailing_id
Many2one → mailing.mailing
string='Mass Mailing'
args: 'mailing.mailing'
No public methods.
mailing_trace_id
Many2one → mailing.trace
string='Mail Statistics'
args: 'mailing.trace'
mass_mailing_id
Many2one → mailing.mailing
string='Mass Mailing'
args: 'mailing.mailing'
add_click(self, code, **route_values)
campaign_id
Many2one → utm.campaign
string='Mass Mailing Campaign'
args: 'utm.campaign'
mailing_list_ids
Many2many → mailing.list
string='Mailing List'
args: 'mailing.list'
mass_mailing_id
Many2one → mailing.mailing
ondelete='cascade'
string='Mass Mailing'
args: 'mailing.mailing'
mass_mailing_name
Char
string='Mass Mailing Name'
get_mail_values(self, res_ids)
mailing_id
Many2one → mailing.mailing
string='Mass Mailing'
args: 'mailing.mailing'
mailing_trace_ids
One2many → mailing.trace
string='Statistics'
args: 'mailing.trace', 'mail_mail_id'
create(self, values_list)
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (2)message_new(self, msg_dict, custom_values=None)
message_post_with_template(self, template_id, **kwargs)
company_name
Char
string='Company Name'
country_id
Many2one → res.country
string='Country'
args: 'res.country'
email
Char
list_ids
Many2many → mailing.list
string='Mailing Lists'
args: 'mailing.list', 'mailing_contact_list_rel', 'contact_id', 'list_id'
name
Char
opt_out
Boolean
compute='_compute_opt_out'
help='Opt out flag for a specific mailing list.This field should not be used in a view without a unique and active mailing list context.'
search='_search_opt_out'
args: 'Opt Out'
subscription_list_ids
One2many → mailing.contact.subscription
string='Subscription Information'
args: 'mailing.contact.subscription', 'contact_id'
tag_ids
Many2many → res.partner.category
string='Tags'
args: 'res.partner.category'
title_id
Many2one → res.partner.title
string='Title'
args: 'res.partner.title'
add_to_list(self, name, list_id)
copy(self, default=None)
create(self, vals_list)
default_get(self, fields)
get_name_email(self, name)
name_create(self, name)
contact_id
Many2one → mailing.contact
ondelete='cascade'
required=True
string='Contact'
args: 'mailing.contact'
is_blacklisted
Boolean
readonly=False
related='contact_id.is_blacklisted'
store=False
list_id
Many2one → mailing.list
ondelete='cascade'
required=True
string='Mailing List'
args: 'mailing.list'
message_bounce
Integer
readonly=False
related='contact_id.message_bounce'
store=False
opt_out
Boolean
default=False
help='The contact has chosen not to receive mails anymore from this list'
string='Opt Out'
unsubscription_date
Datetime
string='Unsubscription Date'
create(self, vals)
write(self, vals)
active
Boolean
default=True
contact_ids
Many2many → mailing.contact
string='Mailing Lists'
args: 'mailing.contact', 'mailing_contact_list_rel', 'list_id', 'contact_id'
contact_nbr
Integer
compute='_compute_contact_nbr'
string='Number of Contacts'
is_public
Boolean
default=True
help='The mailing list can be accessible by recipient in the unsubscription page to allows him to update his subscription preferences.'
name
Char
required=True
string='Mailing List'
subscription_ids
One2many → mailing.contact.subscription
depends=['contact_ids']
string='Subscription Information'
args: 'mailing.contact.subscription', 'list_id'
action_merge(self, src_lists, archive)
action_view_contacts(self)
close_dialog(self)
name_get(self)
write(self, vals)
archive_src_lists
Boolean
default=True
args: 'Archive source mailing lists'
dest_list_id
Many2one → mailing.list
string='Destination Mailing List'
args: 'mailing.list'
merge_options
Selection
default='new'
required=True
args: [('new', 'Merge into a new mailing list'), ('existing', 'Merge into an existing mailing list')], 'Merge Option'
new_list_name
Char
src_list_ids
Many2many → mailing.list
string='Mailing Lists'
args: 'mailing.list'
action_mailing_lists_merge(self)
default_get(self, fields)
active
Boolean
default=True
tracking=True
attachment_ids
Many2many → ir.attachment
string='Attachments'
args: 'ir.attachment', 'mass_mailing_ir_attachments_rel', 'mass_mailing_id', 'attachment_id'
body_arch
Html
string='Body'
translate=False
body_html
Html
sanitize_attributes=False
string='Body converted to be sent by mail'
bounced
Integer
compute='_compute_statistics'
bounced_ratio
Integer
compute='_compute_statistics'
string='Bounced Ratio'
campaign_id
Many2one → utm.campaign
index=True
string='UTM Campaign'
args: 'utm.campaign'
clicked
Integer
compute='_compute_statistics'
clicks_ratio
Integer
compute='_compute_clicks_ratio'
string='Number of Clicks'
color
Integer
string='Color Index'
contact_ab_pc
Integer
default=100
help='Percentage of the contacts that will be mailed. Recipients will be taken randomly.'
string='A/B Testing percentage'
contact_list_ids
Many2many → mailing.list
string='Mailing Lists'
args: 'mailing.list', 'mail_mass_mailing_list_rel'
delivered
Integer
compute='_compute_statistics'
email_from
Char
default=<expr>
required=True
string='Send From'
expected
Integer
compute='_compute_statistics'
failed
Integer
compute='_compute_statistics'
ignored
Integer
compute='_compute_statistics'
keep_archives
Boolean
string='Keep Archives'
kpi_mail_required
Boolean
copy=False
args: 'KPI mail required'
mail_server_id
Many2one → ir.mail_server
default=_get_default_mail_server_id
help='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.'
string='Mail Server'
args: 'ir.mail_server'
mailing_domain
Char
compute='_compute_mailing_domain'
readonly=False
store=True
string='Domain'
mailing_model_id
Many2one → ir.model
default=<expr>
domain=[('model', 'in', MASS_MAILING_BUSINESS_MODELS)]
ondelete='cascade'
required=True
string='Recipients Model'
args: 'ir.model'
mailing_model_name
Char
readonly=True
related='mailing_model_id.model'
related_sudo=True
string='Recipients Model Name'
mailing_model_real
Char
compute='_compute_model'
string='Recipients Real Model'
mailing_trace_ids
One2many → mailing.trace
string='Emails Statistics'
args: 'mailing.trace', 'mass_mailing_id'
mailing_type
Selection
default='mail'
required=True
string='Mailing Type'
args: [('mail', 'Email')]
medium_id
Many2one → utm.medium
compute='_compute_medium_id'
help='UTM Medium: delivery method (email, sms, ...)'
readonly=False
store=True
string='Medium'
args: 'utm.medium'
next_departure
Datetime
compute='_compute_next_departure'
string='Scheduled date'
opened
Integer
compute='_compute_statistics'
opened_ratio
Integer
compute='_compute_statistics'
string='Opened Ratio'
preview
Char
help='Catchy preview sentence that encourages recipients to open this email.\nIn most inboxes, this is displayed next to the subject.\nKeep it empty if you prefer the first characters of your email content to appear instead.'
translate=True
args: 'Preview'
received_ratio
Integer
compute='_compute_statistics'
string='Received Ratio'
replied
Integer
compute='_compute_statistics'
replied_ratio
Integer
compute='_compute_statistics'
string='Replied Ratio'
reply_to
Char
compute='_compute_reply_to'
help='Preferred Reply-To Address'
readonly=False
store=True
string='Reply To'
reply_to_mode
Selection
compute='_compute_reply_to_mode'
help='Thread: replies go to target document. Email: replies are routed to a given email.'
readonly=False
store=True
string='Reply-To Mode'
args: [('thread', 'Recipient Followers'), ('email', 'Specified Email Address')]
schedule_date
Datetime
string='Scheduled for'
tracking=True
scheduled
Integer
compute='_compute_statistics'
sent
Integer
compute='_compute_statistics'
sent_date
Datetime
copy=False
string='Sent Date'
source_id
Many2one → utm.source
help='This is the link source, e.g. Search Engine, another domain, or name of email list'
ondelete='cascade'
required=True
string='Source'
args: 'utm.source'
state
Selection
copy=False
default='draft'
group_expand='_group_expand_states'
required=True
string='Status'
tracking=True
args: [('draft', 'Draft'), ('in_queue', 'In Queue'), ('sending', 'Sending'), ('done', 'Sent')]
subject
Char
help='Subject of your Mailing'
required=True
translate=True
args: 'Subject'
total
Integer
compute='_compute_total'
unique_ab_testing
Boolean
default=False
help='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.'
string='Allow A/B Testing'
user_id
Many2one → res.users
default=<expr>
string='Responsible'
tracking=True
args: 'res.users'
action_cancel(self)
action_duplicate(self)
action_put_in_queue(self)
action_retry_failed(self)
action_schedule(self)
action_send_mail(self, res_ids=None)
action_test(self)
action_view_bounced(self)
action_view_clicked(self)
action_view_delivered(self)
action_view_opened(self)
action_view_replied(self)
action_view_traces_failed(self)
action_view_traces_ignored(self)
action_view_traces_scheduled(self)
action_view_traces_sent(self)
convert_links(self)
copy(self, default=None)
create(self, values)
default_get(self, fields)
update_opt_out(self, email, list_ids, value)
write(self, values)
mass_mailing_id
Many2one → mailing.mailing
ondelete='cascade'
required=True
args: 'mailing.mailing'
schedule_date
Datetime
string='Scheduled for'
set_schedule_date(self)
email_to
Char
default=<expr>
help='Comma-separated list of email addresses.'
required=True
string='Recipients'
mass_mailing_id
Many2one → mailing.mailing
ondelete='cascade'
required=True
string='Mailing'
args: 'mailing.mailing'
send_mail_test(self)
bounced
Datetime
help='Date when this email has bounced.'
campaign_id
Many2one
index=True
readonly=True
related='mass_mailing_id.campaign_id'
store=True
string='Campaign'
clicked
Datetime
help='Date when customer clicked on at least one tracked link'
display_name
Char
compute='_compute_display_name'
email
Char
help='Normalized email address'
string='Email'
exception
Datetime
help='Date of technical error leading to the email not being sent'
failure_type
Selection
selection=[('SMTP', 'Connection failed (outgoing mail server problem)'), ('RECIPIENT', 'Invalid email address'), ('BOUNCE', 'Email address rejected by destination'), ('UNKNOWN', 'Unknown error')]
string='Failure type'
ignored
Datetime
help='Date when the email has been invalidated. Invalid emails are blacklisted, opted-out or invalid email format'
links_click_ids
One2many → link.tracker.click
string='Links click'
args: 'link.tracker.click', 'mailing_trace_id'
mail_mail_id
Many2one → mail.mail
index=True
string='Mail'
args: 'mail.mail'
mail_mail_id_int
Integer
help='ID of the related mail_mail. This field is an integer field because the related mail_mail can be deleted separately from its statistics. However the ID is needed for several action and controllers.'
index=True
string='Mail ID (tech)'
mass_mailing_id
Many2one → mailing.mailing
index=True
ondelete='cascade'
string='Mailing'
args: 'mailing.mailing'
message_id
Char
string='Message-ID'
model
Char
string='Document model'
opened
Datetime
help='Date when the email has been opened the first time'
replied
Datetime
help='Date when this email has been replied for the first time.'
res_id
Integer
string='Document ID'
scheduled
Datetime
default=fields.Datetime.now
help='Date when the email has been created'
sent
Datetime
help='Date when the email has been sent'
state
Selection
compute='_compute_state'
selection=[('outgoing', 'Outgoing'), ('exception', 'Exception'), ('sent', 'Sent'), ('opened', 'Opened'), ('replied', 'Replied'), ('bounced', 'Bounced'), ('ignored', 'Ignored')]
store=True
state_update
Datetime
compute='_compute_state'
help='Last state update of the mail'
store=True
string='State Update'
trace_type
Selection
default='mail'
required=True
string='Type'
args: [('mail', 'Mail')]
create(self, values_list)
set_bounced(self, mail_mail_ids=None, mail_message_ids=None)
set_clicked(self, mail_mail_ids=None, mail_message_ids=None)
set_opened(self, mail_mail_ids=None, mail_message_ids=None)
set_replied(self, mail_mail_ids=None, mail_message_ids=None)
bounced
Integer
readonly=True
campaign
Char
readonly=True
string='Mailing Campaign'
clicked
Integer
readonly=True
delivered
Integer
readonly=True
email_from
Char
readonly=True
args: 'From'
mailing_type
Selection
default='mail'
required=True
string='Type'
args: [('mail', 'Mail')]
name
Char
readonly=True
string='Mass Mail'
opened
Integer
readonly=True
replied
Integer
readonly=True
scheduled_date
Datetime
readonly=True
string='Scheduled Date'
sent
Integer
readonly=True
state
Selection
readonly=True
string='Status'
args: [('draft', 'Draft'), ('test', 'Tested'), ('done', 'Sent')]
init(self)
No new fields.
Public methods (0)No public methods.
group_mass_mailing_campaign
Boolean
help='This is useful if your marketing campaigns are composed of several emails'
implied_group='mass_mailing.group_mass_mailing_campaign'
string='Mailing Campaigns'
mass_mailing_mail_server_id
Many2one → ir.mail_server
config_parameter='mass_mailing.mail_server_id'
string='Mail Server'
args: 'ir.mail_server'
mass_mailing_outgoing_mail_server
Boolean
config_parameter='mass_mailing.outgoing_mail_server'
help='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.'
string='Dedicated Server'
show_blacklist_buttons
Boolean
config_parameter='mass_mailing.show_blacklist_buttons'
help='Allow the recipient to manage himself his state in the blacklist via the unsubscription page.'
string='Blacklist Option when Unsubscribing'
No public methods.
No new fields.
Public methods (1)systray_get_activities(self)
bounced_ratio
Integer
compute='_compute_statistics'
string='Bounced Ratio'
mailing_mail_count
Integer
compute='_compute_mailing_mail_count'
args: 'Number of Mass Mailing'
mailing_mail_ids
One2many → mailing.mailing
domain=[('mailing_type', '=', 'mail')]
string='Mass Mailings'
args: 'mailing.mailing', 'campaign_id'
opened_ratio
Integer
compute='_compute_statistics'
string='Opened Ratio'
received_ratio
Integer
compute='_compute_statistics'
string='Received Ratio'
replied_ratio
Integer
compute='_compute_statistics'
string='Replied Ratio'
No public methods.
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
assets_backend |
mass_mailing assets | ir.ui.view | qweb | Inherits web.assets_backend |
assets_mail_themes |
assets_mail_themes | ir.ui.view | qweb | New |
assets_mail_themes_edition |
assets_mail_themes_edition | ir.ui.view | qweb | New |
email_compose_form_mass_mailing |
mail.compose.message.form.mass_mailing | mail.compose.message | xpath | Inherits mail.email_compose_message_wizard_form |
email_designer_snippets |
email_designer_snippets | ir.ui.view | qweb | Inherits web_editor.snippets |
iframe_css_assets_edit |
iframe_css_assets_edit | ir.ui.view | qweb | New |
iframe_css_assets_readonly |
iframe_css_assets_readonly | ir.ui.view | qweb | New |
link_tracker_click_view_form |
link.tracker.click.view.form.inherit.mass_mailing | link.tracker.click | xpath | Inherits link_tracker.link_tracker_click_view_form |
link_tracker_click_view_graph |
link.tracker.click.view.graph.inherit.mass_mailing | link.tracker.click | xpath | Inherits link_tracker.link_tracker_click_view_graph |
link_tracker_click_view_search |
link.tracker.click.view.search.inherit.mass_mailing | link.tracker.click | xpath | Inherits link_tracker.link_tracker_click_view_search |
link_tracker_click_view_tree |
link.tracker.click.view.tree.inherit.mass_mailing | link.tracker.click | xpath | Inherits link_tracker.link_tracker_click_view_tree |
link_tracker_view_form |
link.tracker.view.form.inherit.mass.mail | link.tracker | xpath | Inherits link_tracker.link_tracker_view_form |
link_tracker_view_search |
link.tracker.view.search.inherit.mass.mail | link.tracker | xpath | Inherits link_tracker.link_tracker_view_search |
mailing_contact_subscription_view_form |
mailing.contact.subscription.view.form | mailing.contact.subscription | form | New |
mailing_contact_subscription_view_search |
mailing.contact.subscription.view.search | mailing.contact.subscription | search | New |
mailing_contact_subscription_view_tree |
mailing.contact.subscription.view.tree | mailing.contact.subscription | tree | New |
mailing_list_merge_view_form |
mailing.list.merge.form | mailing.list.merge | form | New |
mailing_list_view_form |
mailing.list.form | mailing.list | form | New |
mailing_list_view_form_simplified |
mailing.list.form.simplified | mailing.list | form | New |
mailing_list_view_kanban |
mailing.list.view.kanban | mailing.list | kanban | New |
mailing_list_view_search |
mailing.list.view.search | mailing.list | search | New |
mailing_list_view_tree |
mailing.list.view.tree | mailing.list | tree | New |
mailing_mailing_schedule_date_view_form |
mailing.mailing.schedule.date.view.form | mailing.mailing.schedule.date | form | New |
mailing_trace_report_view_graph |
mailing.trace.report.view.graph | mailing.trace.report | graph | New |
mailing_trace_report_view_pivot |
mailing.trace.report.view.pivot | mailing.trace.report | pivot | New |
mailing_trace_report_view_search |
mailing.trace.report.view.search | mailing.trace.report | search | New |
mailing_trace_view_form |
mailing.trace.form | mailing.trace | form | New |
mailing_trace_view_search |
mailing.trace.search | mailing.trace | search | New |
mailing_trace_view_tree |
mailing.trace.tree | mailing.trace | tree | New |
mass_mailing.layout |
Mass Mailing Layout | ir.ui.view | qweb | New |
mass_mailing_mail_layout |
mass_mailing_mail_layout | ir.ui.view | qweb | New |
mass_mailing_mail_style |
mass_mailing_mail_style | ir.ui.view | qweb | New |
page_unsubscribe |
Unsubscribe | ir.ui.view | qweb | New |
page_unsubscribed |
Unsubscribed | ir.ui.view | qweb | New |
qunit_suite |
qunit_suite | ir.ui.view | qweb | Inherits web.qunit_suite |
res_config_settings_view_form |
res.config.settings.view.form.inherit.mass.mailing | res.config.settings | xpath | Inherits base.res_config_settings_view_form |
s_mail_block_banner |
Banner | ir.ui.view | qweb | New |
s_mail_block_comparison_table |
Comparison | ir.ui.view | qweb | New |
s_mail_block_discount1 |
Discount Offer | ir.ui.view | qweb | New |
s_mail_block_discount2 |
Promo Code | ir.ui.view | qweb | New |
s_mail_block_event |
Event | ir.ui.view | qweb | New |
s_mail_block_footer_separator |
Separator | ir.ui.view | qweb | New |
s_mail_block_footer_social |
Footer Center | ir.ui.view | qweb | New |
s_mail_block_footer_social_left |
Footer Left | ir.ui.view | qweb | New |
s_mail_block_footer_tag_line |
Tag Line | ir.ui.view | qweb | New |
s_mail_block_header_logo |
Centered Logo | ir.ui.view | qweb | New |
s_mail_block_header_social |
Left Logo | ir.ui.view | qweb | New |
s_mail_block_header_text_social |
Left Text | ir.ui.view | qweb | New |
s_mail_block_image |
Image | ir.ui.view | qweb | New |
s_mail_block_image_text |
Image - Text | ir.ui.view | qweb | New |
s_mail_block_paragraph |
Paragraph | ir.ui.view | qweb | New |
s_mail_block_steps |
Steps | ir.ui.view | qweb | New |
s_mail_block_text_image |
Text - Image | ir.ui.view | qweb | New |
s_mail_block_three_cols |
Three Columns | ir.ui.view | qweb | New |
s_mail_block_title_sub |
Title - Subtitle | ir.ui.view | qweb | New |
s_mail_block_title_text |
Title Content | ir.ui.view | qweb | New |
s_mail_block_two_cols |
Two Columns | ir.ui.view | qweb | New |
snippet_options |
snippet_options | ir.ui.view | qweb | New |
theme_basic_template |
theme_basic_template | ir.ui.view | qweb | New |
theme_default_template |
theme_default_template | ir.ui.view | qweb | New |
unsubscribe |
unsubscribe | ir.ui.view | qweb | New |
unsubscribed |
unsubscribed | ir.ui.view | qweb | New |
utm_campaign_view_form |
utm.campaign.view.form | utm.campaign | xpath | Inherits utm.utm_campaign_view_form |
utm_campaign_view_kanban |
utm.campaign.view.kanban | utm.campaign | xpath | Inherits utm.utm_campaign_view_kanban |
view_mail_mail_statistics_graph |
Mail Statistics Graph | mailing.trace | graph | New |
view_mail_mass_mailing_contact_form |
mailing.contact.form | mailing.contact | form | New |
view_mail_mass_mailing_contact_graph |
mailing.contact.graph | mailing.contact | graph | New |
view_mail_mass_mailing_contact_kanban |
mailing.contact.kanban | mailing.contact | kanban | New |
view_mail_mass_mailing_contact_pivot |
mailing.contact.pivot | mailing.contact | pivot | New |
view_mail_mass_mailing_contact_search |
mailing.contact.search | mailing.contact | search | New |
view_mail_mass_mailing_contact_tree |
mailing.contact.tree | mailing.contact | tree | New |
view_mail_mass_mailing_form |
mailing.mailing.form | mailing.mailing | form | New |
view_mail_mass_mailing_graph |
mailing.mailing.graph | mailing.mailing | graph | New |
view_mail_mass_mailing_kanban |
mailing.mailing.kanban | mailing.mailing | kanban | New |
view_mail_mass_mailing_search |
mailing.mailing.search | mailing.mailing | search | New |
view_mail_mass_mailing_test_form |
mailing.mailing.test.form | mailing.mailing.test | form | New |
view_mail_mass_mailing_tree |
mailing.mailing.tree | mailing.mailing | tree | New |
mass_mailing_id
Many2one → mailing.mailing
string='Mass Mailing'
args: 'mailing.mailing'
No public methods.
mailing_trace_id
Many2one → mailing.trace
string='Mail Statistics'
args: 'mailing.trace'
mass_mailing_id
Many2one → mailing.mailing
string='Mass Mailing'
args: 'mailing.mailing'
add_click(self, code, **route_values)
campaign_id
Many2one → utm.campaign
string='Mass Mailing Campaign'
args: 'utm.campaign'
mailing_list_ids
Many2many → mailing.list
string='Mailing List'
args: 'mailing.list'
mass_mailing_id
Many2one → mailing.mailing
ondelete='cascade'
string='Mass Mailing'
args: 'mailing.mailing'
mass_mailing_name
Char
string='Mass Mailing Name'
get_mail_values(self, res_ids)
mailing_id
Many2one → mailing.mailing
string='Mass Mailing'
args: 'mailing.mailing'
mailing_trace_ids
One2many → mailing.trace
string='Statistics'
args: 'mailing.trace', 'mail_mail_id'
create(self, values)
No new fields.
Public methods (1)render_post_process(self, html)
No new fields.
Public methods (1)message_post_with_template(self, template_id, **kwargs)
company_name
Char
string='Company Name'
country_id
Many2one → res.country
string='Country'
args: 'res.country'
email
Char
list_ids
Many2many → mailing.list
string='Mailing Lists'
args: 'mailing.list', 'mailing_contact_list_rel', 'contact_id', 'list_id'
name
Char
opt_out
Boolean
compute='_compute_opt_out'
help='Opt out flag for a specific mailing list.This field should not be used in a view without a unique and active mailing list context.'
search='_search_opt_out'
args: 'Opt Out'
subscription_list_ids
One2many → mailing.contact.subscription
string='Subscription Information'
args: 'mailing.contact.subscription', 'contact_id'
tag_ids
Many2many → res.partner.category
string='Tags'
args: 'res.partner.category'
title_id
Many2one → res.partner.title
string='Title'
args: 'res.partner.title'
add_to_list(self, name, list_id)
get_name_email(self, name)
name_create(self, name)
contact_id
Many2one → mailing.contact
ondelete='cascade'
required=True
string='Contact'
args: 'mailing.contact'
is_blacklisted
Boolean
readonly=False
related='contact_id.is_blacklisted'
store=False
list_id
Many2one → mailing.list
ondelete='cascade'
required=True
string='Mailing List'
args: 'mailing.list'
message_bounce
Integer
readonly=False
related='contact_id.message_bounce'
store=False
opt_out
Boolean
default=False
help='The contact has chosen not to receive mails anymore from this list'
string='Opt Out'
unsubscription_date
Datetime
string='Unsubscription Date'
create(self, vals)
write(self, vals)
active
Boolean
default=True
contact_ids
Many2many → mailing.contact
string='Mailing Lists'
args: 'mailing.contact', 'mailing_contact_list_rel', 'list_id', 'contact_id'
contact_nbr
Integer
compute='_compute_contact_nbr'
string='Number of Contacts'
is_public
Boolean
default=True
help='The mailing list can be accessible by recipient in the unsubscription page to allows him to update his subscription preferences.'
name
Char
required=True
string='Mailing List'
subscription_ids
One2many → mailing.contact.subscription
string='Subscription Information'
args: 'mailing.contact.subscription', 'list_id'
action_merge(self, src_lists, archive)
action_view_contacts(self)
close_dialog(self)
name_get(self)
write(self, vals)
archive_src_lists
Boolean
default=True
args: 'Archive source mailing lists'
dest_list_id
Many2one → mailing.list
string='Destination Mailing List'
args: 'mailing.list'
merge_options
Selection
default='new'
required=True
args: [('new', 'Merge into a new mailing list'), ('existing', 'Merge into an existing mailing list')], 'Merge Option'
new_list_name
Char
src_list_ids
Many2many → mailing.list
string='Mailing Lists'
args: 'mailing.list'
action_mailing_lists_merge(self)
default_get(self, fields)
active
Boolean
default=True
tracking=True
attachment_ids
Many2many → ir.attachment
string='Attachments'
args: 'ir.attachment', 'mass_mailing_ir_attachments_rel', 'mass_mailing_id', 'attachment_id'
body_arch
Html
string='Body'
translate=False
body_html
Html
sanitize_attributes=False
string='Body converted to be send by mail'
bounced
Integer
compute='_compute_statistics'
bounced_ratio
Integer
compute='_compute_statistics'
string='Bounced Ratio'
campaign_id
Many2one → utm.campaign
string='UTM Campaign'
args: 'utm.campaign'
clicked
Integer
compute='_compute_statistics'
clicks_ratio
Integer
compute='_compute_clicks_ratio'
string='Number of Clicks'
color
Integer
string='Color Index'
contact_ab_pc
Integer
default=100
help='Percentage of the contacts that will be mailed. Recipients will be taken randomly.'
string='A/B Testing percentage'
contact_list_ids
Many2many → mailing.list
string='Mailing Lists'
args: 'mailing.list', 'mail_mass_mailing_list_rel'
delivered
Integer
compute='_compute_statistics'
email_from
Char
default=<expr>
required=True
string='Send From'
expected
Integer
compute='_compute_statistics'
failed
Integer
compute='_compute_statistics'
ignored
Integer
compute='_compute_statistics'
keep_archives
Boolean
string='Keep Archives'
mail_server_id
Many2one → ir.mail_server
default=_get_default_mail_server_id
help='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.'
string='Mail Server'
args: 'ir.mail_server'
mailing_domain
Char
default=[]
string='Domain'
mailing_model_id
Many2one → ir.model
default=<expr>
domain=[('model', 'in', MASS_MAILING_BUSINESS_MODELS)]
string='Recipients Model'
args: 'ir.model'
mailing_model_name
Char
readonly=True
related='mailing_model_id.model'
related_sudo=True
string='Recipients Model Name'
mailing_model_real
Char
compute='_compute_model'
default='mailing.contact'
required=True
string='Recipients Real Model'
mailing_trace_ids
One2many → mailing.trace
string='Emails Statistics'
args: 'mailing.trace', 'mass_mailing_id'
mailing_type
Selection
default='mail'
required=True
string='Mailing Type'
args: [('mail', 'Email')]
medium_id
Many2one → utm.medium
help='Delivery method: Email'
string='Medium'
args: 'utm.medium'
next_departure
Datetime
compute='_compute_next_departure'
string='Scheduled date'
opened
Integer
compute='_compute_statistics'
opened_ratio
Integer
compute='_compute_statistics'
string='Opened Ratio'
received_ratio
Integer
compute='_compute_statistics'
string='Received Ratio'
replied
Integer
compute='_compute_statistics'
replied_ratio
Integer
compute='_compute_statistics'
string='Replied Ratio'
reply_to
Char
default=<expr>
help='Preferred Reply-To Address'
string='Reply To'
reply_to_mode
Selection
required=True
string='Reply-To Mode'
args: [('thread', 'Recipient Followers'), ('email', 'Specified Email Address')]
schedule_date
Datetime
string='Scheduled for'
tracking=True
scheduled
Integer
compute='_compute_statistics'
sent
Integer
compute='_compute_statistics'
sent_date
Datetime
copy=False
string='Sent Date'
source_id
Many2one → utm.source
help='This is the link source, e.g. Search Engine, another domain, or name of email list'
ondelete='cascade'
required=True
string='Source'
args: 'utm.source'
state
Selection
copy=False
default='draft'
group_expand='_group_expand_states'
required=True
string='Status'
tracking=True
args: [('draft', 'Draft'), ('in_queue', 'In Queue'), ('sending', 'Sending'), ('done', 'Sent')]
subject
Char
help='Subject of emails to send'
required=True
translate=True
args: 'Subject'
total
Integer
compute='_compute_total'
unique_ab_testing
Boolean
default=False
help='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.'
string='Allow A/B Testing'
user_id
Many2one → res.users
default=<expr>
string='Responsible'
tracking=True
args: 'res.users'
action_cancel(self)
action_duplicate(self)
action_put_in_queue(self)
action_retry_failed(self)
action_schedule(self)
action_send_mail(self, res_ids=None)
action_test(self)
action_view_bounced(self)
action_view_clicked(self)
action_view_delivered(self)
action_view_opened(self)
action_view_replied(self)
action_view_sent(self)
action_view_traces_failed(self)
action_view_traces_ignored(self)
action_view_traces_scheduled(self)
convert_links(self)
copy(self, default=None)
create(self, values)
default_get(self, fields)
update_opt_out(self, email, list_ids, value)
write(self, values)
mass_mailing_id
Many2one → mailing.mailing
ondelete='cascade'
required=True
args: 'mailing.mailing'
schedule_date
Datetime
string='Scheduled for'
set_schedule_date(self)
email_to
Char
default=<expr>
help='Comma-separated list of email addresses.'
required=True
string='Recipients'
mass_mailing_id
Many2one → mailing.mailing
ondelete='cascade'
required=True
string='Mailing'
args: 'mailing.mailing'
send_mail_test(self)
bounced
Datetime
help='Date when this email has bounced.'
campaign_id
Many2one
index=True
readonly=True
related='mass_mailing_id.campaign_id'
store=True
string='Campaign'
clicked
Datetime
help='Date when customer clicked on at least one tracked link'
display_name
Char
compute='_compute_display_name'
email
Char
string='Email'
exception
Datetime
help='Date of technical error leading to the email not being sent'
failure_type
Selection
selection=[('SMTP', 'Connection failed (outgoing mail server problem)'), ('RECIPIENT', 'Invalid email address'), ('BOUNCE', 'Email address rejected by destination'), ('UNKNOWN', 'Unknown error')]
string='Failure type'
ignored
Datetime
help='Date when the email has been invalidated. Invalid emails are blacklisted, opted-out or invalid email format'
links_click_ids
One2many → link.tracker.click
string='Links click'
args: 'link.tracker.click', 'mailing_trace_id'
mail_mail_id
Many2one → mail.mail
index=True
string='Mail'
args: 'mail.mail'
mail_mail_id_int
Integer
help='ID of the related mail_mail. This field is an integer field because the related mail_mail can be deleted separately from its statistics. However the ID is needed for several action and controllers.'
index=True
string='Mail ID (tech)'
mass_mailing_id
Many2one → mailing.mailing
index=True
ondelete='cascade'
string='Mailing'
args: 'mailing.mailing'
message_id
Char
string='Message-ID'
model
Char
string='Document model'
opened
Datetime
help='Date when the email has been opened the first time'
replied
Datetime
help='Date when this email has been replied for the first time.'
res_id
Integer
string='Document ID'
scheduled
Datetime
default=fields.Datetime.now
help='Date when the email has been created'
sent
Datetime
help='Date when the email has been sent'
state
Selection
compute='_compute_state'
selection=[('outgoing', 'Outgoing'), ('exception', 'Exception'), ('sent', 'Sent'), ('opened', 'Opened'), ('replied', 'Replied'), ('bounced', 'Bounced'), ('ignored', 'Ignored')]
store=True
state_update
Datetime
compute='_compute_state'
help='Last state update of the mail'
store=True
string='State Update'
trace_type
Selection
default='mail'
required=True
string='Type'
args: [('mail', 'Mail')]
create(self, values_list)
set_bounced(self, mail_mail_ids=None, mail_message_ids=None)
set_clicked(self, mail_mail_ids=None, mail_message_ids=None)
set_opened(self, mail_mail_ids=None, mail_message_ids=None)
set_replied(self, mail_mail_ids=None, mail_message_ids=None)
bounced
Integer
readonly=True
campaign
Char
readonly=True
string='Mass Mail Campaign'
clicked
Integer
readonly=True
delivered
Integer
readonly=True
email_from
Char
readonly=True
args: 'From'
mailing_type
Selection
default='mail'
required=True
string='Type'
args: [('mail', 'Mail')]
name
Char
readonly=True
string='Mass Mail'
opened
Integer
readonly=True
replied
Integer
readonly=True
scheduled_date
Datetime
readonly=True
string='Scheduled Date'
sent
Integer
readonly=True
state
Selection
readonly=True
string='Status'
args: [('draft', 'Draft'), ('test', 'Tested'), ('done', 'Sent')]
init(self)
group_mass_mailing_campaign
Boolean
help='This is useful if your marketing campaigns are composed of several emails'
implied_group='mass_mailing.group_mass_mailing_campaign'
string='Mailing Campaigns'
mass_mailing_mail_server_id
Many2one → ir.mail_server
config_parameter='mass_mailing.mail_server_id'
string='Mail Server'
args: 'ir.mail_server'
mass_mailing_outgoing_mail_server
Boolean
config_parameter='mass_mailing.outgoing_mail_server'
help='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.'
string='Dedicated Server'
show_blacklist_buttons
Boolean
config_parameter='mass_mailing.show_blacklist_buttons'
help='Allow the recipient to manage himself his state in the blacklist via the unsubscription page.'
string='Blacklist Option when Unsubscribing'
No public methods.
bounced
Integer
compute='_compute_statistics'
bounced_ratio
Integer
compute='_compute_statistics'
string='Bounced Ratio'
delivered
Integer
compute='_compute_statistics'
failed
Integer
compute='_compute_statistics'
ignored
Integer
compute='_compute_statistics'
mailing_clicked
Integer
compute='_compute_mailing_items'
string='Mailings Clicked'
mailing_clicks_ratio
Integer
compute='_compute_mailing_clicks_ratio'
string='Number of clicks'
mailing_items
Integer
compute='_compute_mailing_items'
string='Mailings'
mailing_mail_count
Integer
compute='_compute_mailing_mail_count'
args: 'Number of Mass Mailing'
mailing_mail_ids
One2many → mailing.mailing
domain=[('mailing_type', '=', 'mail')]
string='Mass Mailings'
args: 'mailing.mailing', 'campaign_id'
opened
Integer
compute='_compute_statistics'
opened_ratio
Integer
compute='_compute_statistics'
string='Opened Ratio'
received_ratio
Integer
compute='_compute_statistics'
string='Received Ratio'
replied
Integer
compute='_compute_statistics'
replied_ratio
Integer
compute='_compute_statistics'
string='Replied Ratio'
scheduled
Integer
compute='_compute_statistics'
sent
Integer
compute='_compute_statistics'
string='Sent Emails'
total
Integer
compute='_compute_statistics'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/12.0/mass_mailing |
| VERSION | |
| VERSION | 2.0 |
| CATEGORY | |
| CATEGORY | Marketing |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | Yes |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Raphael Collet, Odoo Translation Bot, Christophe Matthieu, Martin Trigaux, Fabien Pinckaers, Olivier Dony, Thibault Delavallée, Christophe Simonis, Nicolas Martinelli, Nicolas Lempereur, qdp-odoo, Jeremy Kersten, GitHub, Lucas Perais (lpe), Yannick Tivisse, Alexandre Kühn, qsm-odoo, Martin Geubelle, Nicolas Seinlet, len-odoo, Julien (juc) Castiaux, Jairo Llopis, Adrian Torres, XavierDo, Julien Castiaux, Priyanka Kakadiya, Xavier-Do, jvm-odoo, Paul Morelle, Anh Thao Pham (pta), std-odoo, Kinjal Mehta, David Beguin, Adrien Widart, Jérémy Hennecart |
| WEBSITE | |
| WEBSITE | https://www.odoo.com/page/mailing |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-05 23:57:00 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - contacts - base - base_setup - web - bus - web_tour - utm - link_tracker - web_editor - web_kanban_gauge - social_media |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
FieldTextHtmlInline |
Editor layout | ir.ui.view | qweb | New |
FieldTextHtmlPopupContent |
Editor layout | ir.ui.view | qweb | New |
assets_backend |
mass_mailing assets | ir.ui.view | qweb | Inherits web.assets_backend |
assets_editor |
assets_editor | ir.ui.view | qweb | Inherits web_editor.assets_editor |
assets_mail_themes |
assets_mail_themes | ir.ui.view | qweb | New |
email_compose_form_mass_mailing |
mail.compose.message.form.mass_mailing | mail.compose.message | xpath | Inherits mail.email_compose_message_wizard_form |
email_designer_snippets |
email_designer_snippets | ir.ui.view | qweb | Inherits web_editor.snippets |
mail_mass_mailing_list_contact_rel_list_contact_view_tree |
mail.mass_mailing.list_contact_rel.list_contact.view.tree | mail.mass_mailing.list_contact_rel | tree | New |
mail_mass_mailing_list_contact_rel_view_form |
mail.mass_mailing.list_contact_rel.view.form | mail.mass_mailing.list_contact_rel | form | New |
mail_mass_mailing_list_contact_view_search |
mail.mass_mailing.list_contact_rel.view.search | mail.mass_mailing.list_contact_rel | search | New |
mail_mass_mailing_tag_view_form |
mail.mass_mailing.tag.form | mail.mass_mailing.tag | form | New |
mass_mailing.layout |
Mass Mailing Layout | ir.ui.view | qweb | New |
mass_mailing_list_merge_view_form |
mass.mailing.list.merge.form | mass.mailing.list.merge | form | New |
mass_mailing_mail_layout |
mass_mailing_mail_layout | ir.ui.view | qweb | New |
mass_mailing_mail_style |
mass_mailing_mail_style | ir.ui.view | qweb | New |
mass_mailing_schedule_date_view_form |
mass.mailing.schedule.date.view.form | mass.mailing.schedule.date | form | New |
page_unsubscribe |
Unsubscribe | ir.ui.view | qweb | New |
page_unsubscribed |
Unsubscribed | ir.ui.view | qweb | New |
res_config_settings_view_form |
res.config.settings.view.form.inherit.mass.mailing | res.config.settings | xpath | Inherits base.res_config_settings_view_form |
s_mail_block_banner |
Banner | ir.ui.view | qweb | New |
s_mail_block_comparison_table |
Comparison | ir.ui.view | qweb | New |
s_mail_block_discount1 |
Discount Offer | ir.ui.view | qweb | New |
s_mail_block_discount2 |
Promo Code | ir.ui.view | qweb | New |
s_mail_block_event |
Event | ir.ui.view | qweb | New |
s_mail_block_footer_separator |
Separator | ir.ui.view | qweb | New |
s_mail_block_footer_social |
Footer Center | ir.ui.view | qweb | New |
s_mail_block_footer_social_left |
Footer Left | ir.ui.view | qweb | New |
s_mail_block_footer_tag_line |
Tag Line | ir.ui.view | qweb | New |
s_mail_block_header_logo |
Centered Logo | ir.ui.view | qweb | New |
s_mail_block_header_social |
Left Logo | ir.ui.view | qweb | New |
s_mail_block_header_text_social |
Left Text | ir.ui.view | qweb | New |
s_mail_block_image |
Image | ir.ui.view | qweb | New |
s_mail_block_image_text |
Image - Text | ir.ui.view | qweb | New |
s_mail_block_paragraph |
Paragraph | ir.ui.view | qweb | New |
s_mail_block_steps |
Steps | ir.ui.view | qweb | New |
s_mail_block_text_image |
Text - Image | ir.ui.view | qweb | New |
s_mail_block_three_cols |
Three Columns | ir.ui.view | qweb | New |
s_mail_block_title_sub |
Title - Subtitle | ir.ui.view | qweb | New |
s_mail_block_title_text |
Title Content | ir.ui.view | qweb | New |
s_mail_block_two_cols |
Two Columns | ir.ui.view | qweb | New |
snippet_options |
snippet_options | ir.ui.view | qweb | New |
theme_basic_template |
theme_basic_template | ir.ui.view | qweb | New |
theme_default_template |
theme_default_template | ir.ui.view | qweb | New |
unsubscribe |
unsubscribe | ir.ui.view | qweb | New |
unsubscribed |
unsubscribed | ir.ui.view | qweb | New |
view_mail_mail_statistics_form |
mail.mail.statistics.form | mail.mail.statistics | form | New |
view_mail_mail_statistics_graph |
Mail Statistics Graph | mail.mail.statistics | graph | New |
view_mail_mail_statistics_search |
mail.mail.statistics.search | mail.mail.statistics | search | New |
view_mail_mail_statistics_tree |
mail.mail.statistics.tree | mail.mail.statistics | tree | New |
view_mail_mass_mailing_campaign_form |
mail.mass_mailing.campaign.form | mail.mass_mailing.campaign | form | New |
view_mail_mass_mailing_campaign_kanban |
mail.mass_mailing.campaign.kanban | mail.mass_mailing.campaign | kanban | New |
view_mail_mass_mailing_campaign_search |
mail.mass_mailing.campaign.search | mail.mass_mailing.campaign | search | New |
view_mail_mass_mailing_campaign_tree |
mail.mass_mailing.campaign.tree | mail.mass_mailing.campaign | tree | New |
view_mail_mass_mailing_contact_form |
mail.mass_mailing.contact.form | mail.mass_mailing.contact | form | New |
view_mail_mass_mailing_contact_graph |
mail.mass_mailing.contact.graph | mail.mass_mailing.contact | graph | New |
view_mail_mass_mailing_contact_kanban |
mail.mass_mailing.contact.kanban | mail.mass_mailing.contact | kanban | New |
view_mail_mass_mailing_contact_pivot |
mail.mass_mailing.contact.pivot | mail.mass_mailing.contact | pivot | New |
view_mail_mass_mailing_contact_search |
mail.mass_mailing.contact.search | mail.mass_mailing.contact | search | New |
view_mail_mass_mailing_contact_tree |
mail.mass_mailing.contact.tree | mail.mass_mailing.contact | tree | New |
view_mail_mass_mailing_form |
mail.mass_mailing.form | mail.mass_mailing | form | New |
view_mail_mass_mailing_graph |
mail.mass_mailing.graph | mail.mass_mailing | graph | New |
view_mail_mass_mailing_kanban |
mail.mass_mailing.kanban | mail.mass_mailing | kanban | New |
view_mail_mass_mailing_links_search |
link.tracker.search | link.tracker | search | Inherits link_tracker.view_link_tracker_filter |
view_mail_mass_mailing_links_tree |
link.tracker.tree | link.tracker | tree | New |
view_mail_mass_mailing_list_form |
mail.mass_mailing.list.form | mail.mass_mailing.list | form | New |
view_mail_mass_mailing_list_form_simplified |
mail.mass_mailing.list.form.simplified | mail.mass_mailing.list | form | New |
view_mail_mass_mailing_list_kanban |
mail.mass_mailing.list.kanban | mail.mass_mailing.list | kanban | New |
view_mail_mass_mailing_list_search |
mail.mass_mailing.list.search | mail.mass_mailing.list | search | New |
view_mail_mass_mailing_list_tree |
mail.mass_mailing.list.tree | mail.mass_mailing.list | tree | New |
view_mail_mass_mailing_search |
mail.mass_mailing.search | mail.mass_mailing | search | New |
view_mail_mass_mailing_stage_search |
mail.mass_mailing.stage.search | mail.mass_mailing.stage | search | New |
view_mail_mass_mailing_stage_tree |
mail.mass_mailing.stage.tree | mail.mass_mailing.stage | tree | New |
view_mail_mass_mailing_test_form |
mail.mass_mailing.test.form | mail.mass_mailing.test | form | New |
view_mail_mass_mailing_tree |
mail.mass_mailing.tree | mail.mass_mailing | tree | New |
view_mail_statistics_report_graph |
mail.statistics.report.graph | mail.statistics.report | graph | New |
view_mail_statistics_report_pivot |
mail.statistics.report.pivot | mail.statistics.report | pivot | New |
view_mail_statistics_report_search |
mail.statistics.report.search | mail.statistics.report | search | New |
mass_mailing_campaign_id
Many2one → mail.mass_mailing.campaign
string='Mass Mailing Campaign'
args: 'mail.mass_mailing.campaign'
mass_mailing_id
Many2one → mail.mass_mailing
string='Mass Mailing'
args: 'mail.mass_mailing'
No public methods.
mail_stat_id
Many2one → mail.mail.statistics
string='Mail Statistics'
args: 'mail.mail.statistics'
mass_mailing_campaign_id
Many2one → mail.mass_mailing.campaign
string='Mass Mailing Campaign'
args: 'mail.mass_mailing.campaign'
mass_mailing_id
Many2one → mail.mass_mailing
string='Mass Mailing'
args: 'mail.mass_mailing'
add_click(self, code, ip, country_code, stat_id=False)
mailing_list_ids
Many2many → mail.mass_mailing.list
string='Mailing List'
args: 'mail.mass_mailing.list'
mass_mailing_campaign_id
Many2one → mail.mass_mailing.campaign
string='Mass Mailing Campaign'
args: 'mail.mass_mailing.campaign'
mass_mailing_id
Many2one → mail.mass_mailing
ondelete='cascade'
string='Mass Mailing'
args: 'mail.mass_mailing'
mass_mailing_name
Char
string='Mass Mailing Name'
get_mail_values(self, res_ids)
mailing_id
Many2one → mail.mass_mailing
string='Mass Mailing'
args: 'mail.mass_mailing'
statistics_ids
One2many → mail.mail.statistics
string='Statistics'
args: 'mail.mail.statistics', 'mail_mail_id'
create(self, values)
bounced
Datetime
help='Date when this email has bounced.'
clicked
Datetime
help='Date when customer clicked on at least one tracked link'
email
Char
string='Recipient email address'
exception
Datetime
help='Date of technical error leading to the email not being sent'
ignored
Datetime
help='Date when the email has been invalidated. Invalid emails are blacklisted, opted-out or invalid email format'
links_click_ids
One2many → link.tracker.click
string='Links click'
args: 'link.tracker.click', 'mail_stat_id'
mail_mail_id
Many2one → mail.mail
index=True
string='Mail'
args: 'mail.mail'
mail_mail_id_int
Integer
help='ID of the related mail_mail. This field is an integer field because the related mail_mail can be deleted separately from its statistics. However the ID is needed for several action and controllers.'
index=True
string='Mail ID (tech)'
mass_mailing_campaign_id
Many2one
index=True
readonly=True
related='mass_mailing_id.mass_mailing_campaign_id'
store=True
string='Mass Mailing Campaign'
mass_mailing_id
Many2one → mail.mass_mailing
index=True
string='Mass Mailing'
args: 'mail.mass_mailing'
message_id
Char
string='Message-ID'
model
Char
string='Document model'
opened
Datetime
help='Date when the email has been opened the first time'
replied
Datetime
help='Date when this email has been replied for the first time.'
res_id
Integer
string='Document ID'
scheduled
Datetime
default=fields.Datetime.now
help='Date when the email has been created'
sent
Datetime
help='Date when the email has been sent'
state
Selection
compute='_compute_state'
selection=[('outgoing', 'Outgoing'), ('exception', 'Exception'), ('sent', 'Sent'), ('opened', 'Opened'), ('replied', 'Replied'), ('bounced', 'Bounced'), ('ignored', 'Ignored')]
store=True
state_update
Datetime
compute='_compute_state'
help='Last state update of the mail'
store=True
string='State Update'
create(self, values)
set_bounced(self, mail_mail_ids=None, mail_message_ids=None)
set_clicked(self, mail_mail_ids=None, mail_message_ids=None)
set_opened(self, mail_mail_ids=None, mail_message_ids=None)
set_replied(self, mail_mail_ids=None, mail_message_ids=None)
active
Boolean
default=True
attachment_ids
Many2many → ir.attachment
string='Attachments'
args: 'ir.attachment', 'mass_mailing_ir_attachments_rel', 'mass_mailing_id', 'attachment_id'
body_html
Html
sanitize_attributes=False
string='Body'
bounced
Integer
compute='_compute_statistics'
bounced_ratio
Integer
String='Bounced Ratio'
compute='_compute_statistics'
campaign_id
Many2one → utm.campaign
help='This name helps you tracking your different campaign efforts, e.g. Fall_Drive, Christmas_Special'
string='Campaign'
args: 'utm.campaign'
clicked
Integer
compute='_compute_statistics'
clicks_ratio
Integer
compute='_compute_clicks_ratio'
string='Number of Clicks'
color
Integer
string='Color Index'
contact_ab_pc
Integer
default=100
help='Percentage of the contacts that will be mailed. Recipients will be taken randomly.'
string='A/B Testing percentage'
contact_list_ids
Many2many → mail.mass_mailing.list
string='Mailing Lists'
args: 'mail.mass_mailing.list', 'mail_mass_mailing_list_rel'
delivered
Integer
compute='_compute_statistics'
email_from
Char
default=<expr>
required=True
string='From'
expected
Integer
compute='_compute_statistics'
failed
Integer
compute='_compute_statistics'
ignored
Integer
compute='_compute_statistics'
keep_archives
Boolean
string='Keep Archives'
mail_server_id
Many2one → ir.mail_server
default=_get_default_mail_server_id
help='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.'
string='Mail Server'
args: 'ir.mail_server'
mailing_domain
Char
default=[]
oldname='domain'
string='Domain'
mailing_model_id
Many2one → ir.model
default=<expr>
domain=[('model', 'in', MASS_MAILING_BUSINESS_MODELS)]
string='Recipients Model'
args: 'ir.model'
mailing_model_name
Char
readonly=True
related='mailing_model_id.model'
related_sudo=True
string='Recipients Model Name'
mailing_model_real
Char
compute='_compute_model'
default='mail.mass_mailing.contact'
required=True
string='Recipients Real Model'
mass_mailing_campaign_id
Many2one → mail.mass_mailing.campaign
string='Mass Mailing Campaign'
args: 'mail.mass_mailing.campaign'
medium_id
Many2one → utm.medium
default=<expr>
help='This is the delivery method, e.g. Postcard, Email, or Banner Ad'
string='Medium'
args: 'utm.medium'
next_departure
Datetime
compute='_compute_next_departure'
string='Scheduled date'
opened
Integer
compute='_compute_statistics'
opened_ratio
Integer
compute='_compute_statistics'
string='Opened Ratio'
received_ratio
Integer
compute='_compute_statistics'
string='Received Ratio'
replied
Integer
compute='_compute_statistics'
replied_ratio
Integer
compute='_compute_statistics'
string='Replied Ratio'
reply_to
Char
default=<expr>
help='Preferred Reply-To Address'
string='Reply To'
reply_to_mode
Selection
required=True
string='Reply-To Mode'
args: [('thread', 'Recipient Followers'), ('email', 'Specified Email Address')]
schedule_date
Datetime
string='Schedule in the Future'
scheduled
Integer
compute='_compute_statistics'
sent
Integer
compute='_compute_statistics'
sent_date
Datetime
copy=False
oldname='date'
string='Sent Date'
source_id
Many2one → utm.source
help='This is the link source, e.g. Search Engine, another domain, or name of email list'
ondelete='cascade'
required=True
string='Subject'
args: 'utm.source'
state
Selection
copy=False
default='draft'
group_expand='_group_expand_states'
required=True
string='Status'
args: [('draft', 'Draft'), ('in_queue', 'In Queue'), ('sending', 'Sending'), ('done', 'Sent')]
statistics_ids
One2many → mail.mail.statistics
string='Emails Statistics'
args: 'mail.mail.statistics', 'mass_mailing_id'
total
Integer
compute='_compute_total'
user_id
Many2one → res.users
default=<expr>
string='Mailing Manager'
args: 'res.users'
action_duplicate(self)
action_schedule_date(self)
action_test_mailing(self)
action_view_bounced(self)
action_view_clicked(self)
action_view_delivered(self)
action_view_opened(self)
action_view_replied(self)
action_view_sent(self)
cancel_mass_mailing(self)
convert_links(self)
copy(self, default=None)
create(self, values)
default_get(self, fields)
get_recipients(self)
get_remaining_recipients(self)
name_create(self, name)
put_in_queue(self)
retry_failed_mail(self)
send_mail(self, res_ids=None)
update_opt_out(self, email, list_ids, value)
write(self, values)
bounced
Integer
compute='_compute_statistics'
bounced_ratio
Integer
compute='_compute_statistics'
string='Bounced Ratio'
campaign_id
Many2one → utm.campaign
help='This name helps you tracking your different campaign efforts, e.g. Fall_Drive, Christmas_Special'
ondelete='cascade'
required=True
args: 'utm.campaign', 'campaign_id'
clicks_ratio
Integer
compute='_compute_clicks_ratio'
string='Number of clicks'
color
Integer
string='Color Index'
delivered
Integer
compute='_compute_statistics'
failed
Integer
compute='_compute_statistics'
ignored
Integer
compute='_compute_statistics'
mass_mailing_ids
One2many → mail.mass_mailing
string='Mass Mailings'
args: 'mail.mass_mailing', 'mass_mailing_campaign_id'
medium_id
Many2one → utm.medium
default=<expr>
help='This is the delivery method, e.g. Postcard, Email, or Banner Ad'
string='Medium'
args: 'utm.medium'
opened
Integer
compute='_compute_statistics'
opened_ratio
Integer
compute='_compute_statistics'
string='Opened Ratio'
received_ratio
Integer
compute='_compute_statistics'
string='Received Ratio'
replied
Integer
compute='_compute_statistics'
replied_ratio
Integer
compute='_compute_statistics'
string='Replied Ratio'
scheduled
Integer
compute='_compute_statistics'
sent
Integer
compute='_compute_statistics'
string='Sent Emails'
source_id
Many2one → utm.source
default=<expr>
help='This is the link source, e.g. Search Engine, another domain,or name of email list'
string='Source'
args: 'utm.source'
stage_id
Many2one → mail.mass_mailing.stage
default=<expr>
group_expand='_group_expand_stage_ids'
ondelete='restrict'
required=True
string='Stage'
args: 'mail.mass_mailing.stage'
tag_ids
Many2many → mail.mass_mailing.tag
string='Tags'
args: 'mail.mass_mailing.tag', 'mail_mass_mailing_tag_rel', 'tag_id', 'campaign_id'
total
Integer
compute='_compute_statistics'
total_mailings
Integer
compute='_compute_total_mailings'
string='Mailings'
unique_ab_testing
Boolean
default=False
help='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.'
string='Allow A/B Testing'
user_id
Many2one → res.users
default=<expr>
required=True
string='Responsible'
args: 'res.users'
get_recipients(self, model=None)
company_name
Char
string='Company Name'
country_id
Many2one → res.country
string='Country'
args: 'res.country'
email
Char
required=True
is_email_valid
Boolean
compute='_compute_is_email_valid'
store=True
list_ids
Many2many → mail.mass_mailing.list
string='Mailing Lists'
args: 'mail.mass_mailing.list', 'mail_mass_mailing_contact_list_rel', 'contact_id', 'list_id'
message_bounce
Integer
default=0
help='Counter of the number of bounced emails for this contact.'
string='Bounced'
name
Char
opt_out
Boolean
compute='_compute_opt_out'
help='Opt out flag for a specific mailing list.This field should not be used in a view without a unique and active mailing list context.'
search='_search_opt_out'
args: 'Opt Out'
subscription_list_ids
One2many → mail.mass_mailing.list_contact_rel
string='Subscription Information'
args: 'mail.mass_mailing.list_contact_rel', 'contact_id'
tag_ids
Many2many → res.partner.category
string='Tags'
args: 'res.partner.category'
title_id
Many2one → res.partner.title
string='Title'
args: 'res.partner.title'
add_to_list(self, name, list_id)
get_name_email(self, name)
message_get_default_recipients(self)
name_create(self, name)
active
Boolean
default=True
contact_ids
Many2many → mail.mass_mailing.contact
string='Mailing Lists'
args: 'mail.mass_mailing.contact', 'mail_mass_mailing_contact_list_rel', 'list_id', 'contact_id'
contact_nbr
Integer
compute='_compute_contact_nbr'
string='Number of Contacts'
is_public
Boolean
default=True
help='The mailing list can be accessible by recipient in the unsubscription page to allows him to update his subscription preferences.'
name
Char
required=True
string='Mailing List'
subscription_contact_ids
One2many → mail.mass_mailing.list_contact_rel
string='Subscription Information'
args: 'mail.mass_mailing.list_contact_rel', 'list_id'
action_merge(self, src_lists, archive)
close_dialog(self)
name_get(self)
write(self, vals)
contact_count
Integer
readonly=False
related='list_id.contact_nbr'
store=False
contact_id
Many2one → mail.mass_mailing.contact
ondelete='cascade'
required=True
string='Contact'
args: 'mail.mass_mailing.contact'
is_blacklisted
Boolean
readonly=False
related='contact_id.is_blacklisted'
store=False
list_id
Many2one → mail.mass_mailing.list
ondelete='cascade'
required=True
string='Mailing List'
args: 'mail.mass_mailing.list'
message_bounce
Integer
readonly=False
related='contact_id.message_bounce'
store=False
opt_out
Boolean
default=False
help='The contact has chosen not to receive mails anymore from this list'
string='Opt Out'
unsubscription_date
Datetime
string='Unsubscription Date'
action_open_mailing_list_contact(self)
create(self, vals)
write(self, vals)
name
Char
required=True
translate=True
sequence
Integer
No public methods.
color
Integer
string='Color Index'
name
Char
required=True
translate=True
No public methods.
email_to
Char
default=<expr>
help='Comma-separated list of email addresses.'
required=True
string='Recipients'
mass_mailing_id
Many2one → mail.mass_mailing
ondelete='cascade'
required=True
string='Mailing'
args: 'mail.mass_mailing'
send_mail_test(self)
bounced
Integer
readonly=True
campaign
Char
readonly=True
string='Mass Mail Campaign'
clicked
Integer
readonly=True
delivered
Integer
readonly=True
email_from
Char
readonly=True
args: 'From'
name
Char
readonly=True
string='Mass Mail'
opened
Integer
readonly=True
replied
Integer
readonly=True
scheduled_date
Datetime
readonly=True
stirng='Scheduled Date'
sent
Integer
readonly=True
state
Selection
readonly=True
string='Status'
args: [('draft', 'Draft'), ('test', 'Tested'), ('done', 'Sent')]
init(self)
No new fields.
Public methods (1)render_post_process(self, html)
No new fields.
Public methods (4)message_post_with_template(self, template_id, **kwargs)
message_receive_bounce(self, email, partner, mail_id=None)
message_route(self, message, message_dict, model=None, thread_id=None, custom_values=None)
message_route_process(self, message, message_dict, routes)
archive_src_lists
Boolean
default=True
args: 'Archive source mailing lists'
dest_list_id
Many2one → mail.mass_mailing.list
string='Destination Mailing List'
args: 'mail.mass_mailing.list'
merge_options
Selection
default='new'
required=True
args: [('new', 'Merge into a new mailing list'), ('existing', 'Merge into an existing mailing list')], 'Merge Option'
new_list_name
Char
src_list_ids
Many2many → mail.mass_mailing.list
string='Mailing Lists'
args: 'mail.mass_mailing.list'
action_mailing_lists_merge(self)
default_get(self, fields)
mass_mailing_id
Many2one → mail.mass_mailing
required=True
args: 'mail.mass_mailing'
schedule_date
Datetime
string='Schedule in the Future'
set_schedule_date(self)
group_mass_mailing_campaign
Boolean
help='This is useful if your marketing campaigns are composed of several emails'
implied_group='mass_mailing.group_mass_mailing_campaign'
string='Mass Mailing Campaigns'
mass_mailing_mail_server_id
Many2one → ir.mail_server
config_parameter='mass_mailing.mail_server_id'
string='Mail Server'
args: 'ir.mail_server'
mass_mailing_outgoing_mail_server
Boolean
config_parameter='mass_mailing.outgoing_mail_server'
help='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.'
string='Specific Mail Server'
show_blacklist_buttons
Boolean
config_parameter='mass_mailing.show_blacklist_buttons'
help='Allow the recipient to manage himself his state in the blacklist via the unsubscription page.'
string='Show blacklist buttons on unsubscribe page'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/11.0/mass_mailing |
| VERSION | |
| VERSION | 2.0 |
| CATEGORY | |
| CATEGORY | Marketing |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | Yes |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Raphael Collet, Odoo Translation Bot, Martin Trigaux, Fabien Pinckaers, Olivier Dony, Thibault Delavallée, Christophe Simonis, Xavier Morel, Joren Van Onder, Nicolas Martinelli, Nicolas Lempereur, Julien Legros, xmo-odoo, Aaron Bohy, Pedro M. Baeza, Jeremy Kersten, GitHub, Lucas Perais (lpe), Damien Bouvy, Olivier Colson, Yannick Tivisse, qsm-odoo, Martin Geubelle, Odoo Online, Pierre Masereel, Toufik Benjaa, Adrien Dieudonne, Julien Castiaux, Hugo Adan, Adrien Dieudonné, Paul Morelle |
| WEBSITE | |
| WEBSITE | https://www.odoo.com/page/mailing |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-05 23:53:42 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - base - base_setup - web - bus - web_tour - utm - link_tracker - web_editor - web_kanban_gauge |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
FieldTextHtmlInline |
Editor layout | ir.ui.view | qweb | New |
FieldTextHtmlPopupContent |
Editor layout | ir.ui.view | qweb | New |
assets_backend |
mass_mailing assets | ir.ui.view | qweb | Inherits web.assets_backend |
assets_editor |
assets_editor | ir.ui.view | qweb | Inherits web_editor.assets_editor |
assets_mail_themes |
assets_mail_themes | ir.ui.view | qweb | New |
email_compose_form_mass_mailing |
mail.compose.message.form.mass_mailing | mail.compose.message | xpath | Inherits mail.email_compose_message_wizard_form |
email_designer_snippets |
email_designer_snippets | ir.ui.view | qweb | Inherits web_editor.snippets |
mail_mass_mailing_tag_view_form |
mail.mass_mailing.tag.form | mail.mass_mailing.tag | form | New |
res_config_settings_view_form |
res.config.settings.view.form.inherit.mass.mailing | res.config.settings | xpath | Inherits base.res_config_settings_view_form |
s_mail_block_banner |
Banner | ir.ui.view | qweb | New |
s_mail_block_comparison_table |
Comparison | ir.ui.view | qweb | New |
s_mail_block_discount1 |
Discount Offer | ir.ui.view | qweb | New |
s_mail_block_discount2 |
Promo Code | ir.ui.view | qweb | New |
s_mail_block_event |
Event | ir.ui.view | qweb | New |
s_mail_block_footer_separator |
Separator | ir.ui.view | qweb | New |
s_mail_block_footer_social |
Footer Center | ir.ui.view | qweb | New |
s_mail_block_footer_social_left |
Footer Left | ir.ui.view | qweb | New |
s_mail_block_footer_tag_line |
Tag Line | ir.ui.view | qweb | New |
s_mail_block_header_logo |
Centered Logo | ir.ui.view | qweb | New |
s_mail_block_header_social |
Left Logo | ir.ui.view | qweb | New |
s_mail_block_header_text_social |
Left Text | ir.ui.view | qweb | New |
s_mail_block_image |
Image | ir.ui.view | qweb | New |
s_mail_block_image_text |
Image - Text | ir.ui.view | qweb | New |
s_mail_block_paragraph |
Paragraph | ir.ui.view | qweb | New |
s_mail_block_steps |
Steps | ir.ui.view | qweb | New |
s_mail_block_text_image |
Text - Image | ir.ui.view | qweb | New |
s_mail_block_three_cols |
Three Columns | ir.ui.view | qweb | New |
s_mail_block_title_sub |
Title - Subtitle | ir.ui.view | qweb | New |
s_mail_block_title_text |
Title Content | ir.ui.view | qweb | New |
s_mail_block_two_cols |
Two Columns | ir.ui.view | qweb | New |
snippet_options |
snippet_options | ir.ui.view | qweb | New |
theme_basic_template |
theme_basic_template | ir.ui.view | qweb | New |
theme_default_template |
theme_default_template | ir.ui.view | qweb | New |
view_company_form_inherit_mass_mailing |
res.company.form.inherit.mass.mail | res.company | xpath | Inherits base.view_company_form |
view_mail_mail_statistics_form |
mail.mail.statistics.form | mail.mail.statistics | form | New |
view_mail_mail_statistics_graph |
Mail Statistics Graph | mail.mail.statistics | graph | New |
view_mail_mail_statistics_search |
mail.mail.statistics.search | mail.mail.statistics | search | New |
view_mail_mail_statistics_tree |
mail.mail.statistics.tree | mail.mail.statistics | tree | New |
view_mail_mass_mailing_campaign_form |
mail.mass_mailing.campaign.form | mail.mass_mailing.campaign | form | New |
view_mail_mass_mailing_campaign_kanban |
mail.mass_mailing.campaign.kanban | mail.mass_mailing.campaign | kanban | New |
view_mail_mass_mailing_campaign_search |
mail.mass_mailing.campaign.search | mail.mass_mailing.campaign | search | New |
view_mail_mass_mailing_campaign_tree |
mail.mass_mailing.campaign.tree | mail.mass_mailing.campaign | tree | New |
view_mail_mass_mailing_contact_form |
mail.mass_mailing.contact.form | mail.mass_mailing.contact | form | New |
view_mail_mass_mailing_contact_graph |
mail.mass_mailing.contact.graph | mail.mass_mailing.contact | graph | New |
view_mail_mass_mailing_contact_kanban |
mail.mass_mailing.contact.kanban | mail.mass_mailing.contact | kanban | New |
view_mail_mass_mailing_contact_pivot |
mail.mass_mailing.contact.pivot | mail.mass_mailing.contact | pivot | New |
view_mail_mass_mailing_contact_search |
mail.mass_mailing.contact.search | mail.mass_mailing.contact | search | New |
view_mail_mass_mailing_contact_tree |
mail.mass_mailing.contact.tree | mail.mass_mailing.contact | tree | New |
view_mail_mass_mailing_form |
mail.mass_mailing.form | mail.mass_mailing | form | New |
view_mail_mass_mailing_graph |
mail.mass_mailing.graph | mail.mass_mailing | graph | New |
view_mail_mass_mailing_kanban |
mail.mass_mailing.kanban | mail.mass_mailing | kanban | New |
view_mail_mass_mailing_links_search |
link.tracker.search | link.tracker | search | Inherits link_tracker.view_link_tracker_filter |
view_mail_mass_mailing_links_tree |
link.tracker.tree | link.tracker | tree | New |
view_mail_mass_mailing_list_form |
mail.mass_mailing.list.form | mail.mass_mailing.list | form | New |
view_mail_mass_mailing_list_kanban |
mail.mass_mailing.list.kanban | mail.mass_mailing.list | kanban | New |
view_mail_mass_mailing_list_search |
mail.mass_mailing.list.search | mail.mass_mailing.list | search | New |
view_mail_mass_mailing_list_tree |
mail.mass_mailing.list.tree | mail.mass_mailing.list | tree | New |
view_mail_mass_mailing_search |
mail.mass_mailing.search | mail.mass_mailing | search | New |
view_mail_mass_mailing_stage_search |
mail.mass_mailing.stage.search | mail.mass_mailing.stage | search | New |
view_mail_mass_mailing_stage_tree |
mail.mass_mailing.stage.tree | mail.mass_mailing.stage | tree | New |
view_mail_mass_mailing_test_form |
mail.mass_mailing.test.form | mail.mass_mailing.test | form | New |
view_mail_mass_mailing_tree |
mail.mass_mailing.tree | mail.mass_mailing | tree | New |
view_mail_statistics_report_graph |
mail.statistics.report.graph | mail.statistics.report | graph | New |
view_mail_statistics_report_pivot |
mail.statistics.report.pivot | mail.statistics.report | pivot | New |
view_mail_statistics_report_search |
mail.statistics.report.search | mail.statistics.report | search | New |
No new fields.
Public methods (1)unlink(self)
mass_mailing_campaign_id
Many2one → mail.mass_mailing.campaign
string='Mass Mailing Campaign'
args: 'mail.mass_mailing.campaign'
mass_mailing_id
Many2one → mail.mass_mailing
string='Mass Mailing'
args: 'mail.mass_mailing'
No public methods.
mail_stat_id
Many2one → mail.mail.statistics
string='Mail Statistics'
args: 'mail.mail.statistics'
mass_mailing_campaign_id
Many2one → mail.mass_mailing.campaign
string='Mass Mailing Campaign'
args: 'mail.mass_mailing.campaign'
mass_mailing_id
Many2one → mail.mass_mailing
string='Mass Mailing'
args: 'mail.mass_mailing'
add_click(self, code, ip, country_code, stat_id=False)
mailing_list_ids
Many2many → mail.mass_mailing.list
string='Mailing List'
args: 'mail.mass_mailing.list'
mass_mailing_campaign_id
Many2one → mail.mass_mailing.campaign
string='Mass Mailing Campaign'
args: 'mail.mass_mailing.campaign'
mass_mailing_id
Many2one → mail.mass_mailing
ondelete='cascade'
string='Mass Mailing'
args: 'mail.mass_mailing'
mass_mailing_name
Char
string='Mass Mailing'
get_mail_values(self, res_ids)
mailing_id
Many2one → mail.mass_mailing
string='Mass Mailing'
args: 'mail.mass_mailing'
statistics_ids
One2many → mail.mail.statistics
string='Statistics'
args: 'mail.mail.statistics', 'mail_mail_id'
create(self, values)
send_get_email_dict(self, partner=None)
send_get_mail_body(self, partner=None)
bounced
Datetime
help='Date when this email has bounced.'
clicked
Datetime
help='Date when customer clicked on at least one tracked link'
exception
Datetime
help='Date of technical error leading to the email not being sent'
links_click_ids
One2many → link.tracker.click
string='Links click'
args: 'link.tracker.click', 'mail_stat_id'
mail_mail_id
Many2one → mail.mail
index=True
string='Mail'
args: 'mail.mail'
mail_mail_id_int
Integer
help='ID of the related mail_mail. This field is an integer field because the related mail_mail can be deleted separately from its statistics. However the ID is needed for several action and controllers.'
index=True
string='Mail ID (tech)'
mass_mailing_campaign_id
Many2one
readonly=True
related='mass_mailing_id.mass_mailing_campaign_id'
store=True
string='Mass Mailing Campaign'
mass_mailing_id
Many2one → mail.mass_mailing
string='Mass Mailing'
args: 'mail.mass_mailing'
message_id
Char
string='Message-ID'
model
Char
string='Document model'
opened
Datetime
help='Date when the email has been opened the first time'
recipient
Char
compute='_compute_recipient'
replied
Datetime
help='Date when this email has been replied for the first time.'
res_id
Integer
string='Document ID'
scheduled
Datetime
default=fields.Datetime.now
help='Date when the email has been created'
sent
Datetime
help='Date when the email has been sent'
state
Selection
compute='_compute_state'
selection=[('outgoing', 'Outgoing'), ('exception', 'Exception'), ('sent', 'Sent'), ('opened', 'Opened'), ('replied', 'Replied'), ('bounced', 'Bounced')]
store=True
state_update
Datetime
compute='_compute_state'
help='Last state update of the mail'
store=True
string='State Update'
create(self, values)
set_bounced(self, mail_mail_ids=None, mail_message_ids=None)
set_clicked(self, mail_mail_ids=None, mail_message_ids=None)
set_opened(self, mail_mail_ids=None, mail_message_ids=None)
set_replied(self, mail_mail_ids=None, mail_message_ids=None)
active
Boolean
default=True
attachment_ids
Many2many → ir.attachment
string='Attachments'
args: 'ir.attachment', 'mass_mailing_ir_attachments_rel', 'mass_mailing_id', 'attachment_id'
body_html
Html
sanitize_attributes=False
string='Body'
bounced
Integer
compute='_compute_statistics'
bounced_ratio
Integer
String='Bounced Ratio'
compute='_compute_statistics'
campaign_id
Many2one → utm.campaign
help='This name helps you tracking your different campaign efforts, e.g. Fall_Drive, Christmas_Special'
string='Campaign'
args: 'utm.campaign'
clicks_ratio
Integer
compute='_compute_clicks_ratio'
string='Number of Clicks'
color
Integer
string='Color Index'
contact_ab_pc
Integer
default=100
help='Percentage of the contacts that will be mailed. Recipients will be taken randomly.'
string='A/B Testing percentage'
contact_list_ids
Many2many → mail.mass_mailing.list
string='Mailing Lists'
args: 'mail.mass_mailing.list', 'mail_mass_mailing_list_rel'
create_date
Datetime
string='Creation Date'
delivered
Integer
compute='_compute_statistics'
email_from
Char
default=<expr>
required=True
string='From'
failed
Integer
compute='_compute_statistics'
failed
Integer
compute='_compute_statistics'
keep_archives
Boolean
string='Keep Archives'
mailing_domain
Char
default=[]
oldname='domain'
string='Domain'
mailing_model_id
Many2one → ir.model
default=<expr>
domain=[('model', 'in', MASS_MAILING_BUSINESS_MODELS)]
string='Recipients Model'
args: 'ir.model'
mailing_model_name
Char
readonly=True
related='mailing_model_id.model'
related_sudo=True
string='Recipients Model Name'
mailing_model_real
Char
compute='_compute_model'
default='mail.mass_mailing.contact'
required=True
string='Recipients Real Model'
mass_mailing_campaign_id
Many2one → mail.mass_mailing.campaign
string='Mass Mailing Campaign'
args: 'mail.mass_mailing.campaign'
medium_id
Many2one → utm.medium
default=<expr>
help='This is the delivery method, e.g. Postcard, Email, or Banner Ad'
string='Medium'
args: 'utm.medium'
next_departure
Datetime
compute='_compute_next_departure'
string='Scheduled date'
opened
Integer
compute='_compute_statistics'
opened_ratio
Integer
compute='_compute_statistics'
string='Opened Ratio'
received_ratio
Integer
compute='_compute_statistics'
string='Received Ratio'
replied
Integer
compute='_compute_statistics'
replied_ratio
Integer
compute='_compute_statistics'
string='Replied Ratio'
reply_to
Char
default=<expr>
help='Preferred Reply-To Address'
string='Reply To'
reply_to_mode
Selection
required=True
string='Reply-To Mode'
args: [('thread', 'Followers of leads/applicants'), ('email', 'Specified Email Address')]
schedule_date
Datetime
string='Schedule in the Future'
scheduled
Integer
compute='_compute_statistics'
sent
Integer
compute='_compute_statistics'
sent_date
Datetime
copy=False
oldname='date'
string='Sent Date'
source_id
Many2one → utm.source
help='This is the link source, e.g. Search Engine, another domain, or name of email list'
ondelete='cascade'
required=True
string='Subject'
args: 'utm.source'
state
Selection
copy=False
default='draft'
required=True
string='Status'
args: [('draft', 'Draft'), ('in_queue', 'In Queue'), ('sending', 'Sending'), ('done', 'Sent')]
statistics_ids
One2many → mail.mail.statistics
string='Emails Statistics'
args: 'mail.mail.statistics', 'mass_mailing_id'
total
Integer
compute='_compute_total'
action_duplicate(self)
action_test_mailing(self)
cancel_mass_mailing(self)
convert_links(self)
copy(self, default=None)
default_get(self, fields)
get_recipients(self)
get_remaining_recipients(self)
name_create(self, name)
put_in_queue(self)
read_group(self, domain, fields, groupby, offset=0, limit=None, orderby=False, lazy=True)
retry_failed_mail(self)
send_mail(self, res_ids=None)
update_opt_out(self, email, res_ids, value)
bounced
Integer
compute='_compute_statistics'
bounced_ratio
Integer
compute='_compute_statistics'
string='Bounced Ratio'
campaign_id
Many2one → utm.campaign
help='This name helps you tracking your different campaign efforts, e.g. Fall_Drive, Christmas_Special'
ondelete='cascade'
required=True
args: 'utm.campaign', 'campaign_id'
clicks_ratio
Integer
compute='_compute_clicks_ratio'
string='Number of clicks'
color
Integer
string='Color Index'
delivered
Integer
compute='_compute_statistics'
failed
Integer
compute='_compute_statistics'
mass_mailing_ids
One2many → mail.mass_mailing
string='Mass Mailings'
args: 'mail.mass_mailing', 'mass_mailing_campaign_id'
medium_id
Many2one → utm.medium
default=<expr>
help='This is the delivery method, e.g. Postcard, Email, or Banner Ad'
string='Medium'
args: 'utm.medium'
opened
Integer
compute='_compute_statistics'
opened_ratio
Integer
compute='_compute_statistics'
string='Opened Ratio'
received_ratio
Integer
compute='_compute_statistics'
string='Received Ratio'
replied
Integer
compute='_compute_statistics'
replied_ratio
Integer
compute='_compute_statistics'
string='Replied Ratio'
scheduled
Integer
compute='_compute_statistics'
sent
Integer
compute='_compute_statistics'
string='Sent Emails'
source_id
Many2one → utm.source
default=<expr>
help='This is the link source, e.g. Search Engine, another domain,or name of email list'
string='Source'
args: 'utm.source'
stage_id
Many2one → mail.mass_mailing.stage
default=<expr>
required=True
string='Stage'
args: 'mail.mass_mailing.stage'
tag_ids
Many2many → mail.mass_mailing.tag
string='Tags'
args: 'mail.mass_mailing.tag', 'mail_mass_mailing_tag_rel', 'tag_id', 'campaign_id'
total
Integer
compute='_compute_statistics'
total_mailings
Integer
compute='_compute_total_mailings'
string='Mailings'
unique_ab_testing
Boolean
default=False
help='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.'
string='Allow A/B Testing'
user_id
Many2one → res.users
default=<expr>
required=True
string='Responsible'
args: 'res.users'
get_recipients(self, model=None)
read_group(self, domain, fields, groupby, offset=0, limit=None, orderby=False, lazy=True)
company_name
Char
string='Company Name'
country_id
Many2one → res.country
string='Country'
args: 'res.country'
create_date
Datetime
string='Creation Date'
email
Char
required=True
list_ids
Many2many → mail.mass_mailing.list
string='Mailing Lists'
args: 'mail.mass_mailing.list', 'mail_mass_mailing_contact_list_rel', 'contact_id', 'list_id'
message_bounce
Integer
default=0
help='Counter of the number of bounced emails for this contact.'
string='Bounced'
name
Char
opt_out
Boolean
help='The contact has chosen not to receive mails anymore from this list'
string='Opt Out'
tag_ids
Many2many → res.partner.category
string='Tags'
args: 'res.partner.category'
title_id
Many2one → res.partner.title
string='Title'
args: 'res.partner.title'
unsubscription_date
Datetime
string='Unsubscription Date'
add_to_list(self, name, list_id)
create(self, vals)
get_name_email(self, name)
message_get_default_recipients(self)
name_create(self, name)
write(self, vals)
active
Boolean
default=True
contact_nbr
Integer
compute='_compute_contact_nbr'
string='Number of Contacts'
create_date
Datetime
string='Creation Date'
name
Char
required=True
string='Mailing List'
No public methods.
name
Char
required=True
translate=True
sequence
Integer
No public methods.
color
Integer
string='Color Index'
name
Char
required=True
translate=True
No public methods.
email_to
Char
default=<expr>
help='Comma-separated list of email addresses.'
required=True
string='Recipients'
mass_mailing_id
Many2one → mail.mass_mailing
ondelete='cascade'
required=True
string='Mailing'
args: 'mail.mass_mailing'
send_mail_test(self)
bounced
Integer
readonly=True
campaign
Char
readonly=True
string='Mass Mail Campaign'
delivered
Integer
readonly=True
email_from
Char
readonly=True
args: 'From'
name
Char
readonly=True
string='Mass Mail'
opened
Integer
readonly=True
replied
Integer
readonly=True
scheduled_date
Datetime
readonly=True
stirng='Scheduled Date'
sent
Integer
readonly=True
state
Selection
readonly=True
string='Status'
args: [('draft', 'Draft'), ('test', 'Tested'), ('done', 'Sent')]
init(self)
No new fields.
Public methods (1)render_post_process(self, html)
No new fields.
Public methods (3)message_post_with_template(self, template_id, **kwargs)
message_route(self, message, message_dict, model=None, thread_id=None, custom_values=None)
message_route_process(self, message, message_dict, routes)
social_facebook
Char
social_github
Char
social_googleplus
Char
social_linkedin
Char
social_twitter
Char
social_youtube
Char
No public methods.
group_mass_mailing_campaign
Boolean
help='This is useful if your marketing campaigns are composed of several emails'
implied_group='mass_mailing.group_mass_mailing_campaign'
string='Mass Mailing Campaigns'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/10.0/mass_mailing |
| VERSION | |
| VERSION | 2.0 |
| CATEGORY | |
| CATEGORY | Marketing |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | Yes |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Raphael Collet, Odoo Translation Bot, Christophe Matthieu, Martin Trigaux, Fabien Pinckaers, Olivier Dony, Thibault Delavallée, Denis Ledoux, Christophe Simonis, Goffin Simon, Simon Lejeune, Nicolas Martinelli, Nicolas Lempereur, Julien Legros, Richard Mathot, qdp-odoo, Jeremy Kersten, Yannick Tivisse, qsm-odoo, Tanguy Charlier |
| WEBSITE | |
| WEBSITE | https://www.odoo.com/page/mailing |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-05 23:50:47 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - base - base_setup - web_kanban - web - bus - web_tour - utm - link_tracker - web_editor - web_kanban_gauge |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION |
Easily send mass mailing to your leads, opportunities or customers. Track
marketing campaigns performance to improve conversion rates. Design
professional emails and reuse templates in a few clicks.
|
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
FieldTextHtmlInline |
Editor layout | ir.ui.view | qweb | New |
FieldTextHtmlPopupContent |
Editor layout | ir.ui.view | qweb | New |
assets_backend |
mass_mailing assets | ir.ui.view | qweb | Inherits web.assets_backend |
assets_editor |
assets_editor | ir.ui.view | qweb | Inherits web_editor.assets_editor |
assets_mail_themes |
assets_mail_themes | ir.ui.view | qweb | New |
email_compose_form_mass_mailing |
mail.compose.message.form.mass_mailing | mail.compose.message | xpath | Inherits mail.email_compose_message_wizard_form |
email_designer_snippets |
email_designer_snippets | ir.ui.view | qweb | Inherits web_editor.snippets |
mail_mass_mailing_tag_view_form |
mail.mass_mailing.tag.form | mail.mass_mailing.tag | form | New |
s_mail_block_banner |
Banner | ir.ui.view | qweb | New |
s_mail_block_comparison_table |
Comparison | ir.ui.view | qweb | New |
s_mail_block_discount1 |
Discount Offer | ir.ui.view | qweb | New |
s_mail_block_discount2 |
Promo Code | ir.ui.view | qweb | New |
s_mail_block_event |
Event | ir.ui.view | qweb | New |
s_mail_block_footer_separator |
Separator | ir.ui.view | qweb | New |
s_mail_block_footer_social |
Footer Center | ir.ui.view | qweb | New |
s_mail_block_footer_social_left |
Footer Left | ir.ui.view | qweb | New |
s_mail_block_footer_tag_line |
Tag Line | ir.ui.view | qweb | New |
s_mail_block_header_logo |
Centered Logo | ir.ui.view | qweb | New |
s_mail_block_header_social |
Left Logo | ir.ui.view | qweb | New |
s_mail_block_header_text_social |
Left Text | ir.ui.view | qweb | New |
s_mail_block_image |
Image | ir.ui.view | qweb | New |
s_mail_block_image_text |
Image - Text | ir.ui.view | qweb | New |
s_mail_block_paragraph |
Paragraph | ir.ui.view | qweb | New |
s_mail_block_steps |
Steps | ir.ui.view | qweb | New |
s_mail_block_text_image |
Text - Image | ir.ui.view | qweb | New |
s_mail_block_three_cols |
Three Columns | ir.ui.view | qweb | New |
s_mail_block_title_sub |
Title - Subtitle | ir.ui.view | qweb | New |
s_mail_block_title_text |
Title Content | ir.ui.view | qweb | New |
s_mail_block_two_cols |
Two Columns | ir.ui.view | qweb | New |
snippet_options |
snippet_options | ir.ui.view | qweb | New |
theme_default_template |
theme_default_template | ir.ui.view | qweb | New |
view_mail_mail_statistics_form |
mail.mail.statistics.form | mail.mail.statistics | form | New |
view_mail_mail_statistics_graph |
Mail Statistics Graph | mail.mail.statistics | graph | New |
view_mail_mail_statistics_search |
mail.mail.statistics.search | mail.mail.statistics | search | New |
view_mail_mail_statistics_tree |
mail.mail.statistics.tree | mail.mail.statistics | tree | New |
view_mail_mass_mailing_campaign_form |
mail.mass_mailing.campaign.form | mail.mass_mailing.campaign | form | New |
view_mail_mass_mailing_campaign_kanban |
mail.mass_mailing.campaign.kanban | mail.mass_mailing.campaign | kanban | New |
view_mail_mass_mailing_campaign_search |
mail.mass_mailing.campaign.search | mail.mass_mailing.campaign | search | New |
view_mail_mass_mailing_campaign_tree |
mail.mass_mailing.campaign.tree | mail.mass_mailing.campaign | tree | New |
view_mail_mass_mailing_contact_graph |
mail.mass_mailing.contact.graph | mail.mass_mailing.contact | graph | New |
view_mail_mass_mailing_contact_search |
mail.mass_mailing.contact.search | mail.mass_mailing.contact | search | New |
view_mail_mass_mailing_contact_tree |
mail.mass_mailing.contact.tree | mail.mass_mailing.contact | tree | New |
view_mail_mass_mailing_form |
mail.mass_mailing.form | mail.mass_mailing | form | New |
view_mail_mass_mailing_graph |
mail.mass_mailing.graph | mail.mass_mailing | graph | New |
view_mail_mass_mailing_kanban |
mail.mass_mailing.kanban | mail.mass_mailing | kanban | New |
view_mail_mass_mailing_links_search |
link.tracker.search | link.tracker | search | Inherits link_tracker.view_link_tracker_filter |
view_mail_mass_mailing_links_tree |
link.tracker.tree | link.tracker | tree | New |
view_mail_mass_mailing_list_form |
mail.mass_mailing.list.form | mail.mass_mailing.list | form | New |
view_mail_mass_mailing_list_search |
mail.mass_mailing.list.search | mail.mass_mailing.list | search | New |
view_mail_mass_mailing_list_tree |
mail.mass_mailing.list.tree | mail.mass_mailing.list | tree | New |
view_mail_mass_mailing_search |
mail.mass_mailing.search | mail.mass_mailing | search | New |
view_mail_mass_mailing_stage_search |
mail.mass_mailing.stage.search | mail.mass_mailing.stage | search | New |
view_mail_mass_mailing_stage_tree |
mail.mass_mailing.stage.tree | mail.mass_mailing.stage | tree | New |
view_mail_mass_mailing_test_form |
mail.mass_mailing.test.form | mail.mass_mailing.test | form | New |
view_mail_mass_mailing_tree |
mail.mass_mailing.tree | mail.mass_mailing | tree | New |
view_mail_statistics_report_graph |
mail.statistics.report.graph | mail.statistics.report | graph | New |
view_mail_statistics_report_pivot |
mail.statistics.report.pivot | mail.statistics.report | pivot | New |
view_mail_statistics_report_search |
mail.statistics.report.search | mail.statistics.report | search | New |
view_mass_mailing_configuration |
Configure Mass Mailing | mass.mailing.config.settings | form | New |
mass_mailing_campaign_id
Many2one → mail.mass_mailing.campaign
string='Mass Mailing Campaign'
args: 'mail.mass_mailing.campaign'
mass_mailing_id
Many2one → mail.mass_mailing
string='Mass Mailing'
args: 'mail.mass_mailing'
No public methods.
mail_stat_id
Many2one → mail.mail.statistics
string='Mail Statistics'
args: 'mail.mail.statistics'
mass_mailing_campaign_id
Many2one → mail.mass_mailing.campaign
string='Mass Mailing Campaign'
args: 'mail.mass_mailing.campaign'
mass_mailing_id
Many2one → mail.mass_mailing
string='Mass Mailing'
args: 'mail.mass_mailing'
No public methods.
mailing_list_ids
Many2many → mail.mass_mailing.list
string='Mailing List'
args: 'mail.mass_mailing.list'
mass_mailing_campaign_id
Many2one → mail.mass_mailing.campaign
string='Mass Mailing Campaign'
args: 'mail.mass_mailing.campaign'
mass_mailing_id
Many2one → mail.mass_mailing
ondelete='cascade'
string='Mass Mailing'
args: 'mail.mass_mailing'
mass_mailing_name
Char
string='Mass Mailing'
get_mail_values(self, res_ids)
mailing_id
Many2one → mail.mass_mailing
string='Mass Mailing'
args: 'mail.mass_mailing'
statistics_ids
One2many → mail.mail.statistics
string='Statistics'
args: 'mail.mail.statistics', 'mail_mail_id'
create(self, values)
send_get_email_dict(self, partner=None)
send_get_mail_body(self, partner=None)
bounced
Datetime
help='Date when this email has bounced.'
exception
Datetime
help='Date of technical error leading to the email not being sent'
links_click_ids
One2many → link.tracker.click
string='Links click'
args: 'link.tracker.click', 'mail_stat_id'
mail_mail_id
Many2one → mail.mail
index=True
string='Mail'
args: 'mail.mail'
mail_mail_id_int
Integer
help='ID of the related mail_mail. This field is an integer field because the related mail_mail can be deleted separately from its statistics. However the ID is needed for several action and controllers.'
index=True
string='Mail ID (tech)'
mass_mailing_campaign_id
Many2one
readonly=True
related='mass_mailing_id.mass_mailing_campaign_id'
store=True
string='Mass Mailing Campaign'
mass_mailing_id
Many2one → mail.mass_mailing
string='Mass Mailing'
args: 'mail.mass_mailing'
message_id
Char
string='Message-ID'
model
Char
string='Document model'
opened
Datetime
help='Date when the email has been opened the first time'
recipient
Char
compute='_compute_recipient'
replied
Datetime
help='Date when this email has been replied for the first time.'
res_id
Integer
string='Document ID'
scheduled
Datetime
default=fields.Datetime.now
help='Date when the email has been created'
sent
Datetime
help='Date when the email has been sent'
state
Selection
compute='_compute_state'
selection=[('outgoing', 'Outgoing'), ('exception', 'Exception'), ('sent', 'Sent'), ('opened', 'Opened'), ('replied', 'Replied'), ('bounced', 'Bounced')]
store=True
state_update
Datetime
compute='_compute_state'
help='Last state update of the mail'
store=True
string='State Update'
create(self, values)
set_bounced(self, mail_mail_ids=None, mail_message_ids=None)
set_opened(self, mail_mail_ids=None, mail_message_ids=None)
set_replied(self, mail_mail_ids=None, mail_message_ids=None)
active
Boolean
default=True
attachment_ids
Many2many → ir.attachment
string='Attachments'
args: 'ir.attachment', 'mass_mailing_ir_attachments_rel', 'mass_mailing_id', 'attachment_id'
body_html
Html
sanitize_attributes=False
string='Body'
bounced
Integer
compute='_compute_statistics'
bounced_ratio
Integer
String='Bounced Ratio'
compute='_compute_statistics'
campaign_id
Many2one → utm.campaign
help='This name helps you tracking your different campaign efforts, e.g. Fall_Drive, Christmas_Special'
string='Campaign'
args: 'utm.campaign'
clicks_ratio
Integer
compute='_compute_clicks_ratio'
string='Number of Clicks'
color
Integer
related='mass_mailing_campaign_id.color'
string='Color Index'
contact_ab_pc
Integer
default=100
help='Percentage of the contacts that will be mailed. Recipients will be taken randomly.'
string='A/B Testing percentage'
contact_list_ids
Many2many → mail.mass_mailing.list
string='Mailing Lists'
args: 'mail.mass_mailing.list', 'mail_mass_mailing_list_rel'
create_date
Datetime
string='Creation Date'
delivered
Integer
compute='_compute_statistics'
email_from
Char
default=<expr>
required=True
string='From'
failed
Integer
compute='_compute_statistics'
failed
Integer
compute='_compute_statistics'
keep_archives
Boolean
string='Keep Archives'
mailing_domain
Char
default=[]
oldname='domain'
string='Domain'
mailing_model
Selection
default='mail.mass_mailing.contact'
required=True
selection=_mailing_model
string='Recipients Model'
mass_mailing_campaign_id
Many2one → mail.mass_mailing.campaign
string='Mass Mailing Campaign'
args: 'mail.mass_mailing.campaign'
medium_id
Many2one → utm.medium
default=<expr>
help='This is the delivery method, e.g. Postcard, Email, or Banner Ad'
string='Medium'
args: 'utm.medium'
next_departure
Datetime
compute='_compute_next_departure'
string='Next Departure'
opened
Integer
compute='_compute_statistics'
opened_ratio
Integer
compute='_compute_statistics'
string='Opened Ratio'
received_ratio
Integer
compute='_compute_statistics'
string='Received Ratio'
replied
Integer
compute='_compute_statistics'
replied_ratio
Integer
compute='_compute_statistics'
string='Replied Ratio'
reply_to
Char
default=<expr>
help='Preferred Reply-To Address'
string='Reply To'
reply_to_mode
Selection
required=True
string='Reply-To Mode'
args: [('thread', 'Followers of leads/applicants'), ('email', 'Specified Email Address')]
schedule_date
Datetime
string='Schedule in the Future'
scheduled
Integer
compute='_compute_statistics'
sent
Integer
compute='_compute_statistics'
sent_date
Datetime
copy=False
oldname='date'
string='Sent Date'
source_id
Many2one → utm.source
help='This is the link source, e.g. Search Engine, another domain, or name of email list'
ondelete='cascade'
required=True
string='Subject'
args: 'utm.source'
state
Selection
copy=False
default='draft'
required=True
string='Status'
args: [('draft', 'Draft'), ('in_queue', 'In Queue'), ('sending', 'Sending'), ('done', 'Sent')]
statistics_ids
One2many → mail.mail.statistics
string='Emails Statistics'
args: 'mail.mail.statistics', 'mass_mailing_id'
total
Integer
compute='_compute_total'
action_duplicate(self)
action_test_mailing(self)
cancel_mass_mailing(self)
convert_links(self)
copy(self, default=None)
default_get(self, fields)
get_recipients(self)
get_remaining_recipients(self)
name_create(self, name)
put_in_queue(self)
read_group(self, domain, fields, groupby, offset=0, limit=None, orderby=False, lazy=True)
retry_failed_mail(self)
send_mail(self)
update_opt_out(self, email, res_ids, value)
bounced
Integer
compute='_compute_statistics'
bounced_ratio
Integer
compute='_compute_statistics'
string='Bounced Ratio'
campaign_id
Many2one → utm.campaign
help='This name helps you tracking your different campaign efforts, e.g. Fall_Drive, Christmas_Special'
ondelete='cascade'
required=True
args: 'utm.campaign', 'campaign_id'
clicks_ratio
Integer
compute='_compute_clicks_ratio'
string='Number of clicks'
color
Integer
string='Color Index'
delivered
Integer
compute='_compute_statistics'
failed
Integer
compute='_compute_statistics'
mass_mailing_ids
One2many → mail.mass_mailing
string='Mass Mailings'
args: 'mail.mass_mailing', 'mass_mailing_campaign_id'
medium_id
Many2one → utm.medium
default=<expr>
help='This is the delivery method, e.g. Postcard, Email, or Banner Ad'
string='Medium'
args: 'utm.medium'
opened
Integer
compute='_compute_statistics'
opened_ratio
Integer
compute='_compute_statistics'
string='Opened Ratio'
received_ratio
Integer
compute='_compute_statistics'
string='Received Ratio'
replied
Integer
compute='_compute_statistics'
replied_ratio
Integer
compute='_compute_statistics'
string='Replied Ratio'
scheduled
Integer
compute='_compute_statistics'
sent
Integer
compute='_compute_statistics'
string='Sent Emails'
source_id
Many2one → utm.source
default=<expr>
help='This is the link source, e.g. Search Engine, another domain,or name of email list'
string='Source'
args: 'utm.source'
stage_id
Many2one → mail.mass_mailing.stage
default=<expr>
required=True
string='Stage'
args: 'mail.mass_mailing.stage'
tag_ids
Many2many → mail.mass_mailing.tag
string='Tags'
args: 'mail.mass_mailing.tag', 'mail_mass_mailing_tag_rel', 'tag_id', 'campaign_id'
total
Integer
compute='_compute_statistics'
total_mailings
Integer
compute='_compute_total_mailings'
string='Mailings'
unique_ab_testing
Boolean
help='If checked, recipients will be mailed only once, allowing to send various mailings in a single campaign to test the effectiveness of the mailings.'
string='AB Testing'
user_id
Many2one → res.users
default=<expr>
required=True
string='Responsible'
args: 'res.users'
get_recipients(self, model=None)
read_group(self, domain, fields, groupby, offset=0, limit=None, orderby=False, lazy=True)
create_date
Datetime
string='Create Date'
email
Char
required=True
list_id
Many2one → mail.mass_mailing.list
default=<expr>
ondelete='cascade'
required=True
string='Mailing List'
args: 'mail.mass_mailing.list'
message_bounce
Integer
help='Counter of the number of bounced emails for this contact.'
string='Bounce'
name
Char
opt_out
Boolean
help='The contact has chosen not to receive mails anymore from this list'
string='Opt Out'
unsubscription_date
Datetime
string='Unsubscription Date'
add_to_list(self, name, list_id)
create(self, vals)
get_name_email(self, name)
message_get_default_recipients(self)
name_create(self, name)
write(self, vals)
active
Boolean
default=True
contact_nbr
Integer
compute='_compute_contact_nbr'
string='Number of Contacts'
create_date
Datetime
string='Creation Date'
name
Char
required=True
string='Mailing List'
No public methods.
name
Char
required=True
translate=True
sequence
Integer
No public methods.
color
Integer
string='Color Index'
name
Char
required=True
translate=True
No public methods.
email_to
Char
default=<expr>
help='Comma-separated list of email addresses.'
required=True
string='Recipients'
mass_mailing_id
Many2one → mail.mass_mailing
ondelete='cascade'
required=True
string='Mailing'
args: 'mail.mass_mailing'
send_mail_test(self)
bounced
Integer
readonly=True
campaign
Char
readonly=True
string='Mass Mail Campaign'
delivered
Integer
readonly=True
email_from
Char
readonly=True
args: 'From'
name
Char
readonly=True
string='Mass Mail'
opened
Integer
readonly=True
replied
Integer
readonly=True
scheduled_date
Datetime
readonly=True
stirng='Scheduled Date'
sent
Integer
readonly=True
state
Selection
readonly=True
string='Status'
args: [('draft', 'Draft'), ('test', 'Tested'), ('done', 'Sent')]
init(self)
No new fields.
Public methods (3)message_post_with_template(self, template_id, **kwargs)
message_route(self, message, message_dict, model=None, thread_id=None, custom_values=None)
message_route_process(self, message, message_dict, routes)
group_mass_mailing_campaign
Selection
help='Manage mass mailign using Campaigns'
implied_group='mass_mailing.group_mass_mailing_campaign'
string='Campaigns'
args: [(0, 'Do not organize and schedule mail campaigns (easy)'), (1, 'Allow using marketing campaigns (advanced)')]
module_mass_mailing_themes
Boolean
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/9.0/mass_mailing |
| VERSION | |
| VERSION | 2.0 |
| CATEGORY | |
| CATEGORY | Marketing |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | Yes |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Raphael Collet, Odoo Translation Bot, Christophe Matthieu, Martin Trigaux, Fabien Pinckaers, Antony Lesuisse, Olivier Dony, Thibault Delavallée, Denis Ledoux, Fabien Meghazi, Christophe Simonis, David Monjoie, Xavier Morel, Joren Van Onder, Goffin Simon, Nicolas Martinelli, Nicolas Lempereur, Jérome Maes, Richard Mathot, Géry Debongnie, Aaron Bohy, Jeremy Kersten, GitHub, Damien Bouvy, Julien De Coster, Yannick Tivisse, qsm-odoo, Martin Geubelle |
| WEBSITE | |
| WEBSITE | https://www.odoo.com/page/mailing |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-05 23:48:29 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - base - base_setup - web_kanban - web - bus - marketing - utm - link_tracker - web_editor - web_kanban_gauge |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION |
Easily send mass mailing to your leads, opportunities or customers. Track
marketing campaigns performance to improve conversion rates. Design
professional emails and reuse templates in a few clicks.
|
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
FieldTextHtmlInline |
Editor layout | ir.ui.view | qweb | New |
FieldTextHtmlPopupContent |
Editor layout | ir.ui.view | qweb | New |
assets_backend |
mass_mailing assets | ir.ui.view | qweb | Inherits web.assets_backend |
email_compose_form_mass_mailing |
mail.compose.message.form.mass_mailing | mail.compose.message | xpath | Inherits mail.email_compose_message_wizard_form |
email_designer_snippets |
email_designer_snippets | ir.ui.view | qweb | New |
email_template_form_minimal |
email.template.form.minimal | mail.template | form | New |
mass_mail_theme_list |
mass_mail_theme_list | ir.ui.view | qweb | New |
snippet_options |
snippet_options | ir.ui.view | qweb | New |
view_email_template_kanban |
email.template.kanban | mail.template | kanban | New |
view_mail_mail_statistics_form |
mail.mail.statistics.form | mail.mail.statistics | form | New |
view_mail_mail_statistics_graph |
Mail Statistics Graph | mail.mail.statistics | graph | New |
view_mail_mail_statistics_search |
mail.mail.statistics.search | mail.mail.statistics | search | New |
view_mail_mail_statistics_tree |
mail.mail.statistics.tree | mail.mail.statistics | tree | New |
view_mail_mass_mailing_campaign_form |
mail.mass_mailing.campaign.form | mail.mass_mailing.campaign | form | New |
view_mail_mass_mailing_campaign_kanban |
mail.mass_mailing.campaign.kanban | mail.mass_mailing.campaign | kanban | New |
view_mail_mass_mailing_campaign_search |
mail.mass_mailing.campaign.search | mail.mass_mailing.campaign | search | New |
view_mail_mass_mailing_campaign_tree |
mail.mass_mailing.campaign.tree | mail.mass_mailing.campaign | tree | New |
view_mail_mass_mailing_contact_graph |
mail.mass_mailing.contact.graph | mail.mass_mailing.contact | graph | New |
view_mail_mass_mailing_contact_search |
mail.mass_mailing.contact.search | mail.mass_mailing.contact | search | New |
view_mail_mass_mailing_contact_tree |
mail.mass_mailing.contact.tree | mail.mass_mailing.contact | tree | New |
view_mail_mass_mailing_form |
mail.mass_mailing.form | mail.mass_mailing | form | New |
view_mail_mass_mailing_graph |
mail.mass_mailing.graph | mail.mass_mailing | graph | New |
view_mail_mass_mailing_kanban |
mail.mass_mailing.kanban | mail.mass_mailing | kanban | New |
view_mail_mass_mailing_links_search |
link.tracker.search | link.tracker | search | Inherits link_tracker.view_link_tracker_filter |
view_mail_mass_mailing_links_tree |
link.tracker.tree | link.tracker | tree | New |
view_mail_mass_mailing_list_form |
mail.mass_mailing.list.form | mail.mass_mailing.list | form | New |
view_mail_mass_mailing_list_search |
mail.mass_mailing.list.search | mail.mass_mailing.list | search | New |
view_mail_mass_mailing_list_tree |
mail.mass_mailing.list.tree | mail.mass_mailing.list | tree | New |
view_mail_mass_mailing_search |
mail.mass_mailing.search | mail.mass_mailing | search | New |
view_mail_mass_mailing_stage_search |
mail.mass_mailing.stage.search | mail.mass_mailing.stage | search | New |
view_mail_mass_mailing_stage_tree |
mail.mass_mailing.stage.tree | mail.mass_mailing.stage | tree | New |
view_mail_mass_mailing_test_form |
mail.mass_mailing.test.form | mail.mass_mailing.test | form | New |
view_mail_mass_mailing_tree |
mail.mass_mailing.tree | mail.mass_mailing | tree | New |
view_mail_statistics_report_graph |
mail.statistics.report.graph | mail.statistics.report | graph | New |
view_mail_statistics_report_pivot |
mail.statistics.report.pivot | mail.statistics.report | pivot | New |
view_mail_statistics_report_search |
mail.statistics.report.search | mail.statistics.report | search | New |
view_mass_mailing_configuration |
Configure Mass Mailing | mass.mailing.config.settings | form | New |
mass_mailing_campaign_id
Many2one → mail.mass_mailing.campaign
string='Mass Mailing Campaign'
args: 'mail.mass_mailing.campaign'
mass_mailing_id
Many2one → mail.mass_mailing
string='Mass Mailing'
args: 'mail.mass_mailing'
No public methods.
mail_stat_id
Many2one → mail.mail.statistics
string='Mail Statistics'
args: 'mail.mail.statistics'
mass_mailing_campaign_id
Many2one → mail.mass_mailing.campaign
string='Mass Mailing Campaign'
args: 'mail.mass_mailing.campaign'
mass_mailing_id
Many2one → mail.mass_mailing
string='Mass Mailing'
args: 'mail.mass_mailing'
No public methods.
No new fields.
Public methods (1)get_mail_values(self, cr, uid, ids, res_ids, context=None)
No new fields.
Public methods (3)create(self, cr, uid, values, context=None)
send_get_email_dict(self, cr, uid, ids, partner=None, context=None)
send_get_mail_body(self, cr, uid, ids, partner=None, context=None)
No new fields.
Public methods (4)create(self, cr, uid, values, context=None)
set_bounced(self, cr, uid, ids=None, mail_mail_ids=None, mail_message_ids=None, context=None)
set_opened(self, cr, uid, ids=None, mail_mail_ids=None, mail_message_ids=None, context=None)
set_replied(self, cr, uid, ids=None, mail_mail_ids=None, mail_message_ids=None, context=None)
No new fields.
Public methods (16)action_duplicate(self, cr, uid, ids, context=None)
action_test_mailing(self, cr, uid, ids, context=None)
cancel_mass_mailing(self, cr, uid, ids, context=None)
convert_links(self, cr, uid, ids, context=None)
copy_data(self, cr, uid, id, default=None, context=None)
default_get(self, cr, uid, fields, context=None)
get_recipients(self, cr, uid, mailing, context=None)
get_remaining_recipients(self, cr, uid, mailing, context=None)
mass_mailing_statistics_action(self, cr, uid, ids, context=None)
on_change_model_and_list(self, cr, uid, ids, mailing_model, list_ids, context=None)
onchange_mass_mailing_campaign_id(self, cr, uid, id, mass_mailing_campaign_ids, context=None)
put_in_queue(self, cr, uid, ids, context=None)
read_group(self, cr, uid, domain, fields, groupby, offset=0, limit=None, context=None, orderby=False, lazy=True)
retry_failed_mail(self, cr, uid, mass_mailing_ids, context=None)
send_mail(self, cr, uid, ids, context=None)
update_opt_out(self, cr, uid, mailing_id, email, res_ids, value, context=None)
No new fields.
Public methods (4)get_recipients(self, cr, uid, ids, model=None, context=None)
mass_mailing_statistics_action(self, cr, uid, ids, context=None)
on_change_campaign_name(self, cr, uid, ids, name, context=None)
read_group(self, cr, uid, domain, fields, groupby, offset=0, limit=None, context=None, orderby=False, lazy=True)
No new fields.
Public methods (8)add_to_list(self, cr, uid, name, list_id, context=None)
create(self, cr, uid, vals, context=None)
get_name_email(self, name, context)
message_get_default_recipients(self, cr, uid, ids, context=None)
message_receive_bounce(self, cr, uid, ids, mail_id=None, context=None)
name_create(self, cr, uid, name, context=None)
on_change_opt_out(self, cr, uid, id, opt_out, context=None)
write(self, cr, uid, ids, vals, context=None)
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (1)send_mail_test(self, cr, uid, ids, context=None)
No new fields.
Public methods (1)init(self, cr)
No new fields.
Public methods (4)message_receive_bounce(self, cr, uid, ids, mail_id=None, context=None)
message_route(self, cr, uid, message, message_dict, model=None, thread_id=None, custom_values=None, context=None)
message_route_check_bounce(self, cr, uid, message, context=None)
message_route_process(self, cr, uid, message, message_dict, routes, context=None)
No new fields.
Public methods (0)No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/8.0/mass_mailing |
| VERSION | |
| VERSION | 2.0 |
| CATEGORY | |
| CATEGORY | Marketing |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | OpenERP |
| MAINTAINERS | |
| MAINTAINERS | OpenERP |
| COMMITTERS | |
| COMMITTERS | Raphael Collet, Odoo Translation Bot, Christophe Matthieu, Martin Trigaux, Fabien Pinckaers, Antony Lesuisse, Olivier Dony, Thibault Delavallée, Denis Ledoux, Fabien Meghazi, Christophe Simonis, David Monjoie, Xavier Morel, Nicolas Lempereur, Richard Mathot, Géry Debongnie, Olivier LAURENT, ged-odoo, Jeremy Kersten, ima-openerp, Gery Debongnie, Anthony Muschang, Julien De Coster |
| WEBSITE | |
| WEBSITE | https://www.odoo.com/page/mailing |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-05 23:45:38 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - base - base_setup - web_kanban - web - email_template - marketing - web_kanban_gauge - web_kanban_sparkline - website_mail - website - share |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION |
Easily send mass mailing to your leads, opportunities or customers. Track
marketing campaigns performance to improve conversion rates. Design
professional emails and reuse templates in a few clicks.
|
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
assets_backend |
mass_mailing assets | ir.ui.view | qweb | Inherits web.assets_backend |
assets_editor |
wesbite_mass_mailing Editor assets | ir.ui.view | qweb | Inherits website.assets_editor |
assets_frontend |
wesbite_mass_mailing assets | ir.ui.view | qweb | Inherits website.assets_frontend |
email_compose_form_mass_mailing |
mail.compose.message.form.mass_mailing | mail.compose.message | xpath | Inherits mail.email_compose_message_wizard_form |
email_template_form_minimal |
email.template.form.minimal | email.template | form | New |
mailing_list_subscribe |
Subscribe to Newsletter | ir.ui.view | qweb | Inherits website.snippets |
view_email_template_kanban |
email.template.kanban | email.template | kanban | New |
view_mail_mail_statistics_form |
mail.mail.statistics.form | mail.mail.statistics | form | New |
view_mail_mail_statistics_search |
mail.mail.statistics.search | mail.mail.statistics | search | New |
view_mail_mail_statistics_tree |
mail.mail.statistics.tree | mail.mail.statistics | tree | New |
view_mail_mass_mailing_campaign_form |
mail.mass_mailing.campaign.form | mail.mass_mailing.campaign | form | New |
view_mail_mass_mailing_campaign_kanban |
mail.mass_mailing.campaign.kanban | mail.mass_mailing.campaign | kanban | New |
view_mail_mass_mailing_campaign_search |
mail.mass_mailing.campaign.search | mail.mass_mailing.campaign | search | New |
view_mail_mass_mailing_campaign_tree |
mail.mass_mailing.campaign.tree | mail.mass_mailing.campaign | tree | New |
view_mail_mass_mailing_contact_search |
mail.mass_mailing.contact.search | mail.mass_mailing.contact | search | New |
view_mail_mass_mailing_contact_tree |
mail.mass_mailing.contact.tree | mail.mass_mailing.contact | tree | New |
view_mail_mass_mailing_form |
mail.mass_mailing.form | mail.mass_mailing | form | New |
view_mail_mass_mailing_graph |
mail.mass_mailing.graph | mail.mass_mailing | graph | New |
view_mail_mass_mailing_kanban |
mail.mass_mailing.kanban | mail.mass_mailing | kanban | New |
view_mail_mass_mailing_list_form |
mail.mass_mailing.list.form | mail.mass_mailing.list | form | New |
view_mail_mass_mailing_list_search |
mail.mass_mailing.list.search | mail.mass_mailing.list | search | New |
view_mail_mass_mailing_list_tree |
mail.mass_mailing.list.tree | mail.mass_mailing.list | tree | New |
view_mail_mass_mailing_search |
mail.mass_mailing.search | mail.mass_mailing | search | New |
view_mail_mass_mailing_stage_search |
mail.mass_mailing.stage.search | mail.mass_mailing.stage | search | New |
view_mail_mass_mailing_stage_tree |
mail.mass_mailing.stage.tree | mail.mass_mailing.stage | tree | New |
view_mail_mass_mailing_test_form |
mail.mass_mailing.test.form | mail.mass_mailing.test | form | New |
view_mail_mass_mailing_tree |
mail.mass_mailing.tree | mail.mass_mailing | tree | New |
view_mail_statistics_report_graph |
mail.statistics.report.graph | mail.statistics.report | graph | New |
view_mail_statistics_report_search |
mail.statistics.report.search | mail.statistics.report | search | New |
view_marketing_configuration_mass_mailing |
marketing.config.settings.mass.mailing | marketing.config.settings | xpath | Inherits marketing.view_marketing_configuration |
No new fields.
Public methods (1)get_mail_values(self, cr, uid, wizard, res_ids, context=None)
No new fields.
Public methods (3)create(self, cr, uid, values, context=None)
send_get_email_dict(self, cr, uid, mail, partner=None, context=None)
send_get_mail_body(self, cr, uid, mail, partner=None, context=None)
No new fields.
Public methods (4)create(self, cr, uid, values, context=None)
set_bounced(self, cr, uid, ids=None, mail_mail_ids=None, mail_message_ids=None, context=None)
set_opened(self, cr, uid, ids=None, mail_mail_ids=None, mail_message_ids=None, context=None)
set_replied(self, cr, uid, ids=None, mail_mail_ids=None, mail_message_ids=None, context=None)
No new fields.
Public methods (9)action_duplicate(self, cr, uid, ids, context=None)
action_edit_html(self, cr, uid, ids, context=None)
action_test_mailing(self, cr, uid, ids, context=None)
copy_data(self, cr, uid, id, default=None, context=None)
default_get(self, cr, uid, fields, context=None)
get_recipients(self, cr, uid, mailing, context=None)
on_change_model_and_list(self, cr, uid, ids, mailing_model, list_ids, context=None)
read_group(self, cr, uid, domain, fields, groupby, offset=0, limit=None, context=None, orderby=False, lazy=True)
send_mail(self, cr, uid, ids, context=None)
No new fields.
Public methods (1)get_recipients(self, cr, uid, ids, model=None, context=None)
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (4)add_to_list(self, cr, uid, name, list_id, context=None)
get_name_email(self, name, context)
message_get_default_recipients(self, cr, uid, ids, context=None)
name_create(self, cr, uid, name, context=None)
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (1)send_mail_test(self, cr, uid, ids, context=None)
No new fields.
Public methods (1)init(self, cr)
No new fields.
Public methods (4)message_receive_bounce(self, cr, uid, ids, mail_id=None, context=None)
message_route(self, cr, uid, message, message_dict, model=None, thread_id=None, custom_values=None, context=None)
message_route_check_bounce(self, cr, uid, message, context=None)
message_route_process(self, cr, uid, message, message_dict, routes, context=None)
No new fields.
Public methods (0)No public methods.