![Outlook 2010 规则仅基于收件人字段(忽略抄送字段)](https://linux22.com/image/1421566/Outlook%202010%20%E8%A7%84%E5%88%99%E4%BB%85%E5%9F%BA%E4%BA%8E%E6%94%B6%E4%BB%B6%E4%BA%BA%E5%AD%97%E6%AE%B5%EF%BC%88%E5%BF%BD%E7%95%A5%E6%8A%84%E9%80%81%E5%AD%97%E6%AE%B5%EF%BC%89.png)
已经有类似的问题,但它对我来说不起作用,因为我不是直接收件人(我是一个团体的成员)。
我正在尝试为收到的消息设置一条新规则。假设我们有
# GroupA
# GroupB
收到一条消息
TO: # GroupA
CC: # GroupB
我设定了一条规则,内容是:
邮件到达后应用此
规则# 组 B
将其移至到组B文件夹
但这检测到# 组 B作为收件人,因此它将消息移动到 到组B文件夹,这不是我想要的。我可以制定一条仅基于收件人字段的规则吗?
答案1
Outlook 内置规则无法区分收件人和抄送。您需要一个 VBA 脚本来实现这一点。
要使用此类脚本,请创建一个规则,条件为“发送给个人或群组”,输入要过滤的地址。此规则仅适用于地址位于收件人或抄送字段的邮件。脚本将检查收件人字段中的地址或别名,只有找到后才将邮件移动到收件箱的子文件夹中。
使用运行脚本操作创建规则,选择与以下(未经测试的)脚本类似的脚本:
Sub MoveMail(Item As Outlook.MailItem)
Dim strID As String
Dim objMail As Outlook.MailItem
strID = Item.EntryID
Set objMail = Application.Session.GetItemFromID(strID)
If objMail.To = "GroupA" Then
objMail.Move Session.GetDefaultFolder(olFolderInbox).Folders("subfolder-name")
End If
Set objMail = Nothing
End Sub
来源 :将抄送的邮件移动到地址。
请注意MailItem.To 属性 返回收件人的显示名称的分号分隔字符串列表。如果有多个收件人,则需要更多 VBA。
答案2
不幸的是,如果不使用 VBA 宏(针对每条消息运行并模仿规则)或服务器端技巧(例如为所需消息设置自定义类别/属性/标志),您就无法做到这一点。