![]()
Joel Williams has found the following techniques to work for newer versions of Outlook that use the dbx format:
In the spirit of good programming and the most elegant ways of doing things with any number of possible solutions, I came up with the worst and wrote a VB hack to send keys to Outlook to go through a mail folder and save each to a separate filename, after which I was able to add the From: line to the top of each and concatenate into a mailbox. This was fine, although it involves changing the program to work for a different folder.
Here's the VB code that will do the job- not very nice at all.
AppActivate "
- Outlook Express" ' You have to select the mailbox you want to write out and look at the title bar of Outlook. Yes there are better ways, but this was the quickest way :)
For i = 1 To 129 ' 129 being the number of messages in this particular folder
SendKeys "%(fa)C:\temp\" + Str(i) + ".eml{ENTER}{DOWN}", True
NextThen after that I ftped them to my other computer and from bash typed the following:
cat > header
From: name@host <time format> (I don't remember the exact syntax of this line, but I'm sure you know what it is)
^Dfor a in *.eml
do
cat header $a > /tmp/eml
mv /tmp/eml $a
done
cat *.eml > newmbox
Anyway since my original plan was to move all mail off onto another computer and access it using IMAP, I connected to the remote IMAP server and discovered that I could copy mail over to that from OE and it would be changed into nice RFC compliant mailboxes that Mutt happily opens. This has the classy bonus of generating mail with correct From lines (IMAP seems to read the top one rather than the normal one that gets transmitted through mail) and didn't involve any rewriting. Since I haven't seen anyone mention this particular solution before, I thought I'd make you the first to know :)
I'm sure there are free IMAP servers available for download, or if you have any remote IMAP folders you can just copy them over and then retrieve using the desired destination client or anything.
Jim Dabell says that yes, there are free IMAP servers -- in particular, graffiti.net.
Ed Bradburn says that Outlook can act as an IMAP server. In this case, one can copy messages to the folder list using Outlook (on Exchange), then copy then copy them back using a program like Eudora. This will convert the mail files to a more standard format.
The other alternative would be to export to Outlook 97 format, which might have working converters available, but in my case selecting this menu option only gave an error message.
Oh and finally, I haven't tried this, but you should be able to move everything into the outbox and it'll send them all back to you, and you can download using another program or whatever.. I'm not sure if this will work, and I doubt that it would preserve message dates.
![]()
Back to the mbx2mbox homepage.
David Coppit <david@coppit.org>, http://coppit.org/