Advanced Search

This is a reference list that you can enter into the search box without having to open the “Advanced Search” window. This also contains keywords that are not directly available within Advanced Search.

Reference: Search keywords

subject: {text}
s: {text}
search for {text} in the subject
from: {text}
f: {text}
sender: {text}
search for {text} in the from field
account: {actname}
a: {actname}
restrict the search to a specific account named {actname}
Multiple accounts can be specified: account1 | account2 | etc.
Account names must match exactly (case-insensitive)
to: {text}
t: {text}
search for {text} in the to/cc/bcc fields
after: {YYYYMMDD} restrict search to messages that arrived after and including the date specified by YYYYMMDD
before: {YYYYMMDD} restrict search to messages that arrived before and including the date specified by YYYYMMDD
larger: {number} restrict search to message sizes larger than {number}
smaller: {number} restrict search to message sizes smaller than {number}
attach: {text} search the attachment names containing {text}
flag: {userflag} search for user flags with the name {userflag} (e.g. flag: watch)
status: {status} search for special message status. See the following list for acceptable {status} values:

{status} values:

  • new – ‘new’ messages
  • unread – ‘unread’ messages
  • read- ‘read’ messages
  • delete – Messages that are currently marked for deletion (trashcan icon)
  • removed – Messages that have been removed from the server (red-X icon)
  • hidden – Messages that are hidden
  • important – Messages that are marked as important
  • attach – Messages that have at least one attachment (paperclip icon)
  • highpriority – Messages that are marked as high priority by the sender
  • lowpriority – Messages that are marked as low priority by the sender
  • replied – Messages that you’ve replied to
  • forwarded – Messages that you’ve forwarded
  • reported – Messages that you’ve reported as spam
  • open – Messages that are currently open
  • junk – Messages that are considered junk
  • legit – Messages that are considered legitimate
  • unknown – Messages that are considered unknown
  • userjunk – Messages that you have marked as junk
  • userlegit – Messages that you have marked as legitimate
  • userunknown – Messages that you have not marked as junk or legitimate
  • evaljunk – Messages that were evaluated as junk
  • evallegit – Messages that were evaluated as legitimate
  • evalunknown – Messages that were evaluated as unknown


meeting time f: barry searches for the words ‘meeting’ and ‘time’ in messages from ‘Barry’
s: sale searches for the word ‘sale’ in the subject
attach: sched.doc f: joe searches for an attachment named ‘sched.doc’ from ‘Joe’
flag: watch returns messages with the “watch” user flag
status: open returns messages that are currently open (viewed)
note that this is not a dynamic search; opening or closing messages will not change the search results unless you re-perform the search
status:unread after:20200101 finds unread messages received since January 1, 2020

Mixed vs Whole word vs Partial matching (and using wildcards)

Mixed matching: This is the default. POP Peeper will first use whole word matching, but if the word does not exist, then it will use partial matching. For example, if you search for “operat” (which is not an English word), then the search engine will most likely produce results for “operate”, “operated”, “operation” and “operating”; but if you search for the word “operate”, then it will only return results for “operate” (because “operate” is an existing word). See the information for ‘whole word matching’ below for using the asterisk to force a partial match.

Whole word matching: A “whole word” match means that the word must match exactly. For example, if you search for “eve” it will only match the “eve” keyword and not words that contain “eve” (e.g. “seven” or “even”).

You may prepend or append an asterisk (*) to use partial matching. Note that using * in the middle of a keyword will not have expected results (ie. you should not search for “e*ve”).

Examples (whole word matching):
Searching for eve will find eve but not even, steve or seven
Searching for eve* will find eve and even, but not steve or seven
Searching for *eve will find eve and steve, but not even or seven
Searching for *eve* will find eve, even, steve and seven

Partial matching: Partial matching means that the word you’ve provided needs to be included “somewhere” in the message. For example, searching for “eve” will find matches for messages that contain “seven” or “even” even it if doesn’t explicitly contain the word “eve”.

