Mapping Folders

Revision as of 18:03, 3 July 2012 by Costa-101 (talk | contribs) (Mapping Folders)

Mapping Folders

Description

If you are backing up or migrating from one server to another, you most likely will at some point be dealing with server A using the 'Sent' folder syntax with server B using the 'Sent Items' folder syntax and possibly even server C using the 'Sent Messages' folder syntax.

This page has been created during such an exercise, to provide a simple explanation, with examples, in order to help you get the job done !

The magic of using imapsync provides an option known as regextrans.

The regextrans option can be used, with a regular expression syntax, to map emails from one folder on server A into a differently named folder on server B.

In this example, server A is an Office365 server, which uses 'Sent Items', and server B is a Zimbra server which uses 'Sent'.

Imapsync syntax

The syntax would be as follows, with the <variables> being specific to your given scenario.

Linux # imapsync --host1 <source server> --user1 <source user> --passfile1 ~/.<a file with user1 password> --ssl1 \
--host2 <target server> --user2 <target user> --passfile2 ~/.<a file with user2 password> --ssl2 \
--syncinternaldates --regextrans2 's/<source folder>$/<target folder>/'

Example

A completely fabricated example will look something like the following:

Linux # imapsync --host1 mail.office365.com --user1 user1@mail.office365.com --passfile1 ~/.passfile1 --ssl1 \
--host2 mail.localhost --user2 user2@mail.localhost --passfile2 ~/.passfile2 --ssl2 \
--syncinternaldates --regextrans2 's/Sent Items$/Sent/'

Notes

Being a brief article, it is outside the scope here to explain all of the syntax of imapsync - needless to say it can be very powerful when used with cron jobs etc.

I have specified --passfile options to assist with streamlining the process - this will not ask for a password and ideally should use chmod 600 permissions in a secure location.

--regextrans2 uses regular expression syntax, so either hack the example above or take a quick read

Taking this one step further, if server A had more than one variant of 'Sent' folder, using the following syntax making the most of wildcards will also help tidy things up during your migration:

--regextrans2 's/(.)*Sent(.)*$/Sent/'

Effectively moving sent items from any of server A folders into the single Sent folder on server B.

HTH

Jump to: navigation, search