Transferring from Kerio Connect to another mail server

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

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 Import to Gmail

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.

Moving Contacts

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

PRODID:-// v1.0//EN
FN:Tony Lawrence
X-FILE-AS:Lawrence, Tony

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-
Content-Transfer-Encoding: 8bit

PRODID:-//Kerio Technologies//Outlook Connector//EN
TZID:Eastern Time (US & Canada)
SUMMARY:pay sales tax
ORGANIZER;CN="Linda Lawrence"
SUMMARY:pay sales tax
ORGANIZER;CN="Linda Lawrence"
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.

User Names

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.

Anything else?

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.

Got something to add? Send me email.

(OLDER) <- More Stuff -> (NEWER)    (NEWEST)   

Printer Friendly Version

-> -> Transferring from Kerio Connect to another mail server


Increase ad revenue 50-250% with Ezoic

More Articles by

Find me on Google+

© Anthony Lawrence

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 ( (link) ) 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: (link)

Tue Jun 25 23:41:24 2013: 12160   TonyLawrence


By the way, when moving to another site, be sure NOT to bring the old server back on line until the new MX has fully propagated. You risk having some mail arrive at the old server if you do. This actually happened to one of my customers!

Thu Aug 8 12:34:40 2013: 12251   anonymous


Great post, saved me time, particularly sed command thanks.

Mon Apr 7 20:16:06 2014: 12431   anonymous


Tony, have you done any GOOGLE to KERIO migrations ? i need to push some users from google (evil) i found the kerio imap migration tool but am stumped on what the server hostname to transfer from would be for my googlemail users !
any ideas ? please help a fellow google loather !

Mon Apr 7 20:20:58 2014: 12432   TonyLawrence


Look in your Gmail settings under Forwarding and POP/IMAP and then see (link)

Mon Apr 7 20:49:27 2014: 12433   anonymous


Cheers tony i guess its just pointing at host then the csv will do the auths, have you done any migrations yourself ? Any hot tips?

Mon Apr 7 20:53:47 2014: 12434   TonyLawrence


You do have to tell Google to enable IMAP too.

No, I have not done any, sorry.

Kerio Connect Mailserver

Kerio Samepage

Kerio Control Firewall

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.

Contact us


Dump may work fine for you a thousand times. But it _will_ fail under the right circumstances. And there is nothing you can do about it. (Linus Torvalds)

Software and cathedrals are much the same – first we build them, then we pray. (Sam Redwine)

This post tagged: