Shubham Dixit, email forensics expert

Written by Jennifer Walsh. Reviewed for technical accuracy by Shubham Dixit, Independent Expert in Email Forensics and Data File Conversion.

Shubham is an independent external reviewer and not an employee of PCDOTS.

Quick answer. Outlook Express is long gone, so there is no Microsoft tool for this anymore. If you are technical, a PowerShell pattern search over your DBX files pulls addresses out for free, though the list comes back messy. An extractor reads the files properly, knows the header fields and dedupes the result.

Why DBX files are awkward now?

DBX is the mailbox format Outlook Express used, one file per folder, so you end up with Inbox.dbx, Sent Items.dbx and the rest sitting in a folder from an old machine. The problem is not the files, it is that the app which made them is gone. Microsoft retired Outlook Express years ago and no current version of Windows ships it, so the program that could open these natively is not something you can install today.

That is why guides tend to say there is no solution. Strictly, what is true is that there is no Microsoft route anymore. The addresses are still in the files, and there is more than one way to get at them. What you choose depends on how many you need and how tidy you want the result.

Addresses inside a DBXThree ways to reach them Outlook ExpressDiscontinuedNot on modernWindowsGONE >_PowerShellPattern searchFree, technicalMessy outputFREE, TECH ExtractorReads the formatKnows the fieldsDeduped listCLEAN BULK

The app that made these files is gone, but the addresses inside them are not.

Which route fits you?

If you are comfortable in a terminal and just want a rough list of everyone who ever appeared in the mailbox, the free route below will do it in one command. If you need a clean list you can actually use, one that separates senders from recipients, skips the junk and does not repeat the same address four hundred times, an extractor that understands the DBX format is the better tool. Both are covered.

Extract addresses free with PowerShell

DBX files store your message text, and email addresses have a very recognisable shape, so you can search the files for that pattern without any software at all. Open PowerShell, point this at the folder holding your DBX files, and it writes a deduplicated list to a text file.

Get-ChildItem -Path "C:\OldMail" -Filter *.dbx | ForEach-Object {
$text = [System.IO.File]::ReadAllText($_.FullName, [System.Text.Encoding]::ASCII)
[regex]::Matches($text, '[\w\.\-\+]+@[\w\.\-]+\.\w{2,}') | ForEach-Object { $_.Value }
} | Sort-Object -Unique | Out-File "$env:USERPROFILE\Desktop\dbx-addresses.txt"

Change C:\OldMail to wherever your DBX files live. It reads each file as text, pulls out anything shaped like an email address, sorts them, removes duplicates and drops the result on your desktop. It costs nothing, needs no install, and it never touches the original files.

Why the free list comes back messy?

That command will find real addresses. It will also find a lot of other things, and it is worth knowing why before you trust the output.

A pattern search has no idea what it is reading. It cannot tell the difference between the person who sent you the message, the people copied in, an address buried in someone’s signature, one quoted from a forwarded thread three years earlier, or a no reply address from a newsletter. They all come out in one flat list. It will also miss anything the mail client encoded rather than stored as plain text, and it will happily grab fragments out of HTML that merely look like addresses. So you get a starting point that needs a pass in Excel, not a finished contact list.

Addresses live in three places. Only one of them is structured. Header fields From: [email protected] To: [email protected] Cc: [email protected] labelled, reliable Body and quotes [email protected] signatures, forwards Attachments a pattern search misses these

A regex flattens all three into one list. A parser keeps them apart.

“Pattern matching a mailbox for addresses is a fine first pass, and I have done it plenty of times when I just needed to know who is in there. What it cannot give you is provenance. In any work where it matters, you need to know whether an address was the sender, a recipient or something quoted in a five year old forward, because those mean completely different things. That distinction only survives if something actually parses the message structure.” Shubham Dixit, Email Forensics reviewer (draft, pending approval)

Extract addresses with a DBX extractor

The difference a dedicated extractor makes is that it opens the DBX as a mailbox rather than as a wall of text. It reads the message structure, so it knows which address was the sender and which were recipients, it can filter on To, Cc, Bcc or Subject, it looks inside attachments too, and it hands you a deduplicated list rather than raw hits. The PCDOTS DBX Converter does this for one file or a whole folder in a single run, on your own PC, with no Outlook Express needed. Being straight about the trial, the demo extracts ten email items per folder, which is enough to check the output against your own files before you decide.

No Outlook Express. Reads attachments too. 1Add DBXLoad files ora folder 2SelectPick the foldersyou need 3ExtractExtract menu,email addresses 4SaveSet a folder,run it iFilter on To, Cc, Bcc or Subject to narrow what you pull.The list comes out deduplicated.

Extracting addresses from a folder of DBX files in one run.

Here are the steps with the screens.

Step 1. Install and run the extractor on your Windows PC, then click Open.

Run the DBX email address extractor

Step 2. Go to Email Data Files and upload your DBX files or the whole folder.

Upload the DBX files

Step 3. Open the Extract menu and choose Email Addresses.

Choose extract email addresses from the menu

Step 4. Browse to a destination and save. The address list is written out.

Set the destination and save the address list

If you would rather read the mailbox before pulling anything out of it, a free DBX file viewer opens the files on their own. And if the plan is to keep this old mail rather than mine it, there is a separate guide to importing DBX files into Outlook.

Free Download
Buy Now

The methods compared

Both get addresses out. They differ on what the list is worth afterwards.

Method Best for Good to know
PowerShell search A rough list, free, one command No fields, junk hits, needs cleanup
DBX extractor A clean list, bulk, filters Reads attachments, demo limited
Free DBX viewer Reading the mail first Opens DBX, does not extract lists

Frequently asked questions

How do I extract email addresses from a DBX file?
Either run a PowerShell pattern search across your DBX files, which is free and gives a rough deduplicated list, or use a DBX extractor that parses the mailbox properly and pulls addresses by header field in bulk.

Can I extract addresses from DBX without Outlook Express?
Yes, and you have to, since Outlook Express is discontinued and does not run on modern Windows. Both the PowerShell route and a dedicated extractor read the DBX files directly with no mail client involved.

Is there a free way to get addresses out of DBX files?
Yes. A PowerShell command can read the files as text and pull out anything shaped like an email address, then sort and dedupe it. The output is messy and needs a tidy up, but it costs nothing.

Why does my extracted list have junk in it?
A pattern search cannot tell a sender from an address quoted in an old forward or sitting in a signature, and it grabs anything that looks like an address. A parser that reads the header fields avoids most of that.

Can I extract addresses from attachments inside DBX files?
A dedicated extractor can look inside attachments as well as the messages. A plain pattern search over the raw file will miss most of that content.

What is a DBX file?
It is the mailbox format Outlook Express used, with one file per folder, such as Inbox.dbx or Sent Items.dbx. The format still holds your messages even though the program that made it is long retired.

An old format, still readable

The awkward part of this job is not the DBX files, it is that they outlived the software that made them. That is fine. If you want a quick sense of who is in an old mailbox, run the PowerShell command, spend ten minutes cleaning the result, and you have your answer for nothing. If the list has to be right, if it needs to separate senders from recipients or cover a stack of folders, let something that actually understands the format do the reading. Either way, mail from a machine you retired years ago is still perfectly reachable.

Shubham Dixit

Reviewed by Shubham Dixit

Independent Expert in Email Forensics and Data File Conversion. Shubham reviewed this guide for technical accuracy. He is an independent external reviewer and not an employee of PCDOTS.

Profile  |  LinkedIn