如何在 Outlook 中自动移动具有特定抄送收件人的电子邮件

立即分享:

实际上,大多数人可能都希望创建一个 Outlook 规则,自动移动包含特定抄送收件人的电子邮件。但是 Outlook 规则不支持检查抄送收件人。因此,本文将教您如何使用 Outlook VBA 实现此功能。

显然,您不可能创建 Outlook 规则来搜索特定的抄送收件人。 如下截图所示,对于收到的邮件,只能查看抄送箱中是否有自己的名字。 同样,对于已发送的电子邮件,即使没有勾选抄送框的规则条件。无条件寻找抄送收件人

因此,如果您想将 Outlook 配置为自动移动具有特定抄送收件人的电子邮件,您必须寻求其他方法。 然后。 在这里我们将教您如何通过Outlook VBA实现它。

自动移动具有特定抄送收件人的已发送电子邮件

  1. 首先,转到“开发人员”选项卡并单击“Visual Basic”按钮。
  2. 然后打开“ThisOutlookSession”项目并将以下VBA代码复制到其中。
Public WithEvents olItems As Outlook.Items

Sub Application_Startup()
    Set olItems = Session.GetDefaultFolder(olFolderSentMail).Items
End Sub

Sub olItems_ItemAdd(ByVal Item As Object)
    If Item.Class = olMail Then
       MoveMail Item
    End If
End Sub

Sub MoveMail(Mail As Outlook.MailItem)
    Dim ccRecip As String
    Dim desFolder As Folder
 
    'Replace "test" with your desired CC'd recipient name or address
    ccRecip = "test"
    'The "Test" folder is a subfolder under "Sent Items" folder
    Set desFolder = Session.GetDefaultFolder(olFolderSentMail).Folders("Test")
 
    If InStr(LCase(Mail.CC), ccRecip) > 0 Then
       Mail.Move desFolder
    End If
End Sub

自动移动具有特定抄送收件人的已发送电子邮件

  1. 随后,您应该继续签署此代码并像往常一样更改宏设置。
  2. 最后,您可以退出“Visual Basic”窗口。 此后,具有特定 CC 收件人的电子邮件将被移动到指定的邮件文件夹。

自动移动接收到的具有特定抄送收件人的电子邮件

既然上面的 VBA 代码旨在移动具有特定 CC 收件人的已发送电子邮件,如果您想在收到的电子邮件中查找特定的 CC 收件人然后移动它,您应该改用以下代码。

Public WithEvents olItems As Outlook.Items

Sub Application_Startup()
    Set olItems = Session.GetDefaultFolder(olFolderInbox).Items
End Sub

Sub olItems_ItemAdd(ByVal Item As Object)
    If Item.Class = olMail Then
       MoveMail Item
    End If
End Sub

Sub MoveMail(Mail As Outlook.MailItem)
    Dim Recips As Recipients
    Dim Recip As Recipient
    Dim ccRecip As String
    Dim desFolder As Folder
 
    Set Recips = Mail.Recipients
    'Replace "test" with the specific words in your desired CC recipient address
    ccRecip = "test"
 
    For Each Recip In Recips
        If Recip.Type = olCC Then
           If InStr(LCase(Recip.Address), ccRecip) > 0 Then
              'The "Test" folder is a subfolder under "Inbox" folder
              Set desFolder = Session.GetDefaultFolder(olFolderInbox).Folders("Test")
              Mail.Move desFolder
           End If
        End If
    Next
End Sub

自动移动接收到的具有特定抄送收件人的电子邮件

为 Outlook 损坏做好充分准备

尽管 Outlook 功能丰富,但它仍然无法避免损坏。 因此,您应该对所有潜在风险保持警惕。 毫无疑问,关键步骤必须是对 Outlook 数据进行一致且最新的备份。 此外,您应该保留一个 损坏的 Outlook 恢复工具 在附近。 如果备份和 Scanpst.exe 都失败,它将派上用场。

作者简介:

Shirley Zhang 是一位数据恢复专家 DataNumen, Inc.,它是数据恢复技术领域的世界领先者,包括 修复 SQL Server mdf文件错误 和 outlook 修复软件产品。 欲了解更多信息,请访问 datanumen.com

立即分享:

评论被关闭。