有没有办法为 Outlook(2013)创建规则,该规则将在将邮件移动到特定文件夹后运行?
动机:我需要制定规则,将邮件从特定地址移动到特定文件夹并将其标记为已读。此规则很简单,但有一个很大的缺点:此规则必须是客户端专用的 - 仅在 Outlook Windows 应用程序运行时才运行。因此在移动设备上,您的收件箱中会一片混乱。所以我需要一条服务器规则来将邮件移动到文件夹 - 完成。还有一条规则让它们被读 - 并且必须在将邮件移动到文件夹后触发此规则。
多谢
答案1
没有直接使用规则的方法。您可以拥有服务器端“移动”规则,但 Outlook 规则不会在除收发邮件以外的事件上触发。
您真正能做的是创建一个 VBA 脚本,该脚本将触发该特定“完成”文件夹中的新项目并将这些项目标记为已读。但这只会在客户端上执行。如下所示(针对 Inbox\DONE 子文件夹):
Public WithEvents FolderItems As Outlook.Items
Private Sub Application_Startup()
Set FolderItems = Session.GetDefaultFolder(olFolderInbox).Folders("DONE").Items
End Sub
Private Sub FolderItems_ItemAdd(ByVal Item As Object)
On Error Resume Next
If Item.UnRead Then
Item.UnRead = False
Item.Save
End If
End Sub
最复杂的方法是创建一个服务器端工具来监视这个“完成”文件夹并定期将项目标记为已读,这可以以 Windows 服务的形式完成,也可以仅使用 Windows Scheduler 运行独立脚本。您也可以为此使用第三方工具。