选择消息类

适用于:Outlook 2013 | Outlook 2016

MAPI 邮件类中所述,邮件类对于建立自定义邮件类型之间的关系以及表单服务器本身之间的关系非常重要。 幸运的是,选择消息类字符串非常简单。 消息类的消息类字符串是任意字符串,但它应使用以下约定:

  • 该字符串应满足 PR_MESSAGE_CLASS (PidTagMessageClass) 属性的文档中所述的所有约定。 重要的是,字符串必须完全由 ANSI 字符组成,并且长度必须少于 256 个字符。

  • 如果表单服务器派生自现有表单服务器或现有表单服务器的扩展,则应通过将句点和另一个单词添加到表单服务器所基于的表单服务器的邮件类字符串来形成邮件类字符串。 例如,你可能想要实现一个表单来重新安排会议,而你的表单基于用于安排会议的现有表单。 如果会议安排窗体的消息类字符串为“IPM”。Meeting“,消息类字符串可以是”IPM”。Meeting.Reschedule”。

  • 如果表单不基于任何现有表单,则消息类字符串仍应以“IPM.”或“IPC.”前缀开头,具体取决于表单是供人员接收还是由其他应用程序接收。 “IPM。”指定通常最终出现在用户收件箱中的人际邮件,“IPC.”指定通常不会传递到用户的收件箱的进程间通信消息。

  • 如果消息类旨在人工可读,则消息类字符串应以“IPM”开头。如果邮件类使用任何包含纯文本、HTML 或 RTF 格式的属性, (RTF) 数据,则消息类通常被视为可读。 如果窗体使用 PR_BODY (PidTagBody) 属性,则几乎可以肯定使用“IPM.”消息类字符串。 例如,如果要为采购订单实现窗体,并且你的组织要求采购订单由经理批准,则消息类字符串可以是“IPM”。Purchase_Order”。 设计用于公用文件夹或公用文件夹应用程序的表单通常被视为人际交往表单,因为它们是由用户阅读的,即使他们实际上没有发送到任何人的电子邮件地址。 公用文件夹邮件类的典型前缀为“IPM.Post”。

  • 如果消息类旨在由其他应用程序而不是人员接收,则消息类字符串应以“IPC”开头。例如,如果要实现一个表单,使用户能够自动订阅邮件列表,则邮件类字符串可以是“IPC”。订阅”。

  • 消息类字符串不应以句点结尾。

消息类字符串应放在窗体配置文件的 [Description] 部分中的 MessageClass 条目中,如下所示:

MessageClass=IPM.Meeting.Reschedule

选择适当的消息类字符串后,应为其生成类标识符。 可以使用 Visual Studio 中包含的 “创建 GUID” 命令生成类标识符。 类标识符必须与 MessageClass 条目一起放在配置文件的 CLSID 条目中,如下所示:

CLSID={88FFF551-B8C5-11ce-8DE0-00AA0060D242}

当然,课堂标识符几乎肯定会有所不同。 有关详细信息,请参阅 创建表单配置文件

在用户计算机上安装表单时,安装过程(无论是安装程序还是其他内容)必须在注册表的 *HKEY_CLASSES_ROOT\CLSID* 节中为类标识符创建注册表项。 必须将此条目设置为消息类字符串。 例如,为上面的示例类标识符创建类似于以下内容的注册表项:

HKEY_CLASSES_ROOT\CLSID\{88FFF551-B8C5-11ce-8DE0-00AA0060D242}="IPM.Meeting.Reschedule"

有关详细信息,请参阅 将窗体安装到库中

另请参阅

开发 MAPI 表单服务器