While I never like losing a customer, sometimes people want to move away from Kerio® Connect. That's not hard to do.
Hurricane Sandy cost me a customer. Long lasting power and Internet outages after the storm made them decide that they need to have their email and other critical servers moved to the cloud. They chose Google Apps and will not be using Kerio Connect any longer.
Of course they didn't have to switch off Kerio Connect. They could have moved it to Amazon or to smaller (and easier to deal with) hosting services like the Linode server I run on. It would have cost far less money and they would have retained control of their email. However, their decision was Google Apps and that's that.
Well, not quite "that's that". Changing mail servers requires transferring some data. I'll look at transferring from Kerio to Gmail here, but the concepts are the same no matter what mail server you choose.
Moving the mail
Google Apps supports transferring accounts and mail from any IMAP server. You do need to create a CSV file that maps old system users to new.
Individual users (GMail, not Google Apps)
If you are using Outlook or some other mail client that supports IMAP, transferring mail to a new service can be as simple as setting up both accounts (enable IMAP in Gmail) and dragging and dropping mail folders from one place to another. That could be a fair amount of manual labor and it does require that the client be smart enough to automatically create new folders when needed - older versions of Outlook Express lacked that ability; other clients may still.
It would be nice if the receiving end could just import email. Gmail can, and although they don't mention Kerio specifically in their list of mail servers they can import from, it can can import POP accounts:
POP only looks at the INBOX, though, so that would require that you move all messages to your INBOX. As Google nicely offers to label messages as they are imported, you could do that in stages, bringing in subfolders, importing and labeling, rinse and repeat.
If you couldn't do that, you'd need to use something like PerlMail::IMAPClient to read and then inject messages to the new account. Or, assuming that you have enough clout, you might be able to convince the receiving end to do the work for you. One of the nice things about Kerio Connect is that the messages are just individual text files - there is no proprietary database to decode. Any decent programmer could take those messages and insert them into another mailserver without needing any special knowledge of Kerio Connect at all.
By the way, that's not necessarily going to be true going the other direction. Google does make it easy to move data out of its systems, but not everyone is as friendly.
Even if moving a few hundred gigabytes of email is too much to contemplate, most people would want to move contacts. Just like the email itself, Kerio Connect stores contacts as individual text files. These are just vCard format with a little extraneous data at the top:
Subject: Tony Lawrence
Date: Fri, 17 Jun 2011 09:13:48 -0400
Content-Type: text/vcard; charset="utf-8"
Many mail programs understand how to import vCard, and Google is no exception. However, you certainly don't want to import these files one by one, so you'll want to prepare a single file for Google to import. Google won't like that extra information Kerio includes, but other than that we can just glom everything together in one file. I did this using "sed" on a Linux version of Connect:
cat *eml | sed '/^Subject:/d;/^Date:/d;/^Content-.*:/d' > ~/t
You could write a Perl script to do something similar or just load them up in a text editor and delete the unneeded lines. Again, this is also the sort of thing you could farm out to any programmer: these are just text files and Gmail will happily import the data once you strip out the stuff that isn't vCard.
Moving Calendar Items
Once again, Kerio's use of text files and standard formats makes this easy. Kerio Calendar uses iCalendar and Google Calendar will import these. This does require a little more work, but it's nothing difficult for anyone who can do scripting. A Kerio Calendar entry looks like this:
Subject: pay sales tax
Date: Wed, 21 Nov 2012 09:42:10 -0500
Content-Type: text/calendar; component="vevent"; method="PUBLISH"; charset="utf-
PRODID:-//Kerio Technologies//Outlook Connector//EN
TZID:Eastern Time (US & Canada)
SUMMARY:pay sales tax
SUMMARY:pay sales tax
DESCRIPTION:pay sales tax
What you need from each file is just the stuff that starts with "BEGIN:VEVENT" and goes through "END:VEVENT". You create a file that looks like this:
PRODID:-//Kerio Technologies//Outlook Connector//EN
(the VEVENTS will go here)
and you put all the "BEGIN:VEVENT", "END:VEVENT" lines in as shown. Google Calendar will import that to a Calendar.
What about all the user names and aliases? Kerio Connect keeps these in an XML file (that's just text with some extra formatting) called "users.cfg". It contains every user along with the groups they belong to and any aliases. It doesn't require great programming skill to reformat that to whatever the receiving end might need (such as the CSV file needed for Google's IMAP transfer tool).
Unfortunately, single user Gmail doesn't support aliases. Google Apps does (they call these "nicknames") and you can bring these in using their GoogleApps Directory Sync capability, which requires an LDAP server. You may already be using that with Kerio, but if you are not, you'll want to look at Google Apps Provisioning API to create aliases and groups from the data contained in the Kerio "users.cfg" file.
I think that pretty well covers any type of transfer. If you have any other suggestions or tips, please leave them in the comments.
By the way, if you want to move you Kerio Connect to the cloud, I'm happy to help. There's no reason to learn a new email system or give up the features and support you get from us. You don't even necessarily need to be "in the cloud" right now - just ready to move should circumstances require it. I'm available to discuss this and other options, of course.
If this page was useful to you, please help others find it:
Kerio®, and related trademarks, names and logos are the property of Kerio Technologies, Inc. and are registered and/or used in the U.S. and other countries. Used under license from Kerio Technologies, Inc.
More Articles by Anthony Lawrence
- Find me on Google+
Have you tried Searching this site?
Unix/Linux/Mac OS X support by phone, email or on-site:
This is a Unix/Linux resource website. It contains technical articles about Unix, Linux and general computing related subjects, opinion, news, help files, how-to's, tutorials and more. We appreciate comments and article submissions.
Publishing your articles here
Jump to Comments
Many of the products and books I review are things I purchased for my own use. Some were given to me specifically for the purpose of reviewing them. I resell or can earn commissions from the sale of some of these items. Links within these pages may be affiliate links that pay me for referring you to them. That's mostly insignificant amounts of money; whenever it is not I have made my relationship plain. I also may own stock in companies mentioned here. If you have any question, please do feel free to contact me.
Specific links that take you to pages that allow you to purchase the item I reviewed are very likely to pay me a commission. Many of the books I review were given to me by the publishers specifically for the purpose of writing a review. These gifts and referral fees do not affect my opinions; I often give bad reviews anyway.
We use Google third-party advertising companies to serve ads when you visit our website. These companies may use information (not including your name, address, email address, or telephone number) about your visits to this and other websites in order to provide advertisements about goods and services of interest to you. If you would like more information about this practice and to know your choices about not having this information used by these companies, click here.