第一章 消息
消息(mail.message)对象是odoo中的主要消息类型,用于各种通知场景,贯穿于整个odoo系统。本章我们将认识消息对象,了解它的主要类型和基本用途。
消息主要属性
我们首先来看一下一个消息的主要属性:
- subject: 主题
- body: 消息内容(HTML)
- message_type: 消息类型,四种类型:
- email: 邮件类型
- comment: 备注
- notification: 系统通知
- user_notification: 用户通知
- subtype_id: 消息子类型
消息子类型
消息子类型(mail.message.subtype)用来对消息进行二次分类,通过子消息类型,我们可以取消某些关注者的通知功能,只允许某些子消息类型的消息通过推送。消息子类型是一个单独的模型,因此用户可以自定义自己的子消息类型。
消息子类型的属性
- name: 子类型的名称
- description: 子类型描述
- internal: 仅内部通知
- parent_id: 上级子类型
- relation_field: 关系字段
- res_model: 子类型可以应用的模型名称,如果值为False则意味着所有模型都可用
- default: 订阅时是否自动激活
- sequence: 序号
- hidden: 在关注选项中隐藏
- track_recipients: 是否显示所有收件人或只显示重要的收件人
通过子类型的这些属性,我们可以控制发送消息的接收范围。例如,如果我们希望发送的消息,只被内部用户接收,而不发送给客户和门户用户,那么我们就可以把子类型的internal类型选中。
消息发送向导
消息发送向导(mail.compose.message)用来显示一个邮件发送向导,用户可以在这个向导中选择关注者和邮件模版(mail.template)来完成邮件的编写,并发送出去。
消息发送向导属性
一个典型的消息发送向导界面如下:

我们从界面上可以看出,消息发送向导中可以填写接受人和主题,内容和附件,还可以选择邮件模版。我们来具体看一下它的属性:
- notify: 通知关注者
- is_log: 作为内部备注
- composition_mode: 编排模式,共有三种模式:
- comment: 备注(默认)
- mass_mail: 批量邮件
- mass_post: 多文档发送
如果编排模式选择comment,那么将使用消息中的备注类型发送消息,所有的关注者都将收到通知。如果选择使用mass_mail或者mass_post且notify为False时,消息的子类型将被设置为False,即作为内部通知使用。