Outlook 2007:创建一个邮件规则,该规则检测自动转发的邮件并进行处理

dst*_*zak 5 email outlook rules forward

我正在寻找创建自动转发电子邮件规则的相反方法。我想创建一个规则,该规则对接收到的自动转发的电子邮件起作用,但不对同一个人手动转发或答复的任何电子邮件起作用。

例如,吉姆将主题中带有“ blah”的所有电子邮件转发给我,我想将这些自动转发移至“ Jim的自动转发”文件夹中,但是如果他手动向我转发一条消息,说“ blah”,但他会添加自己的电子邮件评论,我希望它保留在我的收件箱中。

Outlook似乎知道它是自动转发的,因为当您查看电子邮件时它会以这种方式显示。在“发件人”部分的上方,但在功能区的下方,内容如下:

"This message was AutoForwarded."
Run Code Online (Sandbox Code Playgroud)

但是我还没有找到创建过滤这些规则的任何选项。

nit*_*ton 1

我不认为规则可以做到这一点。

尝试一些 VBA。未经测试的

编辑2013年02月26日

将代码放入 ThisOutlookSession http://www.slipstick.com/outlook-developer/how-to-use-outlooks-vba-editor/

这里有一些参考,以便您可以在必要时进行调试。

NewMailEx:http://msdn.microsoft.com/en-us/library/office/bb147646 (v=office.12).aspx

自动转发属性:http://msdn.microsoft.com/en-us/library/office/ff867162.aspx

    Private Sub Application_NewMailEx(ByVal EntryIDCollection As String)
    Dim varEntryIDs
    Dim objItem
    Dim i As Integer

    Dim myOlApp As Outlook.Application
    Dim myNameSpace As Outlook.NameSpace
    Dim myInbox As Outlook.MAPIFolder
    Dim myDestFolder As Outlook.MAPIFolder

    varEntryIDs = Split(EntryIDCollection, ",")
    For i = 0 To UBound(varEntryIDs)
        Set objItem = Application.Session.GetItemFromID(varEntryIDs(i))

        'Debug.Print "NewMailEx " & objItem.Subject

        If objItem.SenderName = "Jim Smith" Then

            If objItem.AutoForwarded then

              Set myNameSpace = myOlApp.GetNamespace("MAPI")
              Set myInbox = myNameSpace.GetDefaultFolder(olFolderInbox)

              ' Assumes destination folder is directly under the Inbox
              Set myDestFolder = myInbox.Folders("Jim AutoForwarded")
              objItem.Move myDestFolder

            End If
        End If

   Next
   Set objItem = Nothing
   Set myDestFolder = Nothing
   Set myInbox = Nothing
   Set myNameSpace = Nothing
   End Sub
Run Code Online (Sandbox Code Playgroud)