matijs.net — Software
MSGConvert: A .MSG to mbox convertor
Introduction
I wrote this to be able to convert some .MSG files I had lying around. These files are produced by some of Microsoft's e-mail programs, and I couldn't read them on my home machines, which run Linux.
Originally, I had only six of these files to base my program on. However, several people sent me .MSG files that my program failed to convert (Thanks!), or other feedback, so I've been able to make some improvents. If you have a file that my latest version fails to handle properly, feel free to drop me a line, preferably including the offending .MSG file. You can also file a bug in the CPAN bug tracker or the GitHub bug tracker.
If you have any questions, first take a look at the FAQ.
Usage
To use it, run:
perl -w msgconvert.pl YourMessage.msg
This will produce a file YourMessage.mime containing the message in RFC822 format. The program will complain about unrecognized OLE parts and other problems on stderr. If you supply the option --verbose, it will also tell you what OLE parts it knows about but doesn't use, and what I think they are. The option --help will make it print some usage information.
You can also let MSGConvert deliver all .MSG files in one mbox file usign --mbox, like so (assuming you made msgconvert.pl executable):
msgconvert.pl --mbox some-mbox-file *.msg
Installing
The following instructions should work generally on any Unix-like system with a reasobly new Perl installed.
- Download the script and put it in a convenient location.
- Install the necessary Perl modules by executing the following:
cpan -i Email::LocalDelivery Email::Outlook::Message
You can run this as root if you would like to install these modules system-wide.
On Debian and Ubuntu, try the following:
- Download the script and put it in a convenient location.
- Install Email::Outlook::Message and Email::LocalDelivery by
executing the following:
sudo apt-get install libemail-outlook-message-perl libemail-localdelivery-perl
Development
For the latest source code, go to MSGConvert on GitHub and Email::Outlook::Message on GitHub.
Known Bugs/Issues
Not all data that's in the .MSG file is converted. There simply are some parts whose meaning escapes me. However, most things are converted correctly by now, including plain text, HTML and RTF-formatted message bodies.
Attachments with Apple-style resource forks, as well as PGP-signed email is known not to be converted properly.