Microsoft Exchange

From Kolab Wiki

Jump to: navigation, search

Applies to: Kolab 2.2.1


Migrate from Microsoft Exchange

References to possible migration methods

Some things to look out for when transferring from MS exchange

Cyrus does not like slashes in folder names, it will fail if you try to copy a folder with a slash, rename these before transfer! Outlook is a bad way to do it, it does not seem to enjoy standard IMAP and dies quite often when transferring large amounts of mail - thunderbird seems to do it better.

Transferring mails via imapsync

Transferring the mail messages from the Exchange server is easiest using imapsync. You will need to use a small workaround to transfer the users INBOX correctly (with unixhierarchysep: yes in imapd.conf):

imapsync --host1 exchange --noauthmd5 --user1 "$u1" --password1 "$p1" \
           --host2 kolab    --user2 "$u2" --password2 "$p2" \
           --regextrans2 's/INBOX^INBOX/INBOX/'

Using imapsync with the following arguments works when unixhierarchysep: no in imapd.conf:

imapsync --host1 exchange --noauthmd5 --user1 "$u1" --password1 "$p1" \
         --host2 kolab    --user2 "$u2" --password2 "$p2" \
         --regextrans2 's/INBOX.INBOX/INBOX/'

This has been successfully tested migrating from Exchange 5.5 to Kolab 2.2.1 with imapsync version 1.99 and Mail::IMAPClient version 2.2.9.


  • when this was attempted with the newest version of Mail::IMAPClient (3.16) it gave errors and would not sync any emails. If you have trouble with using this solution you may consider using the older version of IMAPClient suggested by the INSTALL file of imapsync.
  • Some emails were skipped or came over with blank headers. They were not visible in horde or kontact/win. Outlook connected via IMAP could see these emails, but they were blank. I opted to use PST transfers instead.
  • Will sometimes give out of memory errors with large emails, and multiple runs of the program can cause duplicate emails in the destination

For more information about the different imapsync arguments, depending on the unixhierarchysep settings see this email thread on the kolab-user emaillist.

Transferring contacts/calendars/tasks/notes via funambol

With Kolab 2.2.1 the webclient provides a beta quality SyncML support which functions with funambol (with some bugs, see note). According to the horde wiki you must have the kolab server's CA certificate installed on your system. You can see more on funambol and horde (the kolab webclient) here.Funambol provides open source connectors including one for outlook at:

Funambol Downloads

Two-way synchronization has been tested with Outlook 2003 connected to an Exchange 5.5 server in cached mode using the Debian 4.0 binary distribution of Kolab 2.2.1.

This also means you can successfully use Outlook as a client with imap as the mail source and with all contacts/tasks/calendar/notes stored on the server via funambol. You just will not have shared groupware folder access.

Errors encountered:

  • An error occurred when attempting more than one sync session per use of the funambol client.

Migrate Emails via PST

It may be possible to use exmerge to retreive pst files from exchange and then import them back into the client once the kolab server is in place - PLEASE EDIT THIS IF YOU HAVE SUCCEEDED!

Alternative you can manually transfer mailboxes or have your users transfer them via PST. This method is tested with Outlook 2003 and Kolab 2.2.1. This walkthrough is intended to be useful for end users in addition to email administrators:

  • Open your exchange profile in outlook and then go to File->New and create a new outlook data file. Name this appropriately
  • Right-click folders in your exchange profile and choose Copy "foldername" and then when the folder selection popup comes up select the new personal folder you created.
  • Rename any of the folders in your new personal folder file that have slashes in them. Cyrus does not like slashes. Make sure to copy your sent items and deleted items folders and any other email folders that may not be under the inbox to the new personal folders.
  • Create a new outlook IMAP profile for kolab. Most of the defaults work well.
  • Open your personal folder file that was used for copying your exchange data
  • Now you can copy any folder in your PST file and paste it under the inbox in your imap account. It will not let you paste the inbox to the root of the imap account since the inbox already exists. If you don't want a 2nd inbox under the main inbox with all your folders you will have to individually copy these over. Alternatively you could simply rename the second sub-inbox to something like "old emails" and keep that folder tree as-is. You can move the emails in that folder to the main inbox easily enough.

This method does not allow for much in the way of synchronization. It is mostly useful for a clean cut or copying old emails from a system not in use.


ExportPST takes any PST file and migrates the data (including all calendar, contacts, tasks, etc) to the Kolab Server. This tool is fast and efficient. We are developing an administration interface, as well as batch application to migrate multiple PST files at the same time.

External links to exmerge

Personal tools