Mapping Folders

The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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

Jump to: navigation, search