Exporting messages from Outlook Express

Introduction

This article is about exporting your Outlook Express messages so that you
can get them into a different program. It is *not* about how to move
your Outlook Express messages to a different folder or computer.

In order to keep using Outlook Express I wanted to satisfy myself that
in the future I could get my messages out of it if I needed to. I
wanted a bulk operation to export messages into a non-binary format.
For this, the "export" function in Outlook Express was useless to me.

I tried searching the web and found a few custom made export programs.
I was never happy about using these though, as a number of them
basically failed to export all or even some of the messages I had.

Side note: I've seen Outlook fail to bring attachments for messages
imported from Outlook Express. The moral is don't blindly trust software
to do what you think it is supposed to do - test it - even if someone
else has already tested it.

Background to my solution

First attempts -

I still felt that OE knows its format the best so if possible I should
try to get it to do the export in whatever form.

I set up my own mail server (Mecury by David Harris is freeware and
seems very nice) specifically to forward my mails to my own mail server
on the local machine and from there to another client. Well I knew that
you can forward multiple messages as a single email in Outlook Express.
Then I realised that I could simply save the forwarded email! Duh! So I
uninstalled the email server again and wrote up the procedure
documented in the next section called "Saving messages into a standard
format".

Subsequent discoveries

After I got all this working and the website proving that others had
the same problem. I came across a tidbit of information. Outlook
Express' drag and drop functionality can be used to do a bulk export!

It turns out to be really simple. Select a bunch of messages, drag and
drop them into a folder on your desktop or a folder in Windows
Explorer. They will be automatically exported as *.eml files. The
subject is used as the file name and where there are duplicates a
counter is inserted in the name.

Carry out some tests to ensure that all your emails have been exported
properly. Eg. Count them, check attachments, ensure they are files your
computer can read and are not corrupted, etc.

Drag and drop can be used to "import" as well. Drag a .eml file from
windows explorer and into an Outlook Folder and voila, there it is.

Well my procedures are not totally obsolete. My export procedure
provides a different file naming system. If you want to learn a little
REBOL you can change this naming system to whatever you want. Also,
storing a bunch of emails inside of a single eml file can be a useful
archiving trick.

Saving messages into a "standard" format

The plan

The plan is to get Outlook to export messages into a standard format. Since it knows how to create standard emails - this will be our format.

Before you start

Backup your Outlook Express files. If you are not planning to delete messages, then this step may seem unneccessary. However it is better to be safe than sorry.

Steps to follow

2) Make sure you are in offline mode. If neccessary use Choose File -> Offline to ensure this happens.

3) Select the folder with the messages you want to archive/backup/export whatever.

4) Select the messages you want to archive (you can use Edit -> Select All if you want everything.

If you have a lot of messages, it might be a good idea to only select groups of messages. For example , you could get Outlook to sort by date or
by sender and then just select certain ranges of messages.

5) Is the "Forward" button showing (not dimmed)? If not, follow this procedure.
This is probably because you clicked off a message and then did Select All. Instead click on
one message and then choose Edit -> Select All. The "Forward" button should be showing again.

6) Click on the "Forward" button. Here's the trick. All your selected messages become attachments to
this newly created message. Enter any message details that will describe the emails you have attached.

7) Now, the second part of the trick. Choose File -> Save As and
save your message (that contains your messages as attachments) to a file in your choosen backup directory.
You should now have a message file with an extension of ".eml".

8) Close your forward message without saving it.

9) Go back on-line if it makes sense - using File -> Offline to remove the checkmark.

10) Close Outlook.

11) Check your new exported message file.

Ok hopefully you have successfully exported your emails out of Outlook Express into a standard format - it just happens to be a single email message.

Notes to this procedure

Your exported Outlook emails are contained in a single email message.

The format of this file corresponds to internet standards for messages.

In programming terms, it is not very hard to seperate the emails out.
Have a look at the next section if you want to use the program I've made to do this.
My program uses REBOL, but even if you do not know REBOL I've made it easy to use because
aside from installing REBOL all you need is to do is click on icons and select your files.

Extracting your messages from the forwarded email.

As mentioned I use REBOL to do this. REBOL is available on a wide variety of operating
systems. So you can as easily extract the messages onto a Linux system as you can with
a Windows system.

If you don't know REBOL

I have created graphical REBOL/View program for people who do not know REBOL but
want a simple way to run the export program without having to program. My
REBOL/View program is a visual way to select your message file and export all
the messages to directory.

REBOL/View can be freely downloaded (subject to licensing) from REBOL Technologies.

At the time of writing REBOL/View is 497kb in size.
So it will only take you five minutes to download it even if you have a 28k modem.

Steps

1) You do have a backup of your original messages don't you? You should not need it here, but
I just want to encourage you not to go deleting things until you have a valid backup and have
checked that the procedures worked.

2) Setup and run REBOL/View which is very easy. You will be presented with the
REBOL Desktop.

3) Ensure you have an internet connection.
The reason for the connection is to allow to access my "rebsite". A rebsite is like a
normal web site but in REBOL/View it appears as a folder on your REBOL/View desktop.

Click on the word "local" at the bottom left corner of the desktop. This tells the desktop
to connect the internet. The desktop will connect to the REBOL site and may
update some of the icons on the screen.

4) Now to find my rebsite. There are two ways.

Either

Click on the "REBOL.com" icon, then the "Sites" icon, then the "Code C." icon.

or

Click on the word "Goto" at the top of the desktop and enter

"http://www.codeconscious.com/index.r"

then click the goto button

5) Once you have the "codeconscious.com" folder opened
choose the "Emails" icon. Then choose the "ExportMsg" icon.

Follow the instructions presented.

Note: This program will save each message into numbered message files.

6) Check your messages and any attachments to ensure that the program worked properly.

If you know how to use REBOL

If you know how to use REBOL. Then just download my mime-model.r script:

Disclaimer

It is up to you to determine if these procedures work or not.
Do not blame me for losing any information.

Results and Comments

My experience

I have exported my own old messages (over 12Mb) using this method and I haven't come across any problems. Though I admit I haven't checked every one of near on 700 messages to see if they all worked. I did check some messages that had attachments and they were successful.

During the procedure Outlook Express may appear to be "frozen" while it processes a large volume of data, but the hard disk should still be whirring away.

At the time of running this my machine had an Intel 300Mhz processor, 96Mb ram running NT 4.
I'm guessing that if you have enough ram you should be ok, and if not it might take a while.

Results from others

Thanks to Herve from France for sending the following feedback (which I've put
into table form). The procedure was carried out on a bi-celeron 400Mhz,
fitted with 384 MB and running Win2000 Advanced Server.