Welcome to the imapsync web site!
What is imapsync?
The purpose of imapsync is to migrate imap accounts or to backup imap accounts.
imapsync software is a command line tool that allows incremental and
recursive IMAP transfers from one mailbox to another, both anywhere on the internet
or in your local network.
"Incremental" means you can stop the transfer at any time
and restart it later efficiently.
"Recursive" means the complete folders hierarchy can be copied.
"Command line" means it's not a graphical tool, on Windows you have to run imapsync in a DOS box
(cmd.exe) or from a batch file.
imapsync can't migrate Contacts and Calendars.
Most email systems don't set or get Contacts or Calendars via the IMAP protocol.
No way via IMAP, no way via imapsync
(but it can be done with other tools or via export/import of csv or ics files).
imapsync is not suitable for maintaining a synchronization between two active imap accounts while the user
is working on both sides.
Use offlineimap (written by John Goerzen)
or mbsync (written by Michael R. Elkins)
for bidirectionnal (2 ways) synchronizations.
Alternatives to imapsync are listed in the Similar softwares section.
Facts and figures for 2011 and 2012
- 3000 to 4000 users per month (34000 users a year)
- 5 to 25 millions mailboxes transfers per month,
total is 93 millions for 2011, 91 millions for 2012.
- Operating systems run by imapsync users:
- Linux: 67%
- Win32: 16%
- Darwin: 9%
- FreeBSD: 7%
- Solaris: 0.3%
- OpenBSD: 0.03%
- Other: 0.69%
- Highest use rate: about 21 millions of IMAP mailbox transfers (in a single month)
Latest release is imapsync
Written on
See ChangeLog to know what's new in details since 2001.
New features or bugfixes since previous releases:
- 1.542
- Enhancement: Added XOAUTH authentication. Thanks to Eduardo Bortoluzzi Junior.
- Refactoring: Removed old 2.2.9 Mail::IMAPClient patch stuff.
- Refactoring: Started perlcritic corrections. Left 4 eval at level 5.
- 1.536
- Enhancement: Added --search1 and --search2 to allow different searches on each host.
- Enhancement: Speed up when messages are selected by --minage, --maxage or --search, (used to SEARCH ALL messages)
- Usability: Added --delete1 as an alias for --delete
- Bug fix: Applied Phil patch to improve the lost connection behavior
- Bug fix: Applied Phil patch to remove useless warnings
- 1.525
- Bug fix: Handles the case where several folders on host1 go to one folder on host2 with --delete2 option. The bug was imapsync was copying messages and deleting them on next folder.
- Bug fix: Removed reference to DWTFPL since license is NOLIMIT since June 2012.
- Speed: Option --nocheckmessageexists is activated by default since --checkmessageexists often slow down transfers too much.
- Usability: Reorganized the --help message.
- Usability: Option --foldersizesatend is on if --foldersizes is on. Off if --nofoldersizesatend
- 1.518
- Bug fix: When identtifying with header, change tabulations to spaces
(Gmail bug with "Received:" header on multilines).
- Bug fix: Bugfix. Automatic --nocheckmessageexists when --noabletosearch is set.
- 1.516
- Usability: Added host2 minus host1 statistic: number of messages and bytes.
One difference at the start and one at the end.
Useful to detect quickly a difference between host2 and host1.
Need both --foldersizes and --foldersizesatend options (which are on by default).
- Usability: Added --foldersizesatend.
It gets the folders sizes at the end of the whole transfer.
Turned on by default (use --nofoldersizesatend to turn it off).
- Enhancement: Added option --delete2duplicates;
it deletes messages in host2 that are duplicates.
--delete2duplicates is on when --delete2 is set unless --nodelete2duplicates is set too.
- Usability: Added current date at the beginning of the run,
useful when imapsync doesn't end properly or hasn't finished yet.
- Enhancement: Added option --pidfilelocking;
it aborts imapsync, when just launched,
in case another imapsync may be running.
Turned off by default
- Usability: Added option --showpasswords.
it shows passwords on output instead of "MASKED".
Turned off by default.
Useful to restart a run by reading the log
or to see what happen with special characters.
- Bug fix: Added option --fixslash2
to avoid the 'Invalid mailbox name' error.
It acts when --sep1 is character / and --sep2 is not character /
and host1 folder name contains --sep2 characters.
Turned on by default (--nofixslash2 to unable it).
- Enhancement: Added option --noabletosearch
to allow the listing of messages without the imap "SEARCH ALL" command.
It's useful for playing with poor imap servers like Softalk 7.6.4
(8.6 is fine with SEARCH ALL).
- 1.508
- Usability: imapsync guesses and prints when it'll finish the transfer;
added ETA after each copy (Estimated Time of Arrival)
- Enhancement: Added --noexpungeaftereach
to speedup --delete --expunge from Gmail.
- Usability: Added Host1 or Host2 before "Nb messages" "Total size"
with --foldersiszes (to facilitate parsing)
- Bug fix: Previous fix about characters *|?:"<> to _
in cache path was not complete.
- 1.504
- Enhancement: Added option --nocheckmessageexists to speed up with Tobit imap server as host1.
- Usability: Added transfer rate and number of messages rate after each copy.
- Usability: Use Time::HiRes time to get time with better precesion than the second.
- Bug fix: Convert characters *|?:"<> to _ in cache paths because they are forbidden on Windows paths.
- 1.500
- Enhancement: Added option --nocheckselectable to fix INBOX issue with Jana-server.
- Bug fix: The cache system didn't work in Win32 (problem with \ transformation).
- Bug fix: Check the return of touch calls for the cache.
- Usability: Example for --delete2foldersbutnot "m/Contacts|Agenda|Trash/"
- 1.484
- Bug fix: Back to select() (read-write mode) instead of examine()
(read-only mode in 1.468) on host1. Needed with --delete
- Enhancement: Added option --exitwhenover option to avoid locking
when transfers exceed maximum limit.
See for example this Gmail constraint
- imapsync ... --exitwhenover 2500000000 # 2.5GB if host1 is Gmail
- imapsync ... --exitwhenover 500000000 # 500MB if host2 is Gmail
- Usability: Unified outout in --debug mode. Lines start with Host1 or Host2.
- Usability: Changed output about messages ignored to better reflect what is going on.
- 1.476
- Usability: Default headers used to identify a message are now "Message-Id" and "Received"
(Exchange compatibility bu default).
- Enhancement: Added option --addheader to fix the issue
"ignored (no header so we ignore this message)" (on Sent folder usually).
Thanks to Ameir Abdeldayem
- Enhancement: Added --nofilterflags to check any STORE flags
by ignoring PERMANENTFLAGS (Exchange tests)
Simple transfer on Windows
Batch file example imapsync_example.bat
that you can easily adapt with your parameters.
Massive transfers (many mailboxes)
In order to migrate many mailboxes, you should use a loop over a csv
file containing only the data credentials.
An example of this file is file.txt,
it can be used with the two following command scripts.
On Windows, see sync_loop_windows.bat
batch example.
On Unix, see sync_loop_unix.sh
example.
Who is the author?
Gilles LAMIRAL
Email: gilles.lamiral@laposte.net
Good feedback is always welcome, bad feedback is often welcome.
Where to talk about imapsync?
A nice place to talk about imapsync is the public
imapsync mailing-list (see below section Mailing-List).
Buy imapsync source code
Buy latest imapsync Perl source code for 50 EUR
The Perl imapsync source code will run anywhere a Perl interpreter can run:
any Unix, Linux, Windows, or Mac OS operating system.
+ Lifetime of imapsync updates without extra payment.
+ 30 days money-back guarantee! (any reason qualifies)
+ Standalone imapsync.exe.
Payment by Paypal account and credit card accepted.
Price 50 EUR is equal to around 66 USD,
no problem to pay in USD (or any currency) via paypal:
You will receive a download link just after the payment from gilles.lamiral@laposte.net (can fall in Spam folder sometimes).
You will also receive a gpg signed invoice within a few days by email.
Please give a delivery postal address where the invoice will be needed
(your company for example), since reedit is not easy (and forbidden by law).
Buy standalone imapsync.exe for win32
Struggle free from source code and Perl installation by
buying the latest win32 standalone imapsync.exe for 50 EUR
+ Lifetime of imapsync updates without extra payment.
+ 30 days money-back guarantee! (any reason qualifies)
+ Source code of imapsync.
Payment by Paypal account and credit card accepted.
Price 50 EUR is equal to around 66 USD,
no problem to pay in USD (or any currency) via paypal:
You will receive a download link just after the payment, from gilles.lamiral@laposte.net (can fall in Spam folder sometimes).
You will also receive a gpg signed invoice within a few days by email.
Please give a delivery postal address where the invoice will be needed
(your company for example), since reedit is not easy (and forbidden by law).
Buy full professional support for imapsync
You will be able to expose your issues by email
or phone and we'll work together until complete success.
For 100 EUR buy imapsync full support
done by the imapsync designer/developper.
This support offer doesn't include the imapsync software.
Payment by Paypal account and credit card accepted.
100 EUR is equal to around 133 USD,
no problem to pay in USD (or any currency) with paypal:
You will receive instructions to contact me just after the payment, from gilles.lamiral@laposte.net (can fall in Spam folder sometimes).
You will also receive a gpg signed invoice within a few days by email.
Please give a delivery postal address where the invoice will be needed
(your company for example), since reedit is not easy (and forbidden by law).
Documentation
Read the INSTALL file
to know how to install imapsync on your system.
The README file has many tips
to understand imapsync and succeed in your migration or backup.
The FAQ file presents Frequently Asked Questions
(and not so frequently asked ones).
The ChangeLog
to read what changed in details since 2001.
The TODO file
lists what may be coded or done in the future.
All the people I thank are in the
CREDITS file.
What you're allowed to do with imapsync is listed in the LICENSE file (well worth it).
The imapsync mailing list
The public mailing-list may be the best way to get free and gratis support (not as quick as the professional support).
You can write to the mailing-list even if you're not subscribed to it.
In that case you will receive a confirmation message each time you post (to avoid spam).
To write on the mailing-list, the address is:
imapsync@linux-france.org
To subscribe, send a message to:
imapsync-subscribe@listes.linux-france.org
To unsubscribe, send a message to:
imapsync-unsubscribe@listes.linux-france.org
To contact the person in charge for the list:
imapsync-request@listes.linux-france.org
The list archives are available at
http://linux-france.org/prj/imapsync_list/
So consider that the list is public, anyone can see your post.
Use a pseudonym or do not post to
this list if you want to stay private.
Thank you for your participation to the imapsync mailing-list!
Lists of imap server software failures and success stories
Let's start with reported failure stories over the past.
Maybe new imapsync releases can run successfully with them.
Don't hesitate to have a try, It's been a long since last failure occured,
I will help you and make efforts to switch them to the success list,
I like it.
- DBMail 0.9, 2.0.7 (GPL). But most other DBMail releases are supported (see below)
- Hotmail since hotmail.com does not provide IMAP access
- Imail 7.04 (maybe).
- MailEnable 1.54 (Proprietary) but MailEnable 4.23 is supported.
- (2011) MDaemon 12.0.3 as host2
but MDaemon is supported as host1.
MDaemon is simply buggy with the APPEND IMAP command with any IMAP email client.
Now the long reported success stories list:
52 different imap server softwares supported!
[host1] means "source server" and [host2] means "destination server":
- 1und1 H mimap1 84498 [host1], H mibap4 95231 [host1](http://www.1und1.de/)
- a1.net imap.a1.net IMAP4 Ready [host1]
- Apple Server 10.6 Snow Leopard [host1]
- Archiveopteryx 2.03, 2.04, 2.09, 2.10 [host2], 3.0.0 [host2]
(OSL 3.0) (http://www.archiveopteryx.org/)
- Axigen Mail Server Version 8.0.0 (http://www.axigen.com/)
- BincImap 1.2.3 (GPL) (http://www.bincimap.org/)
- CommuniGatePro server (Redhat 8.0) (Solaris), CommuniGate Pro 5.2.17[host2] (CentOS 5.4)
(http://www.communigate.com/)
- Courier IMAP 1.5.1, 2.2.0, 2.1.1, 2.2.1, 3.0.8, 3.0.3, 4.1.1 (GPL)
(http://www.courier-mta.org/imap/)
- Critical Path (7.0.020) ()
- Cyrus IMAP 1.5, 1.6,
2.1, 2.1.15, 2.1.16, 2.1.18
2.2.1, 2.2.2-BETA, 2.2.3, 2.2.6, 2.2.10, 2.2.12, 2.2.13,
2.3-alpha (OSI Approved), 2.3.1, 2.3.7, 2.3.16
(http://cyrusimap.web.cmu.edu/)
- David Tobit V8. (http://www.tobit.com/)
- DBMail 1.2.1, 2.0.4, 2.0.9, 2.2rc1 (GPL).
2.0.7 seems buggy. (http://www.dbmail.org/)
- Deerfield VisNetic MailServer 5.8.6 [host1]
(http://www.deerfield.net/products/visnetic-mailserver/)
- dkimap4 [host1] ()
- Domino (Notes) 4.61[host1], 6.5, 5.0.6, 5.0.7, 7.0.2, 6.0.2CF1, 7.0.1[host1], 8.0.1[host1]
(http://www-01.ibm.com/software/lotus/products/notes/)
- Dovecot 0.99.10.4, 0.99.14, 0.99.14-8.fc4, 1.0-0.beta2.7,
1.0.0 [dest/source] (LGPL) (http://www.dovecot.org/) (http://www.dovecot.org/)
- Eudora WorldMail v2 (http://www.eudora.com/worldmail/)
- Gimap (Gmail imap) [host1] [host2] (http://mail.google.com/)
- GMX IMAP4 StreamProxy. (http://www.gmx.com/)
- Godaddy IMAP (since Godaddy runs Courier) (http://www.godaddy.com/)
- Groupwise IMAP (Novell) 6.x and 7.0. Buggy so see the FAQ.
(http://www.novell.com/products/groupwise/)
- hMailServer 5.3.3 [host2], 4.4.1 [host1], HMAILSERVER 5.3.2-B1769 on windows 2003 [hsot2]
(http://www.hmailserver.com/)
- iPlanet Messaging server 4.15, 5.1, 5.2
(http://en.wikipedia.org/wiki/Oracle_Communications_Messaging_Server)
- IMail 7.15 (Ipswitch/Win2003), 8.12, 11.03 [host1] (http://www.imailserver.com/)
- Kerio 7.2.0P1 [host1] (http://www.kerio.com/)
- Mail2World IMAP4 Server 2.5 [host1] (http://www.mail2world.com/)
- MailEnable 4.23 [host1][host2], 4.26 [host1][host2], 5 [host1]
(http://www.mailenable.com/)
- MDaemon 7.0.1, 8.0.2, 8.1, 9.5.4 (Windows server 2003 R2 platform), 9.6.5 [host1],
12 [host2], 12.0.3 [host1], 12.5.5 [host1]
(http://www.altn.com/)
- Mercury 4.1 (Windows server 2000 platform) (http://www.pmail.com/)
- Microsoft Exchange Server 5.5, 6.0.6249.0[host1], 6.0.6487.0[host1],
6.5.7638.1 [host2], 6.5 [host1], Exchange 2007 SP1 (with Update Rollup 2),
Exchange2007-EP-SP2,
Exchange 2010 RTM (Release to Manufacturing) [host2],
Exchange 2010 SP1 RU2 [host2]
(http://www.microsoft.com/exchange/)
- Mirapoint server 4.1.9-GA [host1] (http://www.mirapoint.com/)
- Netscape Mail Server 3.6 (Wintel)
- Netscape Messaging Server 4.15 Patch 7
- Office 365 [host1] [host2] (http://office365.com)
- OpenMail IMAP server B.07.00.k0
- OpenWave (http://www.openwave.com/)
- Oracle Beehive [host1]
(http://www.oracle.com/technetwork/middleware/beehive/)
- Qualcomm Worldmail (NT) (http://www.eudora.com/worldmail/)
- Rockliffe Mailsite 5.3.11, 4.5.6 (http://www.mailsite.com/)
- Samsung Contact IMAP server 8.5.0
- Scalix v10.1, 10.0.1.3, 11.0.0.431, 11.4.6 (http://www.scalix.com/)
- SmarterMail, Smarter Mail 5.0 Enterprise, Smarter Mail 5.5 [host1], SmarterMail Professional 10.2 [host1]. (http://www.smartertools.com/)
- Softalk Workgroup Mail 7.6.4 [host1] (http://www.softalkltd.com/products/download_wm_v7.asp).
- SunONE Messaging server 5.2, 6.0 (SUN JES - Java Enterprise System) (http://www.oracle.com/)
- Sun Java(tm) System Messaging Server 6.2-2.05, 6.2-7.05, 6.3 (http://www.oracle.com/)
- Surgemail 3.6f5-5, 6.3d-72 [host2] (http://netwinsite.com/surgemail/)
- UW-imap servers (imap-2000b) rijkkramer IMAP4rev1 2000.287
(RedHat uses UW like 2003.338rh), v12.264 Solaris 5.7 (OSI Approved)
(http://www.washington.edu/imap/)
- VMS, Imap part of TCP/IP suite of VMS 7.3.2 (http://h71000.www7.hp.com/openvms/)
- Yahoo [host1] (http://www.yahoo.com/)
- Zarafa 6,40,0,20653 [host1] (http://www.zarafa.com/)
- Zarafa ZCP 7.1.4 IMAP Gateway [host2]
- Zimbra-IMAP 3.0.1 GA 160, 3.1.0 Build 279, 4.0.5, 4.5.2, 4.5.6,
Zimbra 5.0.24_GA_3356.RHEL4 [host1], 5.5, 6.x
(http://www.zimbra.com/)
Similar softwares
Online IMAP migration services
I have no share in these free or paid services.
I don't think they use imapsync.
Prices are given par mailbox and may be outdated (december 2011).
This document last modified on
($Id: index.shtml,v 1.162 2013/05/14 07:46:14 gilles Exp gilles $)