MAPI 消息类

适用于:Outlook 2013 | Outlook 2016

每条消息都有一个消息类属性 ,PR_MESSAGE_CLASS (PidTagMessageClass) ,用于标识消息的类型、用途或内容。 PR_MESSAGE_CLASS 是所有新邮件的必需属性。 邮件的 类确定用于向用户显示邮件的窗体以及用于放置传入邮件的文件夹。

消息类是区分大小写的字符串,其中包含 ASCII 字符 32 到 127,由句点分隔,但它们不能以句点结尾。 每个字符串表示子类化级别,对允许的级别数没有限制。

例如,客户端应用程序发送和接收的大多数消息属于 IPM 消息类,这是一个描述所有人际消息的宽泛类别, (即由人类用户读取的消息,而不是由计算机) 以编程方式读取的消息。 消息存储提供程序通过创建 IPM 子类更准确地描述 IPM 消息IPM 子类继承 IPM 消息类的属性。 通过将其他字符串连接到 IPM 标识符(如 IPM)来命名 IPM 类的子类。记下说明说明消息和 IPM。用于描述联系人消息的联系人。

若要处理 IPM 消息的显示和管理,客户端可以使用 MAPI 提供的标准表单。 若要处理新消息类的显示和管理,客户端应用程序开发人员有两个选项:

  1. 可以使用标准客户端可以使用的 MAPI 定义的表单接口集来创建新窗体。

  2. 可以通过实现完整的独立应用程序来编写自己的客户端。

尽管客户端应将每个传出消息的 PR_MESSAGE_CLASS 属性设置为 IPMIPC 的子类,但消息存储提供程序对设置它负有最终责任。 因此,如果客户端在不设置其消息类的情况下发送消息,则消息存储提供程序将其设置为适当类型的客户端的相应默认值。 人际消息传递客户端的默认消息类是 IPM;进程间通信客户端的默认消息类是 IPC

消息类的长度限制为 255 个字符。 但是,为了支持报表中使用的消息类,消息类不应超过 127 个字符。 报表消息类基于原始邮件的 类,并添加了两个:前缀和后缀。 前缀 REPORT 指示邮件是报表,后缀指示报告类型:DR (传递报告) 、NDR (未送达报告) 、IPNRN (读取报表) 或 IPNNRN (未读报表) 。 请注意,这些长度限制以字符为单位提供:在使用双字节字符集的平台上,实际字节计数可能更高。

当客户端尝试分配超过其消息类允许限制的字符串时,消息存储提供程序应从其 IMAPIProp::SetProps 方法实现中返回MAPI_E_INVALID_PARAMETER。

另请参阅

MAPI 消息