Rule 元素

指定应为此上下文邮件加载项评估的激活规则。

加载项类型: 邮件 (上下文)

重要

记录此元素或属性值是为了帮助开发者解决现有上下文 Outlook 加载项问题。建议不要新建上下文相关 Outlook 加载项。

  • 基于实体的上下文 Outlook 加载项现已停用。
  • 以前在上下文加载项中需要正则表达式规则的方案现在可以使用基于 事件的 Outlook 加载项来实现,这些加载项会被自动激活以响应创建新邮件或会议等事件。 JavaScript 内置了对正则表达式的支持,还可以引用提供高级正则表达式功能的 JavaScript 库。 与上下文加载项不同,基于事件的加载项可以在撰写上下文和读取模式下工作。

包含于

属性

属性 必需 说明
xsi:type 是 正在定义的规则类型。

规则的类型可以是下列类型之一:

ItemIs 规则

定义一个规则,如果所选项目以读取或撰写形式为指定类型,则计算结果为 true。 可以在清单中指定多个 ItemIs 规则。

属性

属性 必需 说明
ItemType 是 指定要匹配的项目类型。 可以是 Message 或 Appointment。 项目类型包括电子邮件、会议请求、会议响应和会议取消。
FormType 否(在 ExtensionPoint 内),是(在 OfficeApp 内) 指定应用应出现在项目的读取还是编辑表单中。 可以是以下值之一:Read、Edit、ReadOrEdit。 如果在 Rule 中 ExtensionPoint指定,则此值必须为 Read。
ItemClass 否 指定要匹配的自定义邮件类别。 有关详细信息,请参阅 项目类型和消息类。
IncludeSubClasses 否 指定当项目是指定邮件类别的子类时,该规则的计算结果是否应为 true;默认值为 false。

ItemType

下表描述Appointment了可以在属性中ItemType指定的项Message类型。

值 说明
约会 在 Outlook 日历中指定一个项目。 这包括已响应且具有组织者和与会者的会议项目,或没有组织者或与会者而只是日历上的项目的约会。 这与 Outlook 中的 IPM.Appointment 邮件类别相对应。
邮件 指定通常在收件箱中收到的以下项目之一。
  • 电子邮件。 这与 Outlook 中的 IPM.Note 邮件类别相对应。

  • 会议请求、响应或取消。 这对应于 Outlook 中的以下邮件类。

    IPM.Schedule.Meeting.Request

    IPM.Schedule.Meeting.Neg

    IPM.Schedule.Meeting.Pos

    IPM.Schedule.Meeting.Tent

    IPM.Schedule.Meeting.Canceled

示例

<Rule xsi:type="ItemIs" ItemType= "Message" />

ItemHasAttachment 规则

定义一个规则,如果已读形式的项目包含附件,则计算结果为 true。

示例

<Rule xsi:type="ItemHasAttachment" />

ItemHasKnownEntity 规则 (已弃用)

警告

<ItemHasKnownEntity> 元素现已弃用。 请改用 ItemHasRegularExpressionMatch 元素指定正则表达式规则。

定义一个当项目主题或正文中包含指定实体类型的文本时计算结果为 true 的规则。

属性

属性 必需 说明
EntityType 是 指定若想规则计算结果为 true 而必须存在的实体类型。 可以是以下值之一:MeetingSuggestion、TaskSuggestion、Address、Url、PhoneNumber、EmailAddress 或 Contact。
RegExFilter 否 指定一个针对此实体运行以进行激活的正则表达式。
FilterName 否 指定正则表达式筛选器的名称,以便随后能够在你的外接程序代码中引用该名称。
IgnoreCase 否 指定在匹配由 RegExFilter 属性指定的正则表达式时是否忽略大小写。
Highlight 否 注意:这仅适用于 ExtensionPoint> 元素中的<规则>元素。< 指定客户端应如何突出显示匹配的实体。 可以是以下值之一:all 或 none。 如果未指定,则默认值为 all。

示例

<Rule xsi:type="ItemHasKnownEntity" EntityType="EmailAddress" />

ItemHasRegularExpressionMatch 规则

定义一条规则,如果可以在读取形式的项的指定属性中找到指定正则表达式的匹配项,则该规则计算结果为 true。

若要了解如何实现该 ItemHasRegularExpressionMatch 规则,请参阅 上下文 Outlook 加载项。

属性

属性 必需 说明
RegExName 是 指定正则表达式的名称,以便你能够在外接程序的代码中引用该表达式。
RegExValue 是 指定将对其求值的正则表达式以确定是否应显示邮件外接程序。
PropertyName 是 指定正则表达式进行计算所依据的属性名称。 可以是以下值之一:Subject、BodyAsPlaintext、BodyAsHTML 或 SenderSMTPAddress。

如果指定 BodyAsHTML,则 Outlook 只会在项目正文为 HTML 时应用正则表达式。 否则,Outlook 将不会返回该正则表达式的匹配项。

如果指定 BodyAsPlaintext,则 Outlook 将始终对项目正文应用正则表达式。

重要提示:如果需要为<规则元素指定“突出>显示”属性,则必须将“PropertyName”属性设置为 BodyAsPlaintext。
IgnoreCase 否 指定在匹配由 RegExName 属性指定的正则表达式时是否忽略大小写。
Highlight 否 指定客户端应如何突出显示匹配的文本。 此属性只能应用于 ExtensionPoint> 元素中的<规则>元素。< 可以是以下值之一:all 或 none。 如果未指定,则默认值为 all。

重要提示:要在规则元素中<指定“突出>显示”属性,必须将“PropertyName”属性设置为 BodyAsPlaintext。

示例

<Rule xsi:type="ItemHasRegularExpressionMatch" RegExName="SupportArticleNumber" RegExValue="(\W|^)kb\d{6}(\W|$)" PropertyName="BodyAsPlaintext" IgnoreCase="true" Highlight="all" />

RuleCollection

定义一个规则集合以及在计算这些规则时要使用的逻辑运算符。

属性

属性 必需 说明
Mode 是 指定在计算此规则集时要使用的逻辑运算符。 可以是 And 或 Or。

示例

<ExtensionPoint xsi:type="DetectedEntity">
  <Label resid="Context.Label"/>
  <SourceLocation resid="DetectedEntity.URL" />
  <Rule xsi:type="RuleCollection" Mode="And">
    <Rule xsi:type="ItemIs" ItemType="Message"/>
    <Rule xsi:type="ItemHasRegularExpressionMatch" RegExName="videoURL" RegExValue="http://www\.youtube\.com/watch\?v=[a-zA-Z0-9_-]{11}" PropertyName="BodyAsPlaintext"/>
  </Rule>
</ExtensionPoint>

另请参阅