If your default search method is partial matching, then the ‘*’ has the opposite effect of a wild card search — it will enforce whole word matching on the side of the asterisk. e.g. searching for *eve* will ONLY match eve, and not even, steve or seven; and searching for *eve will match eve and steve, but not even or seven.

Background indexing


Background indexing (not enabled by default) allows POP Peeper to index messages in the background so that it’s not performed on-demand when you want to do a search. Depending on the total number of messages you have, and the number of messages that need to be indexed, this can greatly improve how fast the search results are returned. However, it may also index messages that you would normally have deleted (currently, messages that have been indexed and subsequently removed from POP Peeper will only be removed from the search index when performing //maint//, which is not called automatically at this time).

If you store a lot of messages in POP Peeper and you perform searches regularly (e.g. at least once every few days), then enabling background indexing is probably beneficial.

Technical details:
POP Peeper will only start background indexing when POP Peeper is minimized, and POP Peeper must have been running for at least 5 minutes. When POP Peeper performs a background index, it will only use a single thread and uses a priority that should not affect your normal Windows experience. If a background index is in process when you start a search, POP Peeper will add additional threads if necessary and set the priority to their normal setting (which is “below normal”).

Special search actions


//clear// – Clears the current search results

//reset// – Deletes the search index database; it will be recreated the next time you search

//stats// {search-phrase} – Generates stats about the current search index database and related statistics; providing the optional {search-phrase} is recommended, otherwise the search time will be invalid

//stats-full// {search-phrase} – Includes additional statistics that take longer to process (such as keywords that appear in a large number of messages)

//maint// – Compacts the database and performs other maintenance, such as removing indexed messages that are no longer in POP Peeper’s message list.

//match:mixed// – Sets the default matching to mixed (default)

//match:whole// – Sets the default matching to whole word

//match:partial// – Sets the default matching to partial

//match:query// – Tells you if you’re using mixed, partial or whole-word matching

//threads=#// – Specify the number of threads to use when indexing (e.g. //threads=2//). Use //threads=0// to reset to the default, which adjusts the value based on your system’s hardware (between 1-4). Setting this value too high may have negligible or detrimental results.

//setidx_token:1// – EXPERIMENTAL; creates an index that may improve search operations, especially when multiple words are added to the search. NOTE: creating the search database will take longer and the database file size will be approximately 50% larger.

//setidx_token:0// – EXPERIMENTAL; deletes the index if you previously created it. Note that you should run //maint// after deleting the index to reclaim the space.

//background:#// – EXPERIMENTAL; enables (#=1) or disables (#=0) background indexing. Specifying no # resets the value to the default (ie. //background://).

Exclusion list

POP Peeper will filter out certain common words to avoid overloading the database with results that would ultimately only impact performance and not provide meaningful results. You can remove this list and/or add your own exclusions. Here’s a basic guide:

File location:

To make changes to the Exclusion list, edit the following file:
Where {poppeeper-datapath} is the base location that POP Peeper stores data (see main menu: Tools / Options / Storage).
This is typically: %userprofile%\AppData\Roaming\POP Peeper\PluginData\Search.ini In most cases, this file will not exist so you will need to create it.

Important: after making changes to search.ini, you must exit and restart POP Peeper. Then, you must reset the search database so that it can be re-indexed to include any changes that you’ve made — do this by entering //reset// into the search field.


To replace POP Peeper’s default IGNORE list, create a section called [Ignore] in the search.ini file. Below this line, type words that you want to exclude from the search database, one per line.


If you want to use POP Peeper’s default ignore list, but want to include additional words, create a section called [IgnoreExtra] in the search.ini file. Below this line, type words that you want to exclude from the search database, one per line.

Min/Max sized words

By default, POP Peeper excludes words that are 2 characters or less, and 20 characters or more (so only characters between 3-19, inclusively, are allowed). To change these values:

At the top of the search.ini file,
IgnoreSizeMin = ##
IgnoreSizeMax = ##

Example search.ini

IgnoreSizeMin = 1
IgnoreSizeMax = 50