Migrating M$ Outlook 2000 data to Evolution
What is this about?
So you are using Linux and like it - but still Outlook is quite handy and apart from this holds all your archived data? That were my problems at least until I tried Evolution (e.g. from here). Now about migrating the data: Of course Outlook has only binary formats, but there is lots of help on the net. Still it took me one night to collect the right infos and scripts which I hope to spare you. There are these sections:
Migrating e-mail folders
With slight changes I followed the information provided here.
- Open all the .pst files you want to migrate, i.e. usually Outlook shows you the content of the current .pst file in the normal mode. But older items (e.g. sent-mail) will be stored to a file called archive.pst which you might want to open additionally using Outlooks file menu.
- Install Mozilla Thunderbird on your windows system.
- Select to import data from Outlook (2000) when starting Thunderbird after installation.
- Locate the data imported by Thunderbird: For every mail folder there will be a file in the only subfolder of Windows\Application Data\Mozilla\Profiles\default\ (you might need to replace default by your Windows username) (Application Data is called Anwendungsdaten in the German version). For a folder called XYZ the corresponding mbox file will be called XYZ - there is no filename extension.
- Collect all files and put them on a CD, memory stick or make them available to your Linux in another way.
- Import to Evolution: Import, single file, mbox format.
Using Thorsten Roggendorf's Ruby script csv2vcard this was not too hard.
- Export contacts from Outlook using it's file menu into comma separated values (csv). If you have several contact folders you have to create one file per folder.
- Download csv2vcard to Linux (install Ruby if not included in your distribution).
- In the new directory run ./csv2vcard.rb exports.csv imports.vcard
- If you get any error messages you might have some headings in your csv file csv2vcard does not understand. To check this open csv2vcard.rb with a text editor and have a look at line 30. It says Title,Anrede,Titre\r and in the next line all other possible values follow. You should only use the ones listed there.
- Import to Evolution: Import, single file, vcard format.
Getting birthday reminders
Using the python script by Stefan Goetz helped a lot. It needed small changes, so download it here.
- I assume the vcard files to be in the same directory as the python script.
- Run python makeBirthdayReminders.py imports.vcard X > imports.ics
Where X is the number of days before the birthday you want a reminder to pop up.
- Import to Evolution: Import, single file, ics format.
- If you happen to receive error messages check the .py code. In thissection:def __init__(self, vcard): if hasattr(vcard, 'N'): try: name_tokens = vcard.N.split(';', 1) self.name = "%s %s" % (name_tokens, name_tokens) except: self.name = None else: self.name = None try: self.bday = time.strptime(vcard.BDAY, " %Y-%m-%d") except AttributeError: self.bday = NoneThe problem is probably parsing and exactly matching the vcard data: "%s %s" and " %Y-%m-%d" (note space!).