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.
Company transfers
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" Content-Transfer-Encoding: 8bit BEGIN:VCARD VERSION:3.0 PRODID:-//kerio.com/Contacts//NONSGML v1.0//EN N:Lawrence;Tony;;; FN:Tony Lawrence X-FILE-AS:Lawrence, Tony CLASS:PUBLIC EMAIL;TYPE=PREF,HOME;CN="Tony Lawrence":tony@aplawrence.com UID:c4e1f2c0-1774-4ea9-b8c4-ce04ccea491f END:VCARD
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.
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- 8" Content-Transfer-Encoding: 8bit BEGIN:VCALENDAR PRODID:-//Kerio Technologies//Outlook Connector//EN METHOD:PUBLISH VERSION:2.0 X-VERSION-KMS:6.2.0 BEGIN:VTIMEZONE TZID:Eastern Time (US & Canada) BEGIN:STANDARD DTSTART:20071104T020000 TZOFFSETTO:-0500 TZOFFSETFROM:-0400 RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU END:STANDARD BEGIN:DAYLIGHT DTSTART:20070311T020000 TZOFFSETTO:-0400 TZOFFSETFROM:-0500 RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU END:DAYLIGHT END:VTIMEZONE BEGIN:VEVENT DTSTAMP:20121017T151739Z UID:9a01b793-4d09-4685-848d-dc88d9cef6f5 DESCRIPTION:\n\n PRIORITY:5 SUMMARY:pay sales tax TRANSP:OPAQUE X-MICROSOFT-CDO-BUSYSTATUS:TENTATIVE X-LABEL:2 CLASS:PUBLIC SEQUENCE:1 ORGANIZER;CN="Linda Lawrence":mailto:linda@aplawrence.com ATTENDEE;RSVP=TRUE;X-SENT=TRUE;CN=tony@aplawrence.com;CUTYPE=INDIVIDUAL:mailto:t ony@aplawrence.com X-ALARM-TRIGGER:-P7196DT15H13M X-NEXT-ALARM:20121217T050000Z DTSTART;VALUE=DATE:20110718 DTEND;VALUE=DATE:20110721 X-MICROSOFT-CDO-ALLDAYEVENT:TRUE RRULE:FREQ=MONTHLY;BYMONTHDAY=18 PRIORITY:5 SUMMARY:pay sales tax TRANSP:OPAQUE X-MICROSOFT-CDO-BUSYSTATUS:TENTATIVE X-LABEL:2 CLASS:PUBLIC SEQUENCE:1 ORGANIZER;CN="Linda Lawrence":mailto:linda@aplawrence.com ATTENDEE;RSVP=TRUE;X-SENT=TRUE;CN=tony@aplawrence.com;CUTYPE=INDIVIDUAL:mailto:t ony@aplawrence.com X-ALARM-TRIGGER:-P7196DT15H13M X-NEXT-ALARM:20121217T050000Z DTSTART;VALUE=DATE:20110718 DTEND;VALUE=DATE:20110721 X-MICROSOFT-CDO-ALLDAYEVENT:TRUE RRULE:FREQ=MONTHLY;BYMONTHDAY=18 BEGIN:VALARM ACTION:DISPLAY DESCRIPTION:pay sales tax TRIGGER;RELATED=START:-P7196DT15H13M END:VALARM END:VEVENT END:VCALENDAR
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:
BEGIN:VCALENDAR PRODID:-//Kerio Technologies//Outlook Connector//EN METHOD:PUBLISH VERSION:2.0 (the VEVENTS will go here) END:VCALENDAR
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.
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: Support Rates
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.
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.
Click here to add your comments
Fri Dec 21 18:30:42 2012: 11587 anonymous
If your customer was running outlook with Kerio, the Google Apps Outlook Migration tool..while slow brings over everything, emails, contacts, calendar, etc. in a nice little package.
If they are not but Kerio makes it easy to get everything into Outlook that is still the way to go.
Google used to allow IMAP migration from server to server, I think they dropped that a few years ago (was a shame, it was their best feature).
The key for you is to get on Google's reseller list, so at least you can keep your customer and get them where they want to be.
Fri Dec 21 18:36:28 2012: 11588 TonyLawrence
Yes, I mentioned that: fourth paragraph.
Fri Dec 21 18:53:06 2012: 11589 TonyLawrence
I don't want to be on Google's reseller list. I have zero interest in selling Google Apps. Less than zero, actually. It's a lousy solution for any but the very smallest businesses.
Fri Dec 21 21:41:47 2012: 11590 anonymous
What is so lousy about it? Seems harsh.
My largest account has about 45 email accounts and I manage over 700 email address through all my clients.
I get not a peep from them on email. That silence is worth the price of admission.
If you don't like Google, Office 365, Exchange my Mail (which is pricier) are all great solutions. With reoccurring revenue still available, just seems like the smart way to go :)
Sat Dec 22 12:42:56 2012: 11594 TonyLawrence
I've already explained elsewhere ( http://aplawrence.com/Kerio/google_apps.html ) why I thing Google Apps is a bad choice. I think your motivation is plainly making a sale - you don't seem to care what it is or whether it is good for your customer, if they want it, you'll sell it.
Fine - that's the way most businesses work. I don't. I have to like a product to sell it and I do NOT like Google Apps.
Sun Dec 23 11:13:10 2012: 11599 TonyLawrence
This Kerio oriented backup and emergency server service is another option: http://emailphoenix.com/
Don't miss responses! Subscribe to Comments by RSS or by Email
Click here to add your comments
If you want a picture to show with your comment, go get a Gravatar