web-dev-qa-db-ja.com

Outlook検索フォルダ:表示名ではなく、実際の電子メールアドレスを検索します

送信者または受信者の実際の電子メールアドレスを検索して電子メールを見つけるOutlook検索フォルダが必要です。たとえば、ドメインexample.comの送信者からのすべてのメッセージを検索する場合、検索条件を使用しますFrom ... @ example.com

enter image description here

ただし、検索では@example.comは送信者の表示名に表示されます(例:From:John Doe <[email protected]>)。名前に電子メールアドレスが含まれていない場合、電子メールは検索結果に表示されません。

アドレスが表示名にない場合でも、実際のTo/From/CC電子メールアドレスに基づいて電子メールを検索するにはどうすればよいですか?


私が試したこと:

  • Advancedタブで利用可能なすべてのフィールドを確認しました。 「From」、「To」などのフィールドが表示されますが、同じように機能します。
  • 私は this post を見つけました。これは、[件名]フィールドとメッセージ本文を検索することを示唆しています...しかし、それは非常に信頼できません。
  • グーグル...しかし、私がすでにやっていることをする方法を教えてくれる10億の結果があります。

送信者または受信者の実際の電子メールアドレスを検索して電子メールを見つけるOutlook検索フォルダが必要です。

Senderの実際の電子メールアドレスに基づいて電子メールを検索するように検索フォルダーを構成することができます(以下を参照)。ただし、To、Cc、またはBccフィールドの実際の電子メールアドレスを公開することはできません。理由の説明は、この回答の最後にあります。

送信者の実際の電子メールアドレスで検索するように検索フォルダーを構成する

注:これらの手順はOffice 2013向けに記述されていますが、解決策は少なくともOutlook 2007以降で動作するはずです。

手順A:フォームを使用してOutlookにカスタムの「送信者の実際の住所」フィールドを追加する

