Inbox management and EWS in Exchange
了解如何使用收件箱规则和阻止发件人列表在 EWS 托管 API 或 EWS 应用程序中管理收件箱。
Exchange 邮箱具有帮助用户自动组织其传入邮件的功能。 这些功能都在服务器上运行,无需用户干预,但它们满足不同的需求。 EWS 托管 API 和 EWS 提供对这些功能的访问权限,使用户能够管理其收件箱。
表 1. 收件箱管理功能
若要… | 使用。。。 |
---|---|
根据特定条件 (发件人、主题或附件) 对传入邮件 (执行操作,例如将它们移动到另一个文件夹或删除它们) |
收件箱规则 |
删除来自特定发件人的所有传入邮件 |
阻止发件人列表 |
收件箱规则
让我们面对现实:并不是每个电子邮件的创建都是平等的。 对于用户从其经理那里收到的每封电子邮件,他(她)几年前加入的互联网猫视频通讯组列表中都有一封电子邮件,但从未离开过。 虽然 Internet 猫视频很有趣,但通讯组列表获得的流量可能会失利,并且重要邮件很容易在收件箱中的通讯组列表邮件中丢失。 许多用户转向收件箱规则来帮助减少这些邮件,并使他们的收件箱成为一个好多的地方。 借助 Exchange Web Services (EWS) ,应用程序可以发挥规则的强大功能。
EWS 托管 API 提供 ExchangeService.GetInboxRules 和 ExchangeService.UpdateInboxRules 方法,用于处理规则。 EWS 提供 GetInboxRules 和 UpdateInboxRules 操作,用于处理规则。 但请注意,使用收件箱规则时,EWS 托管 API 和 EWS 具有以下限制:
EWS 无法访问或创建在 Outlook 中设置为“仅在此计算机上”运行的“仅客户端”规则或规则。
若要使用 EWS 更改当前规则集,必须删除 Outlook 规则 BLOB(如果存在)。 这意味着,使用 EWS 修改规则会删除以前关闭 (使用 Outlook 禁用) 的所有规则。
规则的工作原理是什么?
规则引擎充当用户邮箱的守护程序。 当邮件到达用户邮箱时,在邮件显示在“收件箱”中之前,会根据规则的有序列表评估该邮件。 请注意,这种情况仅在到达时发生,并且仅在收件箱中发生。 这些规则由三个部分组成: 条件、 操作和 异常。
从规则列表顶部的规则开始,规则引擎将执行以下步骤,直到到达规则列表的末尾:
检查邮件以确定它是否满足规则中指定的所有条件。
如果满足所有条件,则评估将继续执行步骤 2。
如果它不满足所有条件,规则引擎将加载规则列表中的下一个规则,并在步骤 1 中重新启动。
检查消息以确定它是否满足规则中指定的任何异常。
如果它满足任何例外,规则引擎将加载规则列表中的下一个规则,并在步骤 1 中重新启动。
如果它不满足任何异常,则评估将继续执行步骤 3。
对邮件执行规则中指定的操作。
如果指定了“停止处理更多规则”操作,则规则引擎将对该消息执行所有其他操作,然后退出而不评估针对该消息的任何其他规则。
如果未指定“停止处理更多规则”操作,规则引擎将在规则列表中加载下一个规则,并在步骤 1 中重新启动。
下图显示了规则引擎遵循的过程。
图 1:规则引擎概述
将各个部分放在一起 - 规则的一部分
可视化规则各部分的一种方法是假设你正在向负责组织传入电子邮件的人员提供指令。 你可能会对此人说:“当消息到达<并在此处>插入条件时,请在此处>插入<操作,除非此处插入消息<例外>。 让我们仔细看看每个部分。
条件
条件 描述何时应应用规则。 虽然可以省略规则的条件 (导致规则适用于) 收到的每封邮件,但规则具有适用于传入邮件子集的条件更为常见。 一些示例包括“当邮件来自 Sadie 时”或“当邮件发送到'Cat 视频爱好者'通讯组列表时”。 规则可以有多个条件。 当规则具有多个条件时,必须满足所有条件,规则引擎才能执行指定的操作。
操作
操作 描述应用规则时发生的情况。 示例包括“将邮件移动到'Cats'文件夹”或“将邮件标记为'低'重要性”。 规则可以有多个操作。 为一个规则指定多个操作时,将在应用规则时执行所有操作。
例外
例外 描述何时不应应用规则,即使满足条件中指定的条件。 示例包括“除非消息仅发送给我”或“除非邮件来自 Mom”。 一个规则可以有多个例外。 如果规则具有多个例外,并且满足任何例外,则不会应用该规则。
示例:牧那些猫
让我们看看用户如何使用规则来消除来自该 Internet cat 视频通讯组列表的流量。 假设以下内容:
这些消息将发送到名为“Internet Cat 视频爱好者”的通讯组列表。
用户最终想要阅读这些邮件,他们只是不希望他们使收件箱变得混乱。 他们宁愿将它们放在一个名为“Cats”的文件夹中。
用户希望立即阅读其母亲发送到此通讯组列表的邮件,因为妈妈发送了最有趣的视频。
这会告知规则引擎以下内容:“当邮件到达并发送到'Internet Cat 视频爱好者'通讯组列表时,请将其移动到'Cats'文件夹,除非邮件来自 Mom。
表 2. 规则定义
规则部件 | 值 |
---|---|
条件 |
发送到“Internet Cat 视频爱好者”通讯组列表 |
操作 |
将邮件移动到“Cats”文件夹 停止处理更多规则 |
例外 |
从“妈妈” |
注意
请注意,“停止处理更多规则”是生成的规则中的操作之一。 一般情况下,最好包含此操作,以避免混淆哪些规则对任何给定消息起作用。 但是,通过省略此操作并正确排序规则,可以实现对传入邮件的更高级处理。 在这种情况下,Internet cat 视频消息不需要太多高级处理方式,这可能是一个安全的赌注。
创建此规则后不久,将传入一条新消息。 同事希望将消息发送到通讯组列表。 如果我们在心理上执行规则引擎的工作,则消息满足 (发送到“Internet Cat 视频爱好者”) 的所有条件,并且它不满足任何例外, (它不是来自“Mom”) ,因此规则适用,并将邮件移动到“Cats”文件夹。
下图显示了如何将规则应用于传入邮件。
图 2. 传入邮件由规则处理
阻止发件人
虽然可以创建一个规则,将所有邮件从特定发件人移动到“垃圾邮件”文件夹,但也可以使用“垃圾邮件 Email”选项中的“阻止发件人列表”执行此操作。 由于用户可以拥有的规则数有限制,因此使用阻止的发件人列表是有意义的。 可以使用 ExchangeService.MarkAsJunk EWS 托管 API 方法或 MarkAsJunk EWS 操作在阻止的发件人列表中添加或删除特定电子邮件地址。 请注意,为了让 EWS 访问阻止的发件人列表,用户的邮箱必须包含来自要添加或删除的电子邮件地址的电子邮件。