Imapsync is an IMAP transfer tool.The purpose of imapsync is to migrate IMAP accounts or to backup IMAP accounts. IMAP, IMAP4 in fact (started December 1994), is one of the three current standard protocols used to access mailboxes,the two other being POP3 (started November 1988) and HTTP (started May 1996) with webmails, webmails are often tied to an IMAP server.
Imapsync is a command-line tool that allows incremental andrecursive IMAP transfers from one mailbox to another, both anywhere on the internetor in your local network. Imapsync runs on Windows, Linux, Mac OS X."Incremental" means you can stop the transfer at any timeand restart it later efficiently, without generating duplicates."Recursive" means the complete folders hierarchy can be copied, all folders, all subfolders etc."Command-line" means it's not a graphical tool, on Windows you have to run imapsync from a batch file.Anyway there is a visual online service, you can try imapsync online at
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.Also consider using caldavsynchronizeror asking experts at Sumatra company.
Imapsync used to be free, open and gratis, that was before November 2010. Now imapsync is free, open and not gratis from the homepage. Imapsync is still under the NOLIMIT license, claiming no limit to do anything with this work and this license,so one of the most open license of the universe.It is the best decision I've made about imapsync in order to continue to maintain it.See detailed explanation and motivation here when I looked for a business model."Download and donate if happy" doesn't work well."Pay for download and I pay back if unhappy" works well, a 100 times better.
There is no trial version but I offer 30-day money back guarantee whatever the reason for a refund. Or drop me a gentle email and I will provide you the latest imapsync because, well, you made the effort to contact me.
After downloading imapsync, go to the installation documentation.
You may wonder why the support alone is the same price as imapsync+support?It's because when you buy both at once, I'm not sure I will have to spend some time directly with you, it's possible that everything goes smoothly for you,since this aim is my daily work.But when you buy the support alone, after buying the software, then I will surely spend time (any amount of hours) to help you. Does it seem fair enough?
Instantly at the end of the payment, Paypal will proposed you to go back to the site, via a link to gil...@lamiral.info (it's my paypal account name),this link brings you to imapsync download.
You will also receive an email from gil...@lamiral.info a few minutes later (it can fall in the Spam folder sometimes).
In order to get an accurate invoice, please make sure the delivery postal address you enter in Paypal suits your accounting department, since revised editing is not easy.
Your invoice will be sent within a few days by email.My company is identified by VAT number FR74429303332 or French SIRET number 42930333200051, French APE/NAF number 6201Z ("programmation informatique" in French, aka, computer programming).
Refund for a bank transfer is less easier than with Paypal so drop me an email to test imapsync and to be sure it will do what you need it to do, before any payment.
The bank account references will be given upon request.
The figures presented here do not include the GitHub imapsync release usage.It's because --noreleasecheck is on by default since release 1.592 (2014/05/22)in the GitHub release.Looking at the numbers before and after 2014, the figures showed abovecould be doubled.
After Imapsync installation, you have to edit a "ready to use" batch file called imapsync_example.batand run it by a double-click.This batch file is also in the zip archive so it's useless to download it.
After Imapsync installation, you have to edit a "ready to use" script file called imapsync_example_darwin.batand run it in a shell window.This script file is also in the tgz archive so it's useless to download it.
Here after is presented a Linux imapsync command line example. You can try it on a terminal, as is. Anyway, it's easier to edit a shell script with the same exact command and run this script in a terminal or from a graphical desktop.Just take the Bourne shell script example imapsync_example.sh and adapt with your own parameters.This shell script file is also in the tgz archive so it can be useless to download it.
Location requirements:
Where to place imapsync?
Any host in any place is ok for imapsync as long as it has a network access to both IMAP servers, the source and the destination.
/usr/bin/imapsync --host1 imap.gmail.com --authmech1 xoauth2 --ssl1 --user1 [email protected] --password1 access_token --host2 imap.gmail.com --authmech1 xoauth2 --ssl1 --user2 [email protected] --password2 access_token --justlogin --debug
I noticed a weird problem with the imapsync feature which I am using to collect mails from various sources on my mailcow. Here is a part of the log entries I get when trying to sync mails from my classic hosted mailcow system.
if you have certain special characters in the password you may need to escape them - xx\@32 for instance. I can't say for sure which ones, but I have had to escape # and $. I haven't used imapsync with gmail, but I use it to transfer files when I'm changing our own mail servers.
imapsync is a good tool because it reduces the amount of data transferred by not transferring a given message if it is already on both sides. Same headers and the transfer is done only once. All flags are preserved, unread will stay unread, read will stay read, deleted will stay deleted. You can stop the transfer at any time and restart it later, imapsync works well with bad connections.
imapsync is not adequate for maintaining two active imap accounts in synchronization where the user plays independently on both sides. Use offlineimap (written by John Goerzen) or mbsync (written by Michael R. Elkins) for 2 ways synchronizations.
We need to migrate the service from old server (M365) to new server (Carbonio CE) by changing the MX record. As soon the mail stops landing to the old server (M365), we will start the data migration process using imapsync.
We need to migrate the service from old server (Google Workspace) to new server (Carbonio CE) by changing the MX record. As soon the mail stops landing to the old server (Google Workspace), we will start the data migration process using imapsync.
There is an interesting findings in the log. That is imapsync migrated all emails successfully except 8 emails due to their excessive size. And the log also hints what this error means with this link: Read _Too_Big.txt or you can just increase your destination server message size limit to not get this error.
Before you can use imapsync you must have both the source IMAP message store and ZCS up running and accessible to user accounts via IMAP. You can check that using an email client before starting the migration. You will need the login names (i.e. email addresses) and passwords for the users to be migrated. In addition, imapsync will not be able to authenticate to the Zimbra server until you enable clear text login for the IMAP service. You can set that option under the IMAP tab of the Global Settings or individual Server settings in the Zimbra Admin Console UI. There are also a few Perl module dependances, including; Digest::MD5, IO::Socket::SSL,Term::ReadKey, Digest:HMAC, libmail:imapclient (Mail::IMAPClient? requires exactly version 2.2.9, as of this writing), and Date::Manip. You can install these with your favorite package manager, from RPM's or with cpan. Finally, consider that imapsync will be a heavy load on your CPU and memory; the system running the migration will be less responsive.
Imapsync may run faster and consume less CPU with larger I/O buffers, but no benchmarking of this has been performed. The default buffer size is 4KB; increasing it by one or two orders of magnitude is not uncommon for typical Zimbra-ready configurations. To increase the buffersize to 8MB, add the arguments "--buffersize 8192000" when running imapsync.
You may interrupt imapsync at any time with CTRL-C. Simply restart the same command again to resume the migration. You can also run it more than once to sync changes for a staged migration. Imapsync will not copy the same data twice, so you do not have to be concerned about duplicate messages.
The default Zimbra IMAP maximum email size is 10MB. This will cause errors to be raised during the imapsync for emails which are larger than 10MB. Errors such as the following will be displayed in the imapsync log.
NOTE: imapsync will not be able to authenticate to ZCS until you "Enable clear text login" for the IMAP service.You can set that option under Global Settings or under Servers under IMAP in the ZCS Administration Console.
If you want to migrate large mailboxes (hundreds of folders and sub-folders containing several thousand messages) the default behaviour of imapsync may cause timeouts on the ZCS side. By default imapsync computes a lot of numbers for the sake of statistics only. By switching this off using
Here is a second batch script that will allow different usernames on the Source and Destination servers.Name this file imapsyncbatch then chmod to 755 execute with ./imapsyncbatch can be used with the--dry option for a dry run.
You will want to read the documentation and determine what commands are appropriate to your situation, but the general idea is that you provide the source host/user/password, the destination host/user/password, imapsync logs into both and transfers the mail. These are delineated as host1/user1/password1 and host2/user2/password2 in the command line options.
31c5a71286