次の手順では、送信者の実際の電子メールアドレスを使用してOutlookに新しいフィールドを追加するカスタムフォームを作成します。

  1. 次のカスタムOutlookフォーム構成をファイル名_FromEmailAddress.cfg_で保存します。

    _[Description] 
    MessageClass=IPM.Note
    CLSID={00020D31-0000-0000-C000-000000000046} 
    DisplayName=From Email Address 
    Category=Standard 
    Subcategory=Form 
    Comment=This forms is used to expose a sender's actual email address.
    LargeIcon=notel.ico
    SmallIcon=notes.ico 
    VersionMajor=1
    VersionMinor=0
    Locale=enu 
    Hidden=1 
    Owner=Microsoft
    [Platforms]
    Platform2=NTx86
    Platform9=Chicago
    [Platform.NTx86]
    CPU=ix86
    OSVersion=WinNT3.5
    [Platform.Chicago]
    CPU=ix86
    OSVersion=Win95
    [Properties] 
    Property01=FromEmailAddress
    [Property.FromEmailAddress] 
    ;PropTag=PR_SENDER_EMAIL_ADDRESS, 0x0C1F001E
    Type=30     ; 001E = 30 in decimal
    NmidInteger=0xc1f   ; 0C1F
    DisplayName=From E-mail Address 
    [Verbs] 
    Verb1=1 
    [Verb.1] 
    DisplayName=&Open 
    Code=0 
    Flags=0 
    Attribs=2 
    [Extensions] 
    Extensions1=1 
    [Extension.1] 
    Type=30 
    NmidPropset={00020D0C-0000-0000-C000-000000000046} 
    NmidInteger=1 
    Value=1000000000000000
    _
  2. _FromEmailAddress.cfg_を、次の場所にある言語固有のMicrosoft OfficeのFormsフォルダーにコピーします。
    C:\Program Files (x86)\Microsoft Office\OfficeXX\FORMS\<LanguageID>

    • _<OfficeXX>_はバージョン番号を含むOfficeフォルダーです(例:Office 2013の場合は_Office15_)。
    • _<LanguageID>_は4桁の言語IDです(英語の場合は_1033_など)。

      注:このフォルダにファイルを保存するには、管理者権限が必要です。
      注:32ビットOSまたは64ビットバージョンを使用している場合、Officeは_C:\Program Files_にインストールされている可能性があります64ビットOSのOfficeの。

  3. OutlookのリボンのFileタブで、Optionsをクリックします。

  4. 左側のペインでAdvancedをクリックし、Developersグループでカスタムフォーム...enter image description here
  5. オプションダイアログで、フォームの管理...をクリックします
  6. Forms Managerダイアログで、Install ...enter image description here
  7. _FromEmailAddress.cfg_ファイルを保存したフォルダーに移動して選択し、Openをクリックします。
  8. [〜#〜] ok [〜#〜]をクリックし、表示されたフォームのプロパティウィンドウをクリックします。次に閉じる[〜#〜] ok [〜#〜]2回Outlookオプションを閉じます。

これへのクレジット slipstick.comの記事 送信者の実際の電子メールアドレスをフィールドとして公開する方法についての情報

手順B:検索フォルダの条件でカスタムの「From Email Address」フィールドを使用する

これらの手順では、新しく作成されたフィールドを検索フォルダの基準として利用します。

  1. ((//// =)Search Folder Criteria)ダイアログボックスの(Advanced)タブで、Fieldドロップダウン、次にForms ...をクリックします
    enter image description here
  2. 左側のペインでFrom Email Addressを選択し、Add->をクリックしてから、 閉じるenter image description here
  3. フィールドドロップダウンをもう一度クリックし、From Email Addressをポイントしてから、フライアウトメニューのFrom E-mail Addressをクリックします。
    enter image description here
  4. 目的の条件と値を指定して、リストに追加をクリックし、次に[〜#〜] ok [〜#をクリックします〜]をクリックしてダイアログを閉じます。 enter image description here

実際の宛先、CC、およびBCCの電子メールアドレスは、検索フォルダーの基準として使用できません...

Outlookの他の事前定義フィールドの徹底的な検索 Outlookのオブジェクトモデルを通じて利用可能なMAPIフィールド 、および OutlookSpy によって公開されるプロパティのレビューにより、これらを公開するフィールドがないことが明らかになります電子メールアドレスas textPR_MESSAGE_RECIPIENTS プロパティがありますが、残念ながら、これは各受信者を個別のアイテムとして含むオブジェクトです。 (上記のカスタムフォームメソッドを使用して)ネイティブにアクセスしても何も返されません。

...ほとんど役に立たない例外がある

これからVBAを使用する slipstick.com記事 ユーザー定義フィールド(UDF)を、_[email protected], [email protected]_形式の受信者の電子メールアドレスを含む単一の文字列を含むメッセージに追加できました。ただし、検索フォルダーの詳細基準のフィールドリストでUDFを選択すると、受信トレイで定義されたUDFのみが使用可能になります。

enter image description here

カスタムフィールドが入力されたメッセージが受信トレイに存在する場合、それらは検索フォルダによって検索されます。ただし、他のフォルダにあるそのようなメッセージは結果に含まれません。検索フォルダが受信ボックスのみに関心がある場合を除き、これはかなり役に立たないものです。

UDFが検索フォルダの条件で機能しない理由は、 herehere および here に記載されています。

事前定義されたフィールドは依然として「最良の」ソリューションです

To:Cc:、およびBcc:フィールド、検索フォルダ基準で事前定義されたフィールドを使用し、希望実際の電子メールアドレスは表示名の一部です(多くの場合)。

残念ながら、検索フォルダを使用してそれを行うことはできません。回避策として、フィルタービューを使用できます。

  1. 新しいOutlookフォルダービュー([リボンの表示]タブ)を作成します。
  2. [SQL]タブで作成したビューのフィルターを指定します。
    "http://schemas.Microsoft.com/mapi/proptag/0x5D02001F" LIKE '%@example.com'

x5D02001Fプロパティは、PR_SENT_REPRESENTING_SMTP_ADDRESS MAPIプロパティです。必要に応じて、AND/ORを使用してチェックするプロパティをさらに追加することもできます。

別の方法(ユーザー定義フィールドを使用)

  1. 受信トレイを開き、ユーザー定義フィールドを作成します。
    1.1。 Viewリボンタブで、View Settingsボタンをクリックします。
    1.2。 詳細表示設定ウィンドウで、列...ボタンをクリックします。
    1.3。 Show Columnsウィンドウで、New Column ...ボタンをクリックします。
    1.4。 新しい列ウィンドウで、目的の名前を入力し(たとえば、引用符なしの「Sender Email」)、TypeおよびFormatasText
    1.5。クリック[〜#〜] ok [〜#〜][〜#〜] ok [〜#〜 ][〜#〜] ok [〜#〜]すべてのダイアログで確認します。

  2. VBAまたはサードパーティのソフトウェアを使用して、メールボックス内のすべてのメッセージの0x5D02001FプロパティをSender Emailプロパティにコピーします。 VBAの重要な部分は次のとおりです(プロパティをコピーするスクリプトを作成する場合)。

... ' for each objMailItem get the value of 0x5D02001F property
Set objProp = objMailItem.UserProperties.Add("Sender Email", 1, False)
objProp.Value = ... ' The value of 0x5D02001F property
  1. カスタム検索フォルダーを作成し、AdvancedタブでCriteriaを指定します。 フィールド->受信トレイのユーザー定義フィールド->送信者メールには@ example.comが含まれます。

それはほとんどそれのです。メールボックス全体に最適です。

1
thims

カスタムフォームを作成せずに検索フォルダーのTo/From/Cc/Bccフィールドを使用して空想的な検索を行うことはできませんが、「-からのメール」を使用して特定のドメインの送信者を検索するための 回避策 があります。特定の人々」オプション。 (これは、「特定のユーザーからのメールと特定のユーザーへのメール」オプションでも機能します。)

  1. 検索フォルダを作成するときは、[新しい検索フォルダ]ダイアログで特定のユーザーからのメールを選択します。次にChoose…ボタンをクリックします

    New Search Folder dialog

  2. From->ボックスに、検索するドメインを次の形式で入力します:@domain.com。複数のドメインを含めるには、セミコロン(;)。

    Select Names dialog

0
Worthwelle