5

メールを自動転送するルールを作成するのとは逆のようなものを探しています。RECEIVEDの自動転送された電子メールに作用するルールを作成したいのですが、同じ人が手動で転送または返信したものは作成しません。

たとえば、ジムは件名に「何とか」が含まれるすべてのメールを転送します。これらの自動転送を「ジムの自動転送」フォルダに移動したいのですが、彼が手動で「何とか」というメッセージを転送した場合、彼は自分のメッセージを追加します。コメント、受信トレイに残してほしい。

Outlookは、電子メールを表示すると自動転送されることを認識しているようです。「From」セクションのすぐ上、リボンのすぐ下には、次のように表示されます。

"This message was AutoForwarded."

ただし、これらをフィルタリングするルールを作成するオプションは見つかりませんでした。

4

3 に答える 3

2

私たちの Exchange サーバー (Outlook かな?) は、自動転送時に次のヘッダーを追加します。

Auto-Submitted: auto-generated
X-MS-Exchange-Generated-Message-Source: Mailbox Rules Agent

(メールを開いてメッセージの「プロパティ」を表示してヘッダーを表示すると表示されます)これらは、メッセージが自動転送されたことを検出するためにOutlookが使用しているもののようです(または少なくとも一致します)

また、Outlook/Exchange 2013 には、「メッセージ ヘッダーに指定された単語を含む」フィルター オプションがあります。

次のようなルールを使用して、「Jim」から自動転送された「何とか」件名のメッセージのみを特定のフォルダーに正常に移動しました。

Apply this rule after the message arrives
from 'jim@example.com'
 and with 'blah' or 'blurg' in the subject
 and with 'auto-generated' or 'Auto-Submitted' in the message heade
move it to the 'Jims auto-forwards' folder

そして、これは彼が手動で転送したものを同じルールで処理することを妨げているようです.

于 2015-09-07T03:36:42.773 に答える
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

AutoForwarded プロパティ: 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
于 2013-02-23T18:34:20.933 に答える