I have a Surgemail Server that stores mails as mdir format.

I also have a Zimbra Server. I gathered from the Forums that Zimbra stores the Metadata in database and the Message seperately in a MIME file.

I wish to migrate from Surgemail to Zimbra. But I authenticate my users using Enternal LDAP. The OpenLDAP server that contains users' passwords, encrypts them. I have many users - such that I cannot ask passwords from all. I do not want to change their passwords.

One solution for migration that I understand is as follows:

1. Save Users' Passwords from LDAP.
2. Set a New Password for all Users, one which is known by us.
3. Migrate Users' Accounts using this new password and an IMAP Migration tool, such as IMAPSync.
4. Reset the Users' Passwords to their Original ones.

One disbenefit, that I foresee in this process is that, from the time when I change the user's password until the time when this password is reset, the User cannot login because he will use the password that LDAP had earlier but is not using it now because his account is being migrated. I also understand that I can only change the password for the user who is being currently migrated and after restoring his original password, I would proceed with the next user.

However, I have a many users who have tens of thousands of messages and being extremely heavy users of email, are continuously accessing it. In this case there will be a service downtime for these users which I cannot afford.

Also, I would want to Sync the messages, that I receive/delete/send in Zimbra with Surgemail, about twice a day. Again, while I Sync these messages via IMAP, these users will see downtime.

So, I am looking for a solution which will enable me to: Migrate from Surgemail to Zimbra, and, Synchronize Accounts on Surgemail with Zimbra (after migration) as a routine without knowing the Users' Passwords.

For this, I am willing to spend some time and write a script if it is not very difficult to understand what to do. I know a little Perl and if I can be given a few tips, I might be able to manage 2 scripts one for each purpose.


- Chintan.