送信者または受信者の実際の電子メールアドレスを検索して電子メールを見つけるOutlook検索フォルダが必要です。たとえば、ドメインexample.comの送信者からのすべてのメッセージを検索する場合、検索条件を使用しますFrom ... @ example.com:
ただし、検索では@example.com
は送信者の表示名に表示されます(例:From:John Doe <[email protected]>)。名前に電子メールアドレスが含まれていない場合、電子メールは検索結果に表示されません。
アドレスが表示名にない場合でも、実際のTo/From/CC電子メールアドレスに基づいて電子メールを検索するにはどうすればよいですか?
私が試したこと:
送信者または受信者の実際の電子メールアドレスを検索して電子メールを見つけるOutlook検索フォルダが必要です。
Senderの実際の電子メールアドレスに基づいて電子メールを検索するように検索フォルダーを構成することができます(以下を参照)。ただし、To、Cc、またはBccフィールドの実際の電子メールアドレスを公開することはできません。理由の説明は、この回答の最後にあります。
注:これらの手順はOffice 2013向けに記述されていますが、解決策は少なくともOutlook 2007以降で動作するはずです。
次の手順では、送信者の実際の電子メールアドレスを使用してOutlookに新しいフィールドを追加するカスタムフォームを作成します。
次のカスタム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
_
_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の。
OutlookのリボンのFileタブで、Optionsをクリックします。
FromEmailAddress.cfg
_ファイルを保存したフォルダーに移動して選択し、Openをクリックします。これへのクレジット slipstick.comの記事 送信者の実際の電子メールアドレスをフィールドとして公開する方法についての情報。
これらの手順では、新しく作成されたフィールドを検索フォルダの基準として利用します。
Outlookの他の事前定義フィールドの徹底的な検索 Outlookのオブジェクトモデルを通じて利用可能なMAPIフィールド 、および OutlookSpy によって公開されるプロパティのレビューにより、これらを公開するフィールドがないことが明らかになります電子メールアドレスas text。 PR_MESSAGE_RECIPIENTS プロパティがありますが、残念ながら、これは各受信者を個別のアイテムとして含むオブジェクトです。 (上記のカスタムフォームメソッドを使用して)ネイティブにアクセスしても何も返されません。
これからVBAを使用する slipstick.com記事 ユーザー定義フィールド(UDF)を、_[email protected], [email protected]
_形式の受信者の電子メールアドレスを含む単一の文字列を含むメッセージに追加できました。ただし、検索フォルダーの詳細基準のフィールドリストでUDFを選択すると、受信トレイで定義されたUDFのみが使用可能になります。
カスタムフィールドが入力されたメッセージが受信トレイに存在する場合、それらは検索フォルダによって検索されます。ただし、他のフォルダにあるそのようなメッセージは結果に含まれません。検索フォルダが受信ボックスのみに関心がある場合を除き、これはかなり役に立たないものです。
UDFが検索フォルダの条件で機能しない理由は、 here 、 here および here に記載されています。
To:、Cc:、およびBcc:フィールド、検索フォルダ基準で事前定義されたフィールドを使用し、希望実際の電子メールアドレスは表示名の一部です(多くの場合)。
残念ながら、検索フォルダを使用してそれを行うことはできません。回避策として、フィルタービューを使用できます。
"http://schemas.Microsoft.com/mapi/proptag/0x5D02001F" LIKE '%@example.com'
x5D02001Fプロパティは、PR_SENT_REPRESENTING_SMTP_ADDRESS MAPIプロパティです。必要に応じて、AND/ORを使用してチェックするプロパティをさらに追加することもできます。
別の方法(ユーザー定義フィールドを使用)
受信トレイを開き、ユーザー定義フィールドを作成します。
1.1。 Viewリボンタブで、View Settingsボタンをクリックします。
1.2。 詳細表示設定ウィンドウで、列...ボタンをクリックします。
1.3。 Show Columnsウィンドウで、New Column ...ボタンをクリックします。
1.4。 新しい列ウィンドウで、目的の名前を入力し(たとえば、引用符なしの「Sender Email」)、TypeおよびFormatasText。
1.5。クリック[〜#〜] ok [〜#〜]、[〜#〜] ok [〜#〜 ]、[〜#〜] ok [〜#〜]すべてのダイアログで確認します。
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
それはほとんどそれのです。メールボックス全体に最適です。
カスタムフォームを作成せずに検索フォルダーのTo/From/Cc/Bccフィールドを使用して空想的な検索を行うことはできませんが、「-からのメール」を使用して特定のドメインの送信者を検索するための 回避策 があります。特定の人々」オプション。 (これは、「特定のユーザーからのメールと特定のユーザーへのメール」オプションでも機能します。)