Searching inside MSG and EML files

Follow this guide to perform searches for any words in the subject, body, attachments, sender name, recipients of MSG and EML files. Searching content and attachments of EML and MSG files saved to network share and local drive.

Search basics

  • The search tool uses wildcard matching searches when you type in a number, word or phrase in the Search box at the top of the message list. For example, if you type mail into the Search box, it will return messages that contain mail, Mail, gmail, and E-mails. By default, searches are case-insensitive. To make your search case-sensitive, check the checkbox Match case in Search options.
  • When you type specific words to include in the search, software scans both email messages and embedded email attachments (.msg, .eml files).
  • When you type in an email address, the search tool will return all messages that contain that email address anywhere in the sender name, subject, message body, or attachments. To limit your search results to emails from an email address, type from:sender@email.com in the search box.

Search MSG files

There are a few ways to perform the search inside .msg and .eml files. Instant search and Built-in filters helps you quickly find emails in .msg and .eml files without Outlook.

Instant search

Search text in visible grid columns only and draws a highlight box around any substring that matches it’s given text.

  1. Click search field drop down (in the upper-right) and go to Search Options...
  2. Select Instant Search and Highlight the words that I search for, click Ok.
  3. Type the search words in the search field and press Enter.
  4. Results will be displayed in the search window as they're found.
Instant search inside .msg files

Built-in filters

MSG EML Viewer provides you with a number of built-in search filters. Based on your preference, you can use predefined Filter Email criteria by clicking dropdown and selecting one of the folowing: Unread, Has Attachments and etc.

Filter .msg files

Alternatively, you can right click on a column's header, a Filtering menu item will be presented. Select one or more distinct values from that column. When click "Apply", only those rows that have one of the chosen values for that column will be displayed.

Excel-like filtering

Advanced search inside MSG files

In addition to searching for different words, phrases and date range, advanced search allows you to use various boolean operators, punctuation and keywords to narrow your search results.

  1. Click search field drop down (in the upper-right) and go to Search Options...
  2. Select Advanced Search and click Ok.
  3. Type the search query in the search field and press Enter.
  4. Results will be displayed in the search window as they're found.

Search reference tables

The following table shows you some examples of searches you might find useful. In addition to these examples, you can use AND, OR, NOT, ALL, ATLEASTONE, NEITHER, NOTALL, ?, *, <, >, =, and other operators to refine your search. Operators should be typed in uppercase letters.

Type this To find this
subject:"Project meeting" Items whose subject contains the phrase Project meeting.
from:="bobby moore" Items whose sender name equals bobby moore.

Note the use of the "equals" comparison operator (=).
from:(=bobbymoore@contoso.com OR "bobby moore") Items in which the e-mail address equals bobbymoore@contoso.com OR sender name contains bobby moore.

Note the use of parentheses to group the display name and email address.
from:(=bobbymoore@contoso.com OR "CN=BOBBYMOORE") Items in which the e-mail address equals bobbymoore@contoso.com OR Exchange x.500 address contains CN=BOBBYMOORE.

The Active Directory/Exchange x.500 email address is an address used internally on Exchange servers:
/O=ORGANIZATION.NAME/OU=EXCHANGE ADMINISTRATIVE GROUP/CN=BOBBYMOORE
to:mike OR cc:mike OR bcc:mike Items in which the display name mike is on the To or Cc or Bcc line .
received:>=2021-03-23 AND received:<=2021-04-23 Search for items that arrived between March 23, 2021 and April 23, 2021.
sent:=4/1/21 Search for items sent on April 1, 2021.
body:agenda Items that contains agenda within its contents.
messageclass: IPM.Contact Display only contact items.

IPM.Note - Email messages
IPM.Note.SMIME - both signed/encrypted messages
IPM.Task - Tasks
See more Item Types and Message Classes
messagesize:<=500 KB Items whose size is less or equal than 500 kilobytes.

Note: B, KB, MB, GB, TB units are allowed.
read:no Items that have not been read. You can also use read:false to get the same results.
hasattachment:yes Items that have attachments. You can also use hasattachment:true to get the same results.
entryid: 00BF4FEA0B6AD6C14A858DE8B724A95200 Find an item by PR_ENTRYID (PidTagEntryId). A hexadecimal search string is used.
id: >=52A924 Find items by PR_INSTANCE_KEY (PidTagInstanceKey) or PR_RECORD_KEY (PidTagRecordKey). A search is performed using a hexadecimal number.
attachments:ATLEASTONE("pdf", "txt", "zip") Items that have attachments with extension pdf or txt or zip

Note the use of ATLEASTONE function.
ALL(messagesize:<=100kb, hasattachment:yes,
ATLEASTONE(attachments: "txt", attachments: "pdf"))
Items less than 100KB in size with attachments with the extension txt or pdf.
Visual search tree
  • Press F1 in the search box to show the search tree
Visual search tree
  • Press F1 in the grid to clarify why a message was found

Using Regular Expressions

When searching for a text string that contains wildcards (*, ?) or white spaces, the software automatically converts them into their equivalent regular expression patterns. Additionally, a minimal set of characters (\, +, |, {, [, (,), ^, $, ., #) in your search query is replaced with their escape codes. To match a character with special meaning such as (*, ?, "), you need to use an escape sequence prefixed with a backslash (\).

Use the @ special character to initiate a regex search with your specific regular expression pattern. The @ special character serves as a verbatim identifier, indicating that a string literal is to be interpreted verbatim.

Type this To find this
@"(?:\"50%\" rebate\*)" "50%" rebate*

License: Check the order page of your product to verify if regular expression search is available in your license plan.

Please note that while most regular-expression searches can be executed very quickly, it's important to be aware that regular expressions can be constructed in a way that consumes arbitrary amounts of time and memory during processing.

Facebook Email

See Also

MSG EML Viewer

Browse and view .msg and .eml files. Support for email files from Microsoft Outlook, Thunderbird, Gmail, Apple Mail, Windows Mail and more.

Boolean Search Syntax

This guide explains boolean search operators, functions and wildcards (AND, OR, NOT, ALL, ATLEASTONE, NEITHER, NOTALL, ?, *)