diff --git a/CREDITS b/CREDITS index 27b63e23..57706c35 100644 --- a/CREDITS +++ b/CREDITS @@ -1,5 +1,5 @@ #!/bin/cat -# $Id: CREDITS,v 1.185 2016/01/14 12:23:01 gilles Exp gilles $ +# $Id: CREDITS,v 1.187 2016/03/07 02:08:16 gilles Exp gilles $ If you want to make a donation to me, imapsync author, Gilles LAMIRAL, use any of the following ways: @@ -9,7 +9,7 @@ b) If you can read french, please use the following wishlist : (books will be send with free postal cost) c) my paypal account is gilles.lamiral@laposte.net -http://imapsync.lamiral.info/W/paypal.shtml +http://imapsync.lamiral.info/S/paypal.shtml My postal address is: Gilles LAMIRAL @@ -24,6 +24,9 @@ I thank very much all of these people. I thank also very much all people who bought imapsync from the homepage but I don't cite them here. +Joe Pruett +Bugfix about delete_message_on_host1() not using --noexpungeaftereach + Mike Salonia Contributed by using and validating the multi-archive Gmail destination account. See FAQ.d/FAQ.Gmail.txt diff --git a/ChangeLog b/ChangeLog index a3712dfe..e86a4b66 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,17 +1,43 @@ RCS file: RCS/imapsync,v Working file: imapsync -head: 1.678 +head: 1.684 branch: locks: strict - gilles: 1.678 + gilles: 1.684 access list: symbolic names: keyword substitution: kv -total revisions: 678; selected revisions: 678 +total revisions: 684; selected revisions: 684 description: ---------------------------- -revision 1.678 locked by: gilles; +revision 1.684 locked by: gilles; +date: 2016/03/17 08:35:03; author: gilles; state: Exp; lines: +24 -16 +Bugfix. No more warning about "Use of uninitialized value $sockargs[7] in join or string at" +in ssl or tls mode. Was due to "'SSL_version' => undef". +---------------------------- +revision 1.683 +date: 2016/03/07 02:41:11; author: gilles; state: Exp; lines: +22 -10 +Added --sslargs1 in documentation. +---------------------------- +revision 1.682 +date: 2016/03/01 00:47:54; author: gilles; state: Exp; lines: +16 -11 +*** empty log message *** +---------------------------- +revision 1.681 +date: 2016/02/04 03:34:49; author: gilles; state: Exp; lines: +12 -13 +Bugfix. Syntax error! +---------------------------- +revision 1.680 +date: 2016/02/04 02:11:32; author: gilles; state: Exp; lines: +25 -27 +Bugfix. Added --expungeaftereach in sub delete_message_on_host1(). +Usability. Added "use --noexpungeaftereach to speed up" if --delete is used. +---------------------------- +revision 1.679 +date: 2016/01/25 01:57:54; author: gilles; state: Exp; lines: +11 -11 +Bugfix. "Can't use an undefined value as a HASH reference at /usr/bin/imapsync line 1247." +---------------------------- +revision 1.678 date: 2016/01/21 19:47:02; author: gilles; state: Exp; lines: +14 -21 README part check. ---------------------------- diff --git a/FAQ b/FAQ index 1327f8d0..673e7b59 100644 --- a/FAQ +++ b/FAQ @@ -1,5 +1,5 @@ #!/bin/cat -# $Id: FAQ,v 1.216 2015/11/13 23:58:12 gilles Exp gilles $ +# $Id: FAQ,v 1.221 2016/03/07 02:55:01 gilles Exp gilles $ +-------------------+ | FAQs for imapsync | @@ -179,7 +179,8 @@ R. To know wether a newer imapsync exists or not imapsync does a http * Operating System You can remove this behavior by adding option --noreleasecheck on the -command line (or by setting $releasecheck = 0 in the source code) +command line (or by setting $releasecheck = 0 in the source code) +or by using github release. ======================================================================= Q. I use --useuid which uses a cache in /tmp or --tmpdir, the hostnames @@ -359,16 +360,21 @@ Q. How can I try imapsync with latest Mail::IMAPClient 3.xx perl module? Three solutions at least. R1 - Look at the script named "i3" in the tarball, it can be used to - run imapsync with the included Mail-IMAPClient-3.37/ wherever you + run imapsync with the included Mail-IMAPClient-3.38/ wherever you unpacked the imapsync tarball R2 Run: - perl -MCPAN -e "install Mail::IMAPClient" + cpanm Mail::IMAPClient # this uses cpanminus + + or + cpan -i Mail::IMAPClient + or - cpan -i Mail::IMAPClient + perl -MCPAN -e "install Mail::IMAPClient" + R3 If you want to install the Perl module locally in a directory @@ -383,10 +389,10 @@ R3 If you want to install the Perl module locally in a directory - run imapsync with perl and -I option tailing to use the perl module Mail-IMAPClient-3.xx. Example: - perl -I./Mail-IMAPClient-3.37/lib ./imapsync ... + perl -I./Mail-IMAPClient-3.38/lib ./imapsync ... or if imapsync is in directory /path/ - perl -I./Mail-IMAPClient-3.37/lib /path/imapsync ... + perl -I./Mail-IMAPClient-3.38/lib /path/imapsync ... ======================================================================= @@ -438,88 +444,6 @@ two-ways sync. A better tool with this scenario is offlineimap, designed for this issue, and faster than imapsync. -======================================================================= -Q. We have found that the time and date displayed have been changed to - the time at which the file was synchronized. - -R. This is the case by default with some email readers like: - - Outlook 2003 - - Ipad - -but not with: - - - Mutt - - Thunderbird - - Zimbra - - Gmail - - -A thing to keep in mind, imapsync does not touch any byte of messages -unless told to do so by option --regexmess. -Messages on both parts should be identical. - -I explain the whole picture about dates of messages. - -There are several different dates for any message. -First, there is the "Date:" header. Most of the time, this date is set -by the MUA. MUA means Mail User Agent; it is Outlook, Mutt -or Thunderbird. The Date header is usually the date the message was written -or sent the first time. It is never changed by any transfer or copy. -If an email reader uses the Date header for displaying the date of a -message then no problem should arise. - -There is also the internal date. In IMAP the internal date is handled -and normally it corresponds to the arrival date in the mailbox. The -IMAP protocol allows the internal date to be set by a email client. -Imapsync synchronizes internal dates by default, internal dates on host2 -should then be the same as the internal dates on host1. -If an email reader uses the internal date for displaying the date of a -message then the sync date problem only occurs when the host2 server software -ignores the internal date given by imapsync during the APPEND imap -command. It happens with some imap servers. - -There are also the Received header lines. Each time a message travels -a SMTP server, this one adds a Received header line. Sometimes -some email clients use the last "Received" header date as the date of the -message. And some IMAP servers softwares add a Received line after -and imap transfer. If those both conditions are met then the date -displayed become the transfer date even if imapsync -has done its best to keep all the dates synchronized. Bad luck. - - - -Solutions: -a) Use a better email client or configure it in order it sorts messages -by sent date, the Date header. - -b) Use a imap server that respects the imap RFC and accepts -the internal date set by imapsync. - -c) Try to understand why the reader shows another date. -For Exchange look at the next FAQ item. - - - -======================================================================= -Q. imapsync calculates 479 messages in a folder but only transfers 400 - messages. What's happen? - -R1. Unless --useuid is used, imapsync considers a header part - of a message to identify a message on both sides. - By default the header part used is lines "Message-Id:" "Message-ID:" - and "Received:" or specific lines depending on --useheader - --skipheader. Whole header can be set by --useheader ALL - -Consequences: - - 1) Duplicate messages (identical header) are not transferred - several times. - -The result is that you can have more messages on host1 than on host2. - -R2. With option --useuid imapsync doesn't use headers to identify -messages on both sides but it uses their imap uid. In that case -duplicates on host1 are transferred on host2. ======================================================================= Q. I need to log every output on a file named log.txt @@ -533,62 +457,6 @@ R2. To change this default name, use --logfile log.txt imapsync ... --logfile log.txt -======================================================================= -Q. I need to log every output on a file named log.txt and also to the - screen in order to keep seeing what's going on during execution - -R. Use the tee program (also available on Windows) -http://en.wikipedia.org/wiki/Tee_%28command%29 -http://stackoverflow.com/questions/796476/displaying-windows-command-prompt-output-and-redirecting-it-to-a-file -http://code.google.com/p/wintee/ - - - imapsync ... 2>&1 | tee log.txt - -======================================================================= -Q. Can I run more instances of imapsync in parallel on a Windows host. - -R. Yes! - -Q. Any performance issue? - -You have to try and check the transfer rates, sum them up to -have a uniq numeric criteria. -There is always a limit, depending on remote imap servers -and the one running imapsync; -CPU, memory, Inputs/Outputs are the classical bottlenecks, -the worst bottleneck is the winner that sets the limit. - -examples/sync_loop_windows.bat says -... -REM ==== Parallel executions ==== -REM If you want to do parallel runs of imapsync then this current script is a good start. -REM Just copy it several times and replace, on each copy, the csvfile variable value. -REM Instead of SET csvfile=file.txt write for example -REM SET csvfile=file01.txt in the first copy -REM then also -REM SET csvfile=file02.txt in the second copy etc. -REM Of course you also have to split the data contained in file.txt -REM into file01.txt file02.txt etc. -REM After that, just double-click on each batch file to launch each process - - -======================================================================= -Q. I run multiple imapsync applications at the same time then get a - warning "imapsync.pid already exists, overwriting it". - Is this a potential problem when trying to sync multiple - IMAP account in parallel? - -R1. No issue with the file imapsync.pid if you don't use its content -by yourself. - -This file can help you to manage multiple runs by sending signals -to the processes (sigterm or sigkill) using their PID. -Each run can have its own pid file with --pidfile option. -The file imapsync.pid contains the PID of the imapsync process. -This file is removed at the end of a normal run. -You can safely ignore the warning if you don't use imapsync.pid file. - ======================================================================= Q. Quantifier in {,} bigger than 32766 in regex; marked by <-- HERE in m/(.{ <-- HERE 1,49947})(?:,|$)/ at Mail/IMAPClient.pm line 2121. @@ -697,134 +565,6 @@ R. May be spending too much time on the source server, the connection timed out on the destination server. Try options --nofoldersizes -======================================================================= -Q. Does imapsync support IMAP TLS? - -R. Use --tls1 and/or --tls2 options - ---tls1 tells imapsync to use tls on host1. ---tls2 tells imapsync to use tls on host2. - - -======================================================================= -Q. Does imapsync support IMAP over SSL (IMAPS)? - -R. Yes natively since release 1.161. -still, 2 ways, at least : - -a) Use native --ssl1 and/or --ssl2 options - ---ssl1 tells imapsync to use ssl on host1. ---ssl2 tells imapsync to use ssl on host2. - - -b) Use stunnel - http://www.stunnel.org/ - Assuming there is an imaps (993) server on imap.foo.org, - on your localhost machine (or bar machine) run : - stunnel -c -d imap -r imap.foo.org:imaps - or using names instead of numbers - stunnel -c -d 143 -r imap.foo.org:993 - then use imapsync on localhost (or bar machine) imap (143) port. - If the local port 143 is already taken then use a free one, 10143. - -c) Other example for gmail with no root access to open port 143 - - stunnel -f -P '' -c -d 9993 -r imap.gmail.com:993 - -Then, to access gmail as host2 use: - - imapsync ... --host2 localhost --port2 9993 --nossl2 - -======================================================================= -Q. How can I manually test a login via ssl? - -R. Use ncat or telnet-ssl like in this example: - -ncat --ssl -C imap.gmail.com 993 -* OK Gimap ready for requests from 78.196.254.58 q1mb175739668wix -a LOGIN "gilles.lamiral@gmail.com" "secret" -* CAPABILITY IMAP4rev1 UNSELECT IDLE NAMESPACE ... ESEARCH -a OK gilles.lamiral@gmail.com Gilles Lamiral authenticated (Success) -b LOGOUT -* BYE LOGOUT Requested -b OK 73 good day (Success) - -The client part to type is "a LOGIN ..." and "b LOGOUT" without -the double-quotes. - - -======================================================================= -Q: How to have an imaps server? - -R. -a) Install one - -b) or use stunnel : - Assuming there is an imap (143) server on localhost - stunnel -d 993 -r 143 -f - -c) or use stunnel on inetd - imaps stream tcp nowait cyrus /usr/sbin/stunnel -s cyrus -p /etc/ssl/certs/imapd.pem -r localhost:imap2 - -====================================================================== -Q. I am transferring mails from one IMAP server to another. I am using - an SSL connection. Transferring huge mails (>10MB) takes ages. - -R. try to transfer the mails without SSL connection. SSL code outside - imapsync uses a memory buffer, which gets increased upon reading of - mails by 4096 bytes. This creates a huge load on the host imapsync - runs on by copying the memory buffers for every 4096 byte step. - This does not occur without SSL. - -(Written by Stefan Schmidt) - -====================================================================== -Q. What are --subscribe and --subscribed for, and how can they be used? - -R. In the IMAP protocol each user can subscribe to one or more folders. - Then he can configure its email software to just see his subscribed - folders list. That's an IMAP feature. - - Knowing that, the imapsync help says: - - imapsync --help - ... - --subscribed : transfers subscribed folders. - --subscribe : subscribe to the folders transferred on the - host2 that are subscribed on host1. - --subscribe_all : subscribe to the folders transferred on the - host2 even if they are not subscribed on host1. - - -====================================================================== -Q. I want to exclude a folder hierarchy like "public" - -R. Use: - ---exclude "^public\." -or maybe ---exclude '^"public\.' - -In the example given the character "." is the folder separator, you -can omit it. Just take the string as it appears on the imapsync -output line : - -From folders list : [INBOX] [public.dreams] [etc.] - - -====================================================================== -Q. I want to exclude only INBOX - -R. Use: - - imapsync ... --exclude "^INBOX$" - -A good way to see what will be done is to first use: - - imapsync ... --exclude "^INBOX$" --justfolders --nofoldersizes --dry - - ====================================================================== Q. Can Imapsync filter Spam during the sync? @@ -839,33 +579,6 @@ http://www.stearns.org/doc/spamassassin-setup.current.html#isbg http://euer.krebsco.de/using-spamassassin-on-a-remote-imap-host.html https://github.com/ook/isbg -====================================================================== -Q. I want to exclude folders matching SPAM no matter the case, - aka how to be case insensitive - -R. Use: - - imapsync ... --exclude "(?i)spam" - -A good way to see what will be done is to first use: - - imapsync ... --exclude "(?i)spam" --justfolders --nofoldersizes --dry - - -====================================================================== -Q. I want the --folder "MyFolder" option be recursive. - -Two solutions: - -R1. Use - ---folderrec "MyFolder" - -R2. Use --include "^MyFolder" - Then the folder "MyFolder" and all its subfolders will be handled - and only them. - - ====================================================================== Q. How to migrate from uw-imap with an admin/authuser account? @@ -974,22 +687,19 @@ Q. I want to play with headers line and --regexmess but I want to leave R. The header/body separation is a blank line so an example: --regexmess 's{\A(.*?(?! ^$))^Date:(.*?)$}{$1Date:$2\nX-Date:$2}gxms' -Will replace (HeaderBegin and HeaderEnd are not part of the header) +Will replace the next three lines -HeaderBegin Message-ID: <499EF800.4030002@blabla.fr> Date: Fri, 20 Feb 2009 19:35:44 +0100 From: Gilles LAMIRAL -HeaderEnd -by +by the next four lines -HeaderBegin Message-ID: <499EF800.4030002@blabla.fr> Date: Fri, 20 Feb 2009 19:35:44 +0100 X-Date: Fri, 20 Feb 2009 19:35:44 +0100 From: Gilles LAMIRAL -HeaderEnd + This example just add an header line "X-Date:" based on "Date:" line. diff --git a/FAQ.d/FAQ.Connection.txt b/FAQ.d/FAQ.Connection.txt new file mode 100644 index 00000000..db4c43ee --- /dev/null +++ b/FAQ.d/FAQ.Connection.txt @@ -0,0 +1,25 @@ +#!/bin/cat +$Id: FAQ.Connection.txt,v 1.2 2016/03/16 13:33:51 gilles Exp gilles $ + +This documentation is also at http://imapsync.lamiral.info/#doc + +============================================ + Imapsync tips about connection issues. +============================================ + + +======================================================================= +Q.How to test a ssl imap connection without imapsync? + +R1.Use openssl command like the following, + an example with imap.gmail.com server: + + openssl s_client -connect imap.gmail.com:993 + +The previous command is an interactive connection, hit ctrl-c +to finish it. If you want to finish it gently, then use: + + { sleep 1; echo "a LOGOUT"; } | openssl s_client -connect imap.gmail.com:993 + +======================================================================= + diff --git a/FAQ.d/FAQ.Dates.txt b/FAQ.d/FAQ.Dates.txt new file mode 100644 index 00000000..a159dde7 --- /dev/null +++ b/FAQ.d/FAQ.Dates.txt @@ -0,0 +1,71 @@ +#!/bin/cat +$Id: FAQ.Dates.txt,v 1.2 2016/03/07 02:08:12 gilles Exp gilles $ + +This documentation is also at http://imapsync.lamiral.info/#doc + +=============================== + Imapsync tips about dates. +=============================== + + +======================================================================= +Q. We have found that the time and date displayed have been changed to + the time at which the file was synchronized. + +R. This is the case by default with some email readers like: + - Outlook 2003 + - Ipad + +but not with: + + - Mutt + - Thunderbird + - Zimbra + - Gmail + +A thing to keep in mind, imapsync does not touch any byte of messages +unless told to do so by option --regexmess or --pipemess +Messages on both parts should be identical. + +Now I explain the whole picture about dates of messages. + +There are several different dates for any message. +First, there is the "Date:" header. Most of the time, this date is set +by the MUA (MUA means Mail User Agent) it can be Outlook, Thunderbird, +a webmail or Mutt. The Date header is usually the date the message was written +or sent the first time, at the writer side. +This Date: header line is never changed by any transfer or copy. +If an email reader uses the "Date:" header for displaying the date of a +message then no problem should arise. + +Another date is the internal date. In IMAP, the internal date is handled +by the server and normally it corresponds to the arrival date in the mailbox. +The IMAP protocol allows the internal date to be set by a email client +when a message is delivered by the imap APPEND command. +Imapsync synchronizes internal dates by default, internal dates on host2 +should then be the same as the internal dates on host1. +If an email reader uses the internal date for displaying the date of a +message then the sync date problem only occurs when the host2 server software +ignores the internal date given by imapsync during the APPEND imap +command. It happens with some imap servers. + +There are also the "Received:" header lines. Each time a message travels +a SMTP server, this one adds a "Received:" header line. Sometimes +some email clients use the last "Received:" header date as the date of the +message. And some IMAP servers software add a "Received:" line after +and imap transfer. If those both conditions are met then the date +displayed become the transfer date even if imapsync +has done its best to keep all the dates synchronized. Bad luck. + + +Solutions: +a) Use a another email client or configure it in order it sorts messages +by sent date, the "Date:" header line. + +b) Use a imap server that respects the imap RFC and accepts +the internal date set by imapsync. + +c) Try to understand why the reader shows another date than the "Date:" line. + +======================================================================= + diff --git a/FAQ.d/FAQ.Domino.txt b/FAQ.d/FAQ.Domino.txt index d960eaeb..20202221 100644 --- a/FAQ.d/FAQ.Domino.txt +++ b/FAQ.d/FAQ.Domino.txt @@ -1,5 +1,7 @@ #!/bin/cat -# $Id: FAQ.Domino.txt,v 1.5 2016/01/18 18:14:12 gilles Exp gilles $ +# $Id: FAQ.Domino.txt,v 1.6 2016/01/28 14:34:15 gilles Exp gilles $ + +This documentation is also at http://imapsync.lamiral.info/#doc ============================= Imapsync tips for Domino. diff --git a/FAQ.d/FAQ.Dovecot.txt b/FAQ.d/FAQ.Dovecot.txt index 7738498b..ae8ec492 100644 --- a/FAQ.d/FAQ.Dovecot.txt +++ b/FAQ.d/FAQ.Dovecot.txt @@ -1,5 +1,7 @@ #!/bin/cat -$Id: FAQ.Dovecot.txt,v 1.3 2016/01/18 18:14:12 gilles Exp gilles $ +$Id: FAQ.Dovecot.txt,v 1.4 2016/01/28 14:34:15 gilles Exp gilles $ + +This documentation is also at http://imapsync.lamiral.info/#doc ======================================================================= Imapsync tips for Dovecot. Specific issues and solutions. diff --git a/FAQ.d/FAQ.Duplicates.txt b/FAQ.d/FAQ.Duplicates.txt index 6ba3f433..3c008c7a 100644 --- a/FAQ.d/FAQ.Duplicates.txt +++ b/FAQ.d/FAQ.Duplicates.txt @@ -1,5 +1,7 @@ #!/bin/cat -$Id: FAQ.Duplicates.txt,v 1.6 2016/01/18 18:14:12 gilles Exp gilles $ +$Id: FAQ.Duplicates.txt,v 1.9 2016/03/08 21:17:21 gilles Exp gilles $ + +This documentation is also at http://imapsync.lamiral.info/#doc ====================================================================== Imapsync tips about duplicated messages issues. @@ -8,8 +10,8 @@ $Id: FAQ.Duplicates.txt,v 1.6 2016/01/18 18:14:12 gilles Exp gilles $ ======================================================================= Q. How can I remove duplicates in an lone account? -R. Just run imapsync on the same account with option --delete2, - ie with host1 == host2 and user1 == user2 +R. Just run imapsync on the same account with option --delete2duplicates, + ie, with host1 == host2 and user1 == user2 ======================================================================= Q: Multiple copies, duplicates, when I run imapsync twice ore more. @@ -29,7 +31,7 @@ Keep in mind it uses a local cache. imapsync ... --useuid A big issue with --useuid is that it doesn't generate duplicates if -used from the first time. But it does generate duplicates after a previous +used from the first time but it does generate duplicates after a previous run without --useuid (because it uses a different method to identify the messages). A solution? it depends. --delete2 solves this problem if you are permitted to use it. @@ -53,11 +55,11 @@ want to forward me the output. A way to avoid this problem is by using option --useheader with a different set than the default ones used by imapsync. -The default set is like: +The default set is equivalent to: imapsync ... --useheader "Message-Id" --useheader "Received" -The big problem is that what can be used instead of Message-Id +The problem now is that what can be used instead of Message-Id and Received lines? Often standalone Message-Id works: imapsync ... --useheader "Message-Id" @@ -89,5 +91,25 @@ trick to keep the --useheader filtering behaviour is to use Read it as "skip every header except Message-Id". ======================================================================= +Q. imapsync calculates 479 messages in a folder but only transfers 400 + messages. What's happen? + +R1. Unless --useuid is used, imapsync considers a header part + of a message to identify a message on both sides. + By default the header part used is lines "Message-Id:" "Message-ID:" + and "Received:" or specific lines depending on --useheader + --skipheader. Whole header can be set by --useheader ALL + +Consequences: + + 1) Duplicate messages on host1 (identical header) are not transferred. + +The result is that you can have more messages on host1 than on host2. + +R2. With option --useuid imapsync doesn't use headers to identify + messages on both sides but it uses their imap uid identifier. + In that case duplicates on host1 are also transferred on host2. + +======================================================================= diff --git a/FAQ.d/FAQ.Exchange.txt b/FAQ.d/FAQ.Exchange.txt index 23ac1973..2524e108 100644 --- a/FAQ.d/FAQ.Exchange.txt +++ b/FAQ.d/FAQ.Exchange.txt @@ -1,5 +1,7 @@ #!/bin/cat -$Id: FAQ.Exchange.txt,v 1.17 2016/01/18 18:14:12 gilles Exp gilles $ +$Id: FAQ.Exchange.txt,v 1.20 2016/03/03 15:44:17 gilles Exp gilles $ + +This documentation is also at http://imapsync.lamiral.info/#doc ================================================================================= Imapsync tips for Exchange 20xx and Office365. Specific issues and solutions. @@ -18,6 +20,8 @@ Q. For Office365 I have double and triple checked the username and Q. Exchange fails with "User is authenticated but not connected". +Q. Exchange fails with "BAD Command received in Invalid state". + Q. From XXX to Exchange 2013 or Office365, read receipts are all resent again after a sync. Even for old messages. How can I fix that? @@ -148,6 +152,13 @@ http://unix.stackexchange.com/questions/164823/user-is-authenticated-but-not-con Thanks to James Abbottsmith for this link and explanation at https://github.com/imapsync/imapsync/issues/32#issuecomment-153561647 +======================================================================= +Q. Exchange fails with "BAD Command received in Invalid state". + +R. This message might happens when authentication without ssl nor tls. + Add --tls1 or --ssl1 if this error message comes from host1. + Add --tls2 or --ssl2 if this error message comes from host1. + ======================================================================= Q. From XXX to Exchange 2013 or Office365, read receipts are all resent again after a sync. Even for old messages. How can I fix that? @@ -191,6 +202,8 @@ R. This error message comes from Exchange IMAP server when it * Some messages are bigger than the size limit. 10 MB by default on Exchange. It can be upped by configuration for Exchange. + Sometimes a reboot is needed to take configuration changes + into account. If you can't fix this limit on Exchange then use option --maxsize 10000000 for 10 MB, change it if needed) to tell imapsync to skip those messages. diff --git a/FAQ.d/FAQ.Flags.txt b/FAQ.d/FAQ.Flags.txt index cf207b91..87ba1359 100644 --- a/FAQ.d/FAQ.Flags.txt +++ b/FAQ.d/FAQ.Flags.txt @@ -1,5 +1,7 @@ #!/bin/cat -$Id: FAQ.Flags.txt,v 1.6 2016/01/18 18:14:12 gilles Exp gilles $ +$Id: FAQ.Flags.txt,v 1.7 2016/01/28 14:34:15 gilles Exp gilles $ + +This documentation is also at http://imapsync.lamiral.info/#doc =============================== Imapsync tips about flags. diff --git a/FAQ.d/FAQ.Folders_Mapping.txt b/FAQ.d/FAQ.Folders_Mapping.txt index d4aa65d8..0aecbd7e 100644 --- a/FAQ.d/FAQ.Folders_Mapping.txt +++ b/FAQ.d/FAQ.Folders_Mapping.txt @@ -1,5 +1,7 @@ #!/bin/cat -$Id: FAQ.Folders_Mapping.txt,v 1.9 2016/01/18 18:14:12 gilles Exp gilles $ +$Id: FAQ.Folders_Mapping.txt,v 1.10 2016/01/28 14:34:15 gilles Exp gilles $ + +This documentation is also at http://imapsync.lamiral.info/#doc =============================================== Imapsync tips about changing folders names. diff --git a/FAQ.d/FAQ.Folders_Selection.txt b/FAQ.d/FAQ.Folders_Selection.txt new file mode 100644 index 00000000..3d5afe54 --- /dev/null +++ b/FAQ.d/FAQ.Folders_Selection.txt @@ -0,0 +1,96 @@ +#!/bin/cat +$Id: FAQ.Folders_Selection.txt,v 1.3 2016/02/07 22:01:56 gilles Exp gilles $ + +This documentation is also at http://imapsync.lamiral.info/#doc + +===================================== + Imapsync tips to select folders. +===================================== + +By default, Imapsync syncs all folders, one by one, in alphanumeric order. + +====================================================================== +Q. How can I sync only one folder? + +R. Use --folder option. + + imapsync ... --folder MyFolder + +If you have more specific folders to sync just add several --folder + + imapsync ... --folder MyFolder --folder ThisFolder --folder ThatFolder + + +====================================================================== +Q. What are --subscribe and --subscribed for, and how can they be used? + +R. In the IMAP protocol each user can subscribe to one or more folders. + Then one can configure his email software to just see his subscribed + folders. That's an IMAP feature. + + Knowing that, the imapsync help mentions: + + imapsync --help + ... + --subscribed : transfers subscribed folders. + --subscribe : subscribe to the folders transferred on the + host2 that are subscribed on host1. + --subscribe_all : subscribe to the folders transferred on the + host2 even if they are not subscribed on host1. + + +====================================================================== +Q. I want to exclude a folder hierarchy like "public" + +R. Use: + +--exclude "^public\." +or maybe +--exclude '^"public\.' + +In the example given the character "." is the folder separator, you +can omit it. Just take the string as it appears on the imapsync +output line : + +From folders list : [INBOX] [public.dreams] [etc.] + + +====================================================================== +Q. I want to exclude only INBOX + +R. Use: + + imapsync ... --exclude "^INBOX$" + +A good way to see what will be done is to first use: + + imapsync ... --exclude "^INBOX$" --justfolders --nofoldersizes --dry + +====================================================================== +Q. I want to exclude folders matching SPAM no matter the case, + aka how to be case insensitive + +R. Use: + + imapsync ... --exclude "(?i)spam" + +A good way to see what will be done is to first use: + + imapsync ... --exclude "(?i)spam" --justfolders --nofoldersizes --dry + + +====================================================================== +Q. I want the --folder "MyFolder" option be recursive. + +Two solutions: + +R1. Use + +--folderrec "MyFolder" + +R2. Use --include "^MyFolder" + Then the folder "MyFolder" and all its subfolders will be handled + and only them. + + + diff --git a/FAQ.d/FAQ.Gmail.txt b/FAQ.d/FAQ.Gmail.txt index 465729a3..6bba3a79 100644 --- a/FAQ.d/FAQ.Gmail.txt +++ b/FAQ.d/FAQ.Gmail.txt @@ -1,5 +1,7 @@ #!/bin/cat -$Id: FAQ.Gmail.txt,v 1.18 2016/01/18 18:14:12 gilles Exp gilles $ +$Id: FAQ.Gmail.txt,v 1.21 2016/03/17 20:14:14 gilles Exp gilles $ + +This documentation is also at http://imapsync.lamiral.info/#doc ===================================== Imapsync tips for Gmail accounts. @@ -108,9 +110,7 @@ when selecting this not used folder. ======================================================================= Q. How to synchronize from XXX to Gmail? -R. There are some details to get the special [Gmail] sub-folders - right. Here's an example of migrating an old "Sent" folder to - Gmail's structure: +R. Use the following example: imapsync --host1 mail.oldhost.com \ --user1 my_email@oldhost.com \ @@ -186,12 +186,6 @@ not accepted by gmail, character ^ to character _ underscore. --regextrans2 "s/['\"\\\\]/_/g" is optional. It converts characters ' or " or \ to character _ underscore. - - - -You can add --folder "INBOX.Sent" in the example in case -you want to sync only the "Sent" folder. - You can select folders exported to imap within the gmail preferences. Select or unselect some "System labels", depending on your needs. @@ -324,7 +318,7 @@ Q. Can not open imap connection on [imap.gmail.com]: Unable to connect to imap.gmail.com R0. It looks like this issue is related to ipv6. Both ipv4 and ipv6 -protocols should work with gmail and imapsync, I test that regurlarly, +protocols should work with gmail and imapsync, I test that regularly, imapsync works fine for both ipv4 and ipv6. If you disable ipv6 then disable also ipv6 resolution! Or at least, make ipv4 answers be taken before ipv6 since the default @@ -332,10 +326,10 @@ names resolution order is to present ipv6 name resolutions first. R1. A first simple solution is to use directly gmail ipv4 ip address: - imapsync ... --host1 74.125.133.108 + imapsync ... --host1 64.233.184.108 -In case it changes, get with any command showing the imap.gmail.com -name resolution: +In case it changes, get it with any command showing the imap.gmail.com +name resolution, try one of those: nslookup imap.gmail.com host imap.gmail.com @@ -343,7 +337,7 @@ name resolution: Or go to http://ping.eu/nslookup/ to get the resolution. -R2. Fix imapsync with the line: +R2. Second solution. Fix imapsync with the line: use IO::Socket::SSL 'inet4' ; diff --git a/FAQ.d/FAQ.ISP.txt b/FAQ.d/FAQ.ISP.txt index ac2f8c95..d42fac76 100644 --- a/FAQ.d/FAQ.ISP.txt +++ b/FAQ.d/FAQ.ISP.txt @@ -1,5 +1,7 @@ #!/bin/cat -$Id: FAQ.ISP.txt,v 1.3 2016/01/18 18:14:12 gilles Exp gilles $ +$Id: FAQ.ISP.txt,v 1.4 2016/01/28 14:34:15 gilles Exp gilles $ + +This documentation is also at http://imapsync.lamiral.info/#doc ========================================================= Imapsync tips for ISP. Specific issues and solutions. diff --git a/FAQ.d/FAQ.Massive.txt b/FAQ.d/FAQ.Massive.txt index e1dd835a..cf2c0a33 100644 --- a/FAQ.d/FAQ.Massive.txt +++ b/FAQ.d/FAQ.Massive.txt @@ -1,5 +1,7 @@ #!/bin/cat -$Id: FAQ.Massive.txt,v 1.6 2016/01/18 18:14:12 gilles Exp gilles $ +$Id: FAQ.Massive.txt,v 1.8 2016/02/07 17:21:40 gilles Exp gilles $ + +This documentation is also at http://imapsync.lamiral.info/#doc ============================================== Imapsync tips for massive/bulk migrations. @@ -8,10 +10,20 @@ $Id: FAQ.Massive.txt,v 1.6 2016/01/18 18:14:12 gilles Exp gilles $ Questions answered here are: Q. I need to migrate hundred accounts, how can I do? + Q. I have to migrate 500k users using 400 TB of disk space. How do I proceed? + Q. How to determine what is the bottleneck in my current imapsync process? +Q. Can I run more instances of imapsync in parallel on a Windows host? + +Q. I run multiple imapsync applications at the same time then get a + warning "imapsync.pid already exists, overwriting it". + Is this a potential problem when trying to sync multiple + IMAP account in parallel? + + ======================================================================= Q. I need to migrate hundred accounts, how can I do? @@ -123,3 +135,50 @@ If performances increase a lot then host1/link1 is the bottleneck. If performances increase on both tests 1) and 2), I have no clue to explain that. Same thing if they both decrease! + +======================================================================= +Q. Can I run more instances of imapsync in parallel on a Windows host? + +R. Yes! + +Q. Any performance issue? + +You have to try and check the transfer rates, sum them up to +have a uniq numeric criteria. +There is always a limit, depending on remote imap servers +and the one running imapsync; +CPU, memory, Inputs/Outputs are the classical bottlenecks, +the worst bottleneck is the winner that sets the limit. + +examples/sync_loop_windows.bat says +... +REM ==== Parallel executions ==== +REM If you want to do parallel runs of imapsync then this current script is a good start. +REM Just copy it several times and replace, on each copy, the csvfile variable value. +REM Instead of SET csvfile=file.txt write for example +REM SET csvfile=file01.txt in the first copy +REM then also +REM SET csvfile=file02.txt in the second copy etc. +REM Of course you also have to split the data contained in file.txt +REM into file01.txt file02.txt etc. +REM After that, just double-click on each batch file to launch each process + + +======================================================================= +Q. I run multiple imapsync applications at the same time then get a + warning "imapsync.pid already exists, overwriting it". + Is this a potential problem when trying to sync multiple + IMAP account in parallel? + +R1. No issue with the file imapsync.pid if you don't use its content +by yourself. + +This file can help you to manage multiple runs by sending signals +to the processes (sigterm or sigkill) using their PID. +Each run can have its own pid file with --pidfile option. +The file imapsync.pid contains the PID of the current imapsync process. +This file is removed at the end of a normal run. +You can safely ignore the warning if you don't use imapsync.pid file +to manage imapsync processes. + + diff --git a/FAQ.d/FAQ.Messages_selection.txt b/FAQ.d/FAQ.Messages_Selection.txt similarity index 95% rename from FAQ.d/FAQ.Messages_selection.txt rename to FAQ.d/FAQ.Messages_Selection.txt index fcb29815..33a44707 100644 --- a/FAQ.d/FAQ.Messages_selection.txt +++ b/FAQ.d/FAQ.Messages_Selection.txt @@ -1,5 +1,7 @@ #!/bin/cat -$Id: FAQ.Messages_selection.txt,v 1.3 2016/01/18 18:14:12 gilles Exp gilles $ +$Id: FAQ.Messages_Selection.txt,v 1.5 2016/02/05 08:22:26 gilles Exp gilles $ + +This documentation is also at http://imapsync.lamiral.info/#doc ===================================== Imapsync tips to select messages. diff --git a/FAQ.d/FAQ.Oracle-UCS.txt b/FAQ.d/FAQ.Oracle-UCS.txt index 3d7dda4a..43132b04 100644 --- a/FAQ.d/FAQ.Oracle-UCS.txt +++ b/FAQ.d/FAQ.Oracle-UCS.txt @@ -1,5 +1,7 @@ #!/bin/cat -$Id: FAQ.Oracle-UCS.txt,v 1.2 2016/01/18 18:14:12 gilles Exp gilles $ +$Id: FAQ.Oracle-UCS.txt,v 1.3 2016/01/28 14:34:15 gilles Exp gilles $ + +This documentation is also at http://imapsync.lamiral.info/#doc ================================================== Imapsync tips for Oracle-UCS. Specific issues. diff --git a/FAQ.d/FAQ.Security.txt b/FAQ.d/FAQ.Security.txt index 1d9ab19e..8f857e71 100644 --- a/FAQ.d/FAQ.Security.txt +++ b/FAQ.d/FAQ.Security.txt @@ -1,10 +1,69 @@ #!/bin/cat -# $Id: FAQ.Security.txt,v 1.3 2016/01/18 18:14:12 gilles Exp gilles $ +# $Id: FAQ.Security.txt,v 1.6 2016/02/07 21:49:52 gilles Exp gilles $ + +This documentation is also at http://imapsync.lamiral.info/#doc ======================================================= Imapsync tips about security. Issues and solutions. ======================================================= +======================================================================= +Q. Does imapsync support IMAP TLS? + +R. Use --tls1 and/or --tls2 options + +--tls1 tells imapsync to use tls on host1. +--tls2 tells imapsync to use tls on host2. + + +======================================================================= +Q. Does imapsync support IMAP over SSL (IMAPS)? + +R. Yes natively since release 1.161. +still, 2 ways, at least to use ssl: + +a) Use native --ssl1 and/or --ssl2 options + +--ssl1 tells imapsync to use ssl on host1. +--ssl2 tells imapsync to use ssl on host2. + + +b) Use stunnel + http://www.stunnel.org/ + Assuming there is an imaps (993) server on imap.foo.org, + on your localhost machine (or bar machine) run : + stunnel -c -d imap -r imap.foo.org:imaps + or using names instead of numbers + stunnel -c -d 143 -r imap.foo.org:993 + then use imapsync on localhost (or bar machine) imap (143) port. + If the local port 143 is already taken then use a free one, 10143. + +c) Other example for gmail with no root access to open port 143 + + stunnel -f -P '' -c -d 9993 -r imap.gmail.com:993 + +Then, to access gmail as host2 use: + + imapsync ... --host2 localhost --port2 9993 --nossl2 + + +======================================================================= +Q. How can I manually test a login via ssl? + +R. Use ncat or telnet-ssl like in this example: + +ncat --ssl -C imap.gmail.com 993 +* OK Gimap ready for requests from 78.196.254.58 q1mb175739668wix +a LOGIN "gilles.lamiral@gmail.com" "secret" +* CAPABILITY IMAP4rev1 UNSELECT IDLE NAMESPACE ... ESEARCH +a OK gilles.lamiral@gmail.com Gilles Lamiral authenticated (Success) +b LOGOUT +* BYE LOGOUT Requested +b OK 73 good day (Success) + +The client part to type is "a LOGIN ..." and "b LOGOUT" without +the double-quotes. + ====================================================================== Q. Imapsync used to use SSL_VERIFY_PEER now it uses SSL_VERIFY_NONE. @@ -24,5 +83,42 @@ R2. After imapsync 1.673, for example --sslargs1 SSL_verify_mode=1 \ --sslargs2 SSL_verify_mode=0 \ -C1. Don't do this in function "sub set_tls" since it won't work by principle, - tls is done AFTER the application level connexion is established +See perldoc IO::Socket::SSL for all possibilities, also at +http://search.cpan.org/perldoc?IO%3A%3ASocket%3A%3ASSL + +C1. Don't do this manual change in function "sub set_tls", + it won't work by principle, because tls is done AFTER + the application level connexion is established. + + +======================================================================= +Q. How can I manually test a login via ssl? + +R. Use ncat or telnet-ssl like in this example: + +ncat --ssl -C imap.gmail.com 993 +* OK Gimap ready for requests from 78.196.254.58 q1mb175739668wix +a LOGIN "gilles.lamiral@gmail.com" "secret" +* CAPABILITY IMAP4rev1 UNSELECT IDLE NAMESPACE ... ESEARCH +a OK gilles.lamiral@gmail.com Gilles Lamiral authenticated (Success) +b LOGOUT +* BYE LOGOUT Requested +b OK 73 good day (Success) + +The client part to type is "a LOGIN ..." and "b LOGOUT" without +the double-quotes. + + +======================================================================= +Q: How to have an imaps server? + +R. +a) Install one + +b) or use stunnel : + Assuming there is an imap (143) server on localhost + stunnel -d 993 -r 143 -f + +c) or use stunnel on inetd + imaps stream tcp nowait cyrus /usr/sbin/stunnel -s cyrus -p /etc/ssl/certs/imapd.pem -r localhost:imap2 + diff --git a/FAQ.d/FAQ.SmarterMail.txt b/FAQ.d/FAQ.SmarterMail.txt index 53800fb9..2dda9c76 100644 --- a/FAQ.d/FAQ.SmarterMail.txt +++ b/FAQ.d/FAQ.SmarterMail.txt @@ -1,5 +1,7 @@ #!/bin/cat -$Id: FAQ.SmarterMail.txt,v 1.7 2016/01/18 18:14:12 gilles Exp gilles $ +$Id: FAQ.SmarterMail.txt,v 1.8 2016/01/28 14:34:15 gilles Exp gilles $ + +This documentation is also at http://imapsync.lamiral.info/#doc ================================================================= Imapsync tips for SmarterMail. Specific issues and solutions. diff --git a/FAQ.d/FAQ.Various_Server_Softwares.txt b/FAQ.d/FAQ.Various_Server_Softwares.txt index 8bbd7649..908f80c5 100644 --- a/FAQ.d/FAQ.Various_Server_Softwares.txt +++ b/FAQ.d/FAQ.Various_Server_Softwares.txt @@ -1,5 +1,7 @@ #!/bin/cat -$Id: FAQ.Various_Server_Softwares.txt,v 1.3 2016/01/18 18:14:12 gilles Exp gilles $ +$Id: FAQ.Various_Server_Softwares.txt,v 1.4 2016/01/28 14:34:15 gilles Exp gilles $ + +This documentation is also at http://imapsync.lamiral.info/#doc ==================================================== Imapsync tips for various imap server softwares. diff --git a/FAQ.d/FAQ.XOAUTH2.txt b/FAQ.d/FAQ.XOAUTH2.txt index fbf1d6ca..16442cec 100644 --- a/FAQ.d/FAQ.XOAUTH2.txt +++ b/FAQ.d/FAQ.XOAUTH2.txt @@ -1,5 +1,7 @@ #!/bin/cat -$Id: FAQ.XOAUTH2.txt,v 1.8 2016/01/18 18:14:12 gilles Exp gilles $ +$Id: FAQ.XOAUTH2.txt,v 1.9 2016/01/28 14:34:15 gilles Exp gilles $ + +This documentation is also at http://imapsync.lamiral.info/#doc ====================================================================== Imapsync tips to use XOAUTH2 authentication (Gmail) and old XOAUTH diff --git a/Makefile b/Makefile index 951fb7c3..da007e7a 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ -# $Id: Makefile,v 1.216 2016/01/22 01:03:46 gilles Exp gilles $ +# $Id: Makefile,v 1.222 2016/03/07 15:56:21 gilles Exp gilles $ .PHONY: help usage all doc @@ -49,7 +49,7 @@ VERSION=$(shell perl -I$(IMAPClient) ./imapsync --version 2>/dev/null || cat VER VERSION_EXE=$(shell cat ./VERSION_EXE) HELLO=$(shell date;uname -a) -IMAPClient_3xx=./W/Mail-IMAPClient-3.37/lib +IMAPClient_3xx=./W/Mail-IMAPClient-3.38/lib IMAPClient=$(IMAPClient_3xx) HOSTNAME = $(shell hostname -s) @@ -107,14 +107,14 @@ clean_test: rm -f .test_3xx clean_tilde: - rm -f *~ W/*~ FAQ.d/*~ + rm -f *~ W/*~ FAQ.d/*~ S/*~ INSTALL.d/*~ clean_log: rm -f LOG_imapsync/*.txt rm -f examples/LOG_imapsync/*.txt clean_bak: - rm -f index.shtml.bak ./W/style.css.bak + rm -f index.shtml.bak ./S/style.css.bak .PHONY: install dist man @@ -142,11 +142,11 @@ install: testp W/imapsync.1 ci: cidone cidone: - rcsdiff W/*.bat W/*.out W/*.txt W/*.htaccess W/*.shtml - rcsdiff S/*.txt S/*.shtml + rcsdiff W/*.bat W/*.out W/*.txt W/*.htaccess + rcsdiff S/*.txt S/*.shtml S/*.html rcsdiff doc/*.t2t rcsdiff INSTALL.d/*.txt INSTALL.d/prerequisites_imapsync - rcsdiff FAQ.d/*txt + rcsdiff FAQ.d/*.txt rcsdiff examples/*.sh examples/*.bat examples/*.txt rcsdiff RCS/* @@ -193,6 +193,8 @@ test_quick_3xx: imapsync tests.sh testv3: imapsync tests.sh CMD_PERL='perl -I./$(IMAPClient_3xx)' /usr/bin/time sh tests.sh + + testv: testv3 test: .test_3xx @@ -269,7 +271,7 @@ W/test3_gmail.bat: scp imapsync W/test3_gmail.bat /g/var/pass/secret.gilles_gmail Admin@c:'C:/msys/1.0/home/Admin/imapsync/' ssh Admin@c 'C:/msys/1.0/home/Admin/imapsync/test3_gmail.bat' -test_imapsync_exe: +test_exe: unix2dos W/test_exe.bat scp W/test_exe.bat Admin@c:'C:/msys/1.0/home/Admin/imapsync/' ssh Admin@c 'C:/msys/1.0/home/Admin/imapsync/test_exe.bat' @@ -371,15 +373,11 @@ tarball: ../prepa_dist/$(DIST_FILE) ls -l ../prepa_dist/$(DIST_FILE) -DO_IT := $(shell test -d dist && { test -f ./dist/path_$(VERSION).txt || makepasswd --chars 4 > ./dist/path_$(VERSION).txt ; } ) -DIST_SECRET := $(shell test -d dist && cat ./dist/path_$(VERSION).txt) -DIST_PATH := ./dist/$(DIST_SECRET) - -lalala: - echo $(DIST_SECRET) +DIST_PATH := ./dist/ dist: cidone test clean all perlcritic dist_prepa dist_zip README_dist.txt + md5: cd $(DIST_PATH)/ && md5sum * @@ -387,7 +385,7 @@ sha: cd $(DIST_PATH)/ && sha512sum * -dist_prepa: tarball dist_dir +dist_prepa: tarball ln -f ../prepa_dist/$(DIST_FILE) $(DIST_PATH)/ rcsdiff imapsync cp -a imapsync $(DIST_PATH)/ @@ -395,22 +393,11 @@ dist_prepa: tarball dist_dir #cd $(DIST_PATH)/ && md5sum -c $(DIST_FILE).md5.txt ls -l $(DIST_PATH)/ -dist_dir: - @echo $(DIST_SECRET) - @echo $(DIST_PATH) - mkdir -p $(DIST_PATH) - ln -f ./dist/path_$(VERSION).txt ./dist/path_last.txt - - -dist_exe: imapsync.exe - cp -a ./imapsync.exe $(DIST_PATH)/ - #cd $(DIST_PATH)/ && md5sum ./imapsync.exe > ./imapsync.exe.md5.txt - #cd $(DIST_PATH)/ && md5sum -c ./imapsync.exe.md5.txt dist_zip: zip cp -a ../prepa_zip/imapsync_$(VERSION_EXE).zip $(DIST_PATH)/ -README_dist.txt: dist_dir +README_dist.txt: sh W/tools/gen_README_dist > $(DIST_PATH)/README_dist.txt unix2dos $(DIST_PATH)/README_dist.txt @@ -447,13 +434,11 @@ PUBLIC = ./ChangeLog ./NOLIMIT ./LICENSE ./CREDITS ./FAQ \ ./VERSION ./VERSION_EXE ./imapsync \ ./README ./OPTIONS ./TODO -PUBLIC_W = ./W/style.css ./W/tw-hash.html \ -./W/TIME.txt \ -./W/paypal.shtml ./W/paypal_return.shtml + PUBLIC_doc = ./doc/TUTORIAL_Unix.html ./doc/GOOD_PRACTICES.html -ml: dist_dir +ml: rcsdiff W/ml_announce.in m4 -P W/ml_announce.in | mutt -H- mailq @@ -491,9 +476,7 @@ checklinkext: S/news.shtml S/external.shtml S/imapservers.shtml S/template.shtm upload_index: .valid.index.shtml rcsdiff index.shtml S/*.shtml FAQ FAQ.d/*.txt INSTALL LICENSE CREDITS TODO W/*.bat examples/*.bat index.shtml INSTALL.d/*.txt imapsync rsync -avH index.shtml FAQ INSTALL OPTIONS NOLIMIT LICENSE CREDITS TODO imapsync imapsync.exe $(BIN_NAME) imapsync_bin_Darwin ../imapsync_website/ - rsync -avH $(PUBLIC_W) ../imapsync_website/W/ rsync -avH S/ ../imapsync_website/S/ - rsync -avH W/images/ ../imapsync_website/W/images/ rsync -aHv --delete ./examples/ ../imapsync_website/examples/ rsync -aHv --delete ./INSTALL.d/ ../imapsync_website/INSTALL.d/ rsync -aHv --delete ./FAQ.d/ ../imapsync_website/FAQ.d/ @@ -513,11 +496,11 @@ upload_FAQ: upload_ks: ci tarball rsync -aHv $(PUBLIC) ../imapsync_website/ rsync -aHv $(PUBLIC_W) ../imapsync_website/W/ - rsync -aHv --delete ./W/images/ ../imapsync_website/W/images/ rsync -aHv --delete ./W/ks.htaccess ../imapsync_website/.htaccess rsync -avH ./S/ ../imapsync_website/S/ rsync -aHv --delete ./dist/ ../imapsync_website/dist/ rsync -aHv --delete ./examples/ ../imapsync_website/examples/ rsync -aHv --delete ./INSTALL.d/ ../imapsync_website/INSTALL.d/ rsync -aHv --delete ./FAQ.d/ ../imapsync_website/FAQ.d/ + rsync -avH --delete ./doc/ ../imapsync_website/doc/ rsync -aHvz --delete ../imapsync_website/ root@ks.lamiral.info:/var/www/imapsync/ diff --git a/OPTIONS b/OPTIONS index 77727eb8..08a2dc95 100644 --- a/OPTIONS +++ b/OPTIONS @@ -31,7 +31,13 @@ --tls1 : Use a TLS connection on host1. --tls2 : Use a TLS connection on host2. --debugssl int : SSL debug mode from 0 to 4. - + --sslargs1 str : Pass any ssl parameter for host1 ssl or tls connection. Example: + --sslargs1 SSL_verify_mode=1 --sslargs1 SSL_version=SSLv3 + See all possibilities in the new() method of IO::Socket::SSL + http://search.cpan.org/perldoc?IO::Socket::SSL#Description_Of_Methods + --sslargs2 str : Pass any ssl parameter for host2 ssl or tls connection. + See --sslargs1 + --timeout1 int : Connection timeout in seconds for host1. Default is 120 and 0 means no timeout at all. --timeout2 int : Connection timeout in seconds for host2. @@ -269,8 +275,8 @@ --host2 test2.lamiral.info --user2 test2 --password2 secret2 Here is a [linux] system (Linux petite 3.2.0-97-generic #137-Ubuntu SMP Thu Dec 17 21:14:00 UTC 2015 i686) -With perl 5.14.2 Mail::IMAPClient 3.37 -$Id: imapsync,v 1.678 2016/01/21 19:47:02 gilles Exp gilles $ +With perl 5.14.2 Mail::IMAPClient 3.38 +$Id: imapsync,v 1.684 2016/03/17 08:35:03 gilles Exp gilles $ This current imapsync is up to date Homepage: http://imapsync.lamiral.info/ diff --git a/README b/README index f7840ab3..5e929f99 100644 --- a/README +++ b/README @@ -4,7 +4,7 @@ NAME More than 66 different IMAP server softwares supported with success, few failures. - $Revision: 1.678 $ + $Revision: 1.684 $ SYNOPSIS To synchronize the source imap account @@ -81,6 +81,12 @@ USAGE --tls1 : Use a TLS connection on host1. --tls2 : Use a TLS connection on host2. --debugssl int : SSL debug mode from 0 to 4. + --sslargs1 str : Pass any ssl parameter for host1 ssl or tls connection. Example: + --sslargs1 SSL_verify_mode=1 --sslargs1 SSL_version=SSLv3 + See all possibilities in the new() method of IO::Socket::SSL + http://search.cpan.org/perldoc?IO::Socket::SSL#Description_Of_Methods + --sslargs2 str : Pass any ssl parameter for host2 ssl or tls connection. + See --sslargs1 --timeout1 int : Connection timeout in seconds for host1. Default is 120 and 0 means no timeout at all. @@ -592,5 +598,5 @@ SIMILAR SOFTWARES Feedback (good or bad) will often be welcome. - $Id: imapsync,v 1.678 2016/01/21 19:47:02 gilles Exp gilles $ + $Id: imapsync,v 1.684 2016/03/17 08:35:03 gilles Exp gilles $ diff --git a/S/bc-payment.html b/S/bc-payment.html new file mode 100755 index 00000000..5a599315 --- /dev/null +++ b/S/bc-payment.html @@ -0,0 +1,11 @@ + + + +Pay with bitcoins + diff --git a/S/external.shtml b/S/external.shtml index 0097578e..7d08d849 100755 --- a/S/external.shtml +++ b/S/external.shtml @@ -15,8 +15,8 @@ - - + + @@ -76,19 +76,19 @@ Prices are given par mailbox and may be outdated (December 2011).

Valid XHTML 1.0 Strict CSS Valide ! Viewable With Any Browser
@@ -98,7 +98,7 @@ alt="Viewable With Any Browser" /> This document last modified on -($Id: external.shtml,v 1.5 2015/10/08 01:05:25 gilles Exp gilles $)
+($Id: external.shtml,v 1.6 2016/03/03 22:36:57 gilles Exp gilles $)
Top of the page

diff --git a/W/images/ab_jlh.png b/S/images/ab_jlh.png similarity index 100% rename from W/images/ab_jlh.png rename to S/images/ab_jlh.png diff --git a/W/images/gilles_lamiral_400x400.jpeg b/S/images/gilles_lamiral_400x400.jpeg similarity index 100% rename from W/images/gilles_lamiral_400x400.jpeg rename to S/images/gilles_lamiral_400x400.jpeg diff --git a/W/images/logo_imapsync.png b/S/images/logo_imapsync.png similarity index 100% rename from W/images/logo_imapsync.png rename to S/images/logo_imapsync.png diff --git a/W/images/logo_imapsync_1500x500.png b/S/images/logo_imapsync_1500x500.png similarity index 100% rename from W/images/logo_imapsync_1500x500.png rename to S/images/logo_imapsync_1500x500.png diff --git a/W/images/logo_imapsync_2.svg b/S/images/logo_imapsync_2.svg similarity index 100% rename from W/images/logo_imapsync_2.svg rename to S/images/logo_imapsync_2.svg diff --git a/W/images/logo_imapsync_s.png b/S/images/logo_imapsync_s.png similarity index 100% rename from W/images/logo_imapsync_s.png rename to S/images/logo_imapsync_s.png diff --git a/W/images/valid-xhtml10 b/S/images/valid-xhtml10 similarity index 100% rename from W/images/valid-xhtml10 rename to S/images/valid-xhtml10 diff --git a/W/images/vcss-blue b/S/images/vcss-blue similarity index 100% rename from W/images/vcss-blue rename to S/images/vcss-blue diff --git a/S/imapservers.shtml b/S/imapservers.shtml index 21841d44..a22c778d 100755 --- a/S/imapservers.shtml +++ b/S/imapservers.shtml @@ -15,8 +15,8 @@ - - + + @@ -63,6 +63,7 @@ Examples:

  • Atmail 6.x [host1] https://www.atmail.com/
  • Axigen Mail Server Version 8.0.0 (https://www.axigen.com/)
  • BincImap 1.2.3 (GPL) (http://www.bincimap.org/)
  • +
  • ClearOS https://www.clearos.com/ uses Cyrus as IMAP backend server.
  • 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) @@ -180,19 +181,19 @@ that's my job.
    Valid XHTML 1.0 Strict CSS Valide ! Viewable With Any Browser
    @@ -202,7 +203,7 @@ alt="Viewable With Any Browser" /> This document last modified on -($Id: imapservers.shtml,v 1.8 2015/11/04 18:21:08 gilles Exp gilles $)
    +($Id: imapservers.shtml,v 1.10 2016/03/03 22:36:57 gilles Exp gilles $)
    Top of the page

    diff --git a/S/imapsync_sold_by_country.txt b/S/imapsync_sold_by_country.txt index c94e1b96..85dc57d3 100644 --- a/S/imapsync_sold_by_country.txt +++ b/S/imapsync_sold_by_country.txt @@ -1,82 +1,83 @@ -1143 Etats-Unis_d'Amerique___ 25.84 % 25.84 % 1 -811 Allemagne_______________ 18.34 % 44.18 % 2 -413 Royaume-Uni_____________ 9.34 % 53.52 % 3 -212 France__________________ 4.79 % 58.31 % 4 -209 Italie__________________ 4.73 % 63.03 % 5 -201 Canada__________________ 4.54 % 67.58 % 6 -179 Suisse__________________ 4.05 % 71.63 % 7 -154 Pays-Bas________________ 3.48 % 75.11 % 8 -151 Australie_______________ 3.41 % 78.52 % 9 -90 Autriche________________ 2.03 % 80.56 % 10 -80 Belgique________________ 1.81 % 82.36 % 11 -76 Espagne_________________ 1.72 % 84.08 % 12 -65 Suede___________________ 1.47 % 85.55 % 13 -52 Danemark________________ 1.18 % 86.73 % 14 -48 Bresil__________________ 1.09 % 87.81 % 15 -41 Norvege_________________ 0.93 % 88.74 % 16 -31 Finlande________________ 0.70 % 89.44 % 17 -29 Pologne_________________ 0.66 % 90.10 % 18 -25 Republique_tcheque______ 0.57 % 90.66 % 19 -25 Japon___________________ 0.57 % 91.23 % 20 -25 ________________________ 0.57 % 91.79 % 21 -22 Russie__________________ 0.50 % 92.29 % 22 -22 Irlande_________________ 0.50 % 92.79 % 23 -21 Nouvelle-Zelande________ 0.47 % 93.26 % 24 -18 Hongrie_________________ 0.41 % 93.67 % 25 -15 Hong-Kong_______________ 0.34 % 94.01 % 26 -15 Afrique_du_Sud__________ 0.34 % 94.35 % 27 -14 Portugal________________ 0.32 % 94.66 % 28 -13 Slovaquie_______________ 0.29 % 94.96 % 29 -13 Malaisie________________ 0.29 % 95.25 % 30 -12 Luxembourg______________ 0.27 % 95.52 % 31 -12 Inde____________________ 0.27 % 95.79 % 32 -12 Grece___________________ 0.27 % 96.07 % 33 -12 Argentine_______________ 0.27 % 96.34 % 34 -11 Singapour_______________ 0.25 % 96.59 % 35 -11 Israel__________________ 0.25 % 96.83 % 36 -11 Chine___________________ 0.25 % 97.08 % 37 -11 Chili___________________ 0.25 % 97.33 % 38 -10 Mexique_________________ 0.23 % 97.56 % 39 -9 Roumanie________________ 0.20 % 97.76 % 40 -8 Slovenie________________ 0.18 % 97.94 % 41 -8 Emirats_Arabes_Unis_____ 0.18 % 98.12 % 42 -7 Lettonie________________ 0.16 % 98.28 % 43 -5 Thailande_______________ 0.11 % 98.39 % 44 -5 Malte___________________ 0.11 % 98.51 % 45 -5 Islande_________________ 0.11 % 98.62 % 46 -4 Turquie_________________ 0.09 % 98.71 % 47 -4 Indonesie_______________ 0.09 % 98.80 % 48 -4 Egypte__________________ 0.09 % 98.89 % 49 -4 Croatie_________________ 0.09 % 98.98 % 50 -4 Bulgarie________________ 0.09 % 99.07 % 51 -3 Venezuela_______________ 0.07 % 99.14 % 52 -3 Philippines_____________ 0.07 % 99.21 % 53 -3 Estonie_________________ 0.07 % 99.28 % 54 -2 Vietnam_________________ 0.05 % 99.32 % 55 -2 Uruguay_________________ 0.05 % 99.37 % 56 -2 Lituanie________________ 0.05 % 99.41 % 57 -2 Costa_Rica______________ 0.05 % 99.46 % 58 -2 Chypre__________________ 0.05 % 99.50 % 59 -1 Ukraine_________________ 0.02 % 99.53 % 60 -1 Trinite-et-Tobago_______ 0.02 % 99.55 % 61 -1 Tanzanie________________ 0.02 % 99.57 % 62 -1 Taiwan__________________ 0.02 % 99.59 % 63 -1 Serbie__________________ 0.02 % 99.62 % 64 -1 Senegal_________________ 0.02 % 99.64 % 65 -1 Saint_Christophe-Nevis-Anguilla__ 0.02 % 99.66 % 66 -1 Qatar___________________ 0.02 % 99.68 % 67 -1 Perou___________________ 0.02 % 99.71 % 68 -1 Panama__________________ 0.02 % 99.73 % 69 -1 Nouvelle-Caledonie______ 0.02 % 99.75 % 70 -1 Nigeria_________________ 0.02 % 99.77 % 71 -1 Namibie_________________ 0.02 % 99.80 % 72 -1 Mongolie________________ 0.02 % 99.82 % 73 -1 Moldavie________________ 0.02 % 99.84 % 74 -1 Maldives________________ 0.02 % 99.86 % 75 -1 Îles_Vierges_britanniques__ 0.02 % 99.89 % 76 -1 Koweit__________________ 0.02 % 99.91 % 77 -1 Jordanie________________ 0.02 % 99.93 % 78 -1 Colombie________________ 0.02 % 99.95 % 79 -1 Bahrein_________________ 0.02 % 99.98 % 80 -1 Antilles_neerlandaises__ 0.02 % 100.00 % 81 -TOTAL = 4423 sales over 81 countries on Thu Jan 21 20:48:13 CET 2016 +1156 Etats-Unis_d'Amerique___ 25.47 % 25.47 % 1 +832 Allemagne_______________ 18.33 % 43.81 % 2 +427 Royaume-Uni_____________ 9.41 % 53.22 % 3 +220 Italie__________________ 4.85 % 58.07 % 4 +219 France__________________ 4.83 % 62.89 % 5 +202 Canada__________________ 4.45 % 67.34 % 6 +184 Suisse__________________ 4.05 % 71.40 % 7 +160 Pays-Bas________________ 3.53 % 74.92 % 8 +158 Australie_______________ 3.48 % 78.40 % 9 +92 Autriche________________ 2.03 % 80.43 % 10 +83 Espagne_________________ 1.83 % 82.26 % 11 +83 Belgique________________ 1.83 % 84.09 % 12 +65 Suede___________________ 1.43 % 85.52 % 13 +56 Danemark________________ 1.23 % 86.76 % 14 +48 Bresil__________________ 1.06 % 87.81 % 15 +41 Norvege_________________ 0.90 % 88.72 % 16 +31 Pologne_________________ 0.68 % 89.40 % 17 +31 Finlande________________ 0.68 % 90.08 % 18 +26 Japon___________________ 0.57 % 90.66 % 19 +25 Republique_tcheque______ 0.55 % 91.21 % 20 +25 ________________________ 0.55 % 91.76 % 21 +23 Irlande_________________ 0.51 % 92.27 % 22 +22 Russie__________________ 0.48 % 92.75 % 23 +21 Nouvelle-Zelande________ 0.46 % 93.21 % 24 +20 Hongrie_________________ 0.44 % 93.65 % 25 +16 Hong-Kong_______________ 0.35 % 94.01 % 26 +15 Portugal________________ 0.33 % 94.34 % 27 +15 Afrique_du_Sud__________ 0.33 % 94.67 % 28 +13 Slovaquie_______________ 0.29 % 94.95 % 29 +13 Malaisie________________ 0.29 % 95.24 % 30 +13 Luxembourg______________ 0.29 % 95.53 % 31 +13 Grece___________________ 0.29 % 95.81 % 32 +12 Inde____________________ 0.26 % 96.08 % 33 +12 Argentine_______________ 0.26 % 96.34 % 34 +11 Singapour_______________ 0.24 % 96.58 % 35 +11 Israel__________________ 0.24 % 96.83 % 36 +11 Chine___________________ 0.24 % 97.07 % 37 +11 Chili___________________ 0.24 % 97.31 % 38 +10 Roumanie________________ 0.22 % 97.53 % 39 +10 Mexique_________________ 0.22 % 97.75 % 40 +8 Slovenie________________ 0.18 % 97.93 % 41 +8 Emirats_Arabes_Unis_____ 0.18 % 98.10 % 42 +7 Lettonie________________ 0.15 % 98.26 % 43 +5 Thailande_______________ 0.11 % 98.37 % 44 +5 Malte___________________ 0.11 % 98.48 % 45 +5 Islande_________________ 0.11 % 98.59 % 46 +4 Turquie_________________ 0.09 % 98.68 % 47 +4 Indonesie_______________ 0.09 % 98.77 % 48 +4 Egypte__________________ 0.09 % 98.85 % 49 +4 Croatie_________________ 0.09 % 98.94 % 50 +4 Bulgarie________________ 0.09 % 99.03 % 51 +3 Venezuela_______________ 0.07 % 99.10 % 52 +3 Serbie__________________ 0.07 % 99.16 % 53 +3 Philippines_____________ 0.07 % 99.23 % 54 +3 Estonie_________________ 0.07 % 99.29 % 55 +2 Vietnam_________________ 0.04 % 99.34 % 56 +2 Uruguay_________________ 0.04 % 99.38 % 57 +2 Lituanie________________ 0.04 % 99.43 % 58 +2 Costa_Rica______________ 0.04 % 99.47 % 59 +2 Chypre__________________ 0.04 % 99.52 % 60 +1 Ukraine_________________ 0.02 % 99.54 % 61 +1 Trinite-et-Tobago_______ 0.02 % 99.56 % 62 +1 Tanzanie________________ 0.02 % 99.58 % 63 +1 Taiwan__________________ 0.02 % 99.60 % 64 +1 Senegal_________________ 0.02 % 99.63 % 65 +1 Saint_Christophe-Nevis-Anguilla__ 0.02 % 99.65 % 66 +1 Qatar___________________ 0.02 % 99.67 % 67 +1 Perou___________________ 0.02 % 99.69 % 68 +1 Panama__________________ 0.02 % 99.71 % 69 +1 Nouvelle-Caledonie______ 0.02 % 99.74 % 70 +1 Nigeria_________________ 0.02 % 99.76 % 71 +1 Namibie_________________ 0.02 % 99.78 % 72 +1 Mongolie________________ 0.02 % 99.80 % 73 +1 Moldavie________________ 0.02 % 99.82 % 74 +1 Maldives________________ 0.02 % 99.85 % 75 +1 Îles_Vierges_britanniques__ 0.02 % 99.87 % 76 +1 Koweit__________________ 0.02 % 99.89 % 77 +1 Jordanie________________ 0.02 % 99.91 % 78 +1 Colombie________________ 0.02 % 99.93 % 79 +1 Cameroun________________ 0.02 % 99.96 % 80 +1 Bahrein_________________ 0.02 % 99.98 % 81 +1 Antilles_neerlandaises__ 0.02 % 100.00 % 82 +TOTAL = 4538 sales over 82 countries on Thu Mar 17 09:36:49 CET 2016 diff --git a/S/news.shtml b/S/news.shtml index 011f1cb7..ff793d52 100755 --- a/S/news.shtml +++ b/S/news.shtml @@ -1,112 +1,128 @@ - - - - - - -Imapsync News - - - - - - - - - - - - - - - - - - -

    News about imapsync and previous releases (back to menu) -

    - -

    imapsync was written on -

    - -
    - - - - -

    See ChangeLog to read what has been done in details since 2001.

    - -

    New features or bugfixes since previous releases:

    - - - -
      -
    • 1.678 Improved website! (I hope...)
    • + + + + +Imapsync News + + + + + + + + + + + + + + + + + + +

      News about imapsync and previous releases (back to menu) +

      + +

      imapsync was written on +

      + +
      + + + + +

      See ChangeLog to read what has been done in details since 2001.

      + +

      New features or bugfixes since previous releases:

      + + + +
        +
      • 1.684 Small changes, bugfixes
      • + +
      • Bug fix: Imapsync.exe updated to Mail-IMAPClient-3.38 (3.37 had a bug with credentials containing special characters)
      • + +
      • Usability: Added inline help about "use --noexpungeaftereach to speed up" if --delete is used.
      • +
      • Usability: Added --sslargs1 in documentation, usage option list.
      • +
      • Bug fix: No more warning about "Use of uninitialized value $sockargs[7] in join or string at" +in ssl or tls mode. Was due to "'SSL_version' => undef".
      • +
      • Bug fix: No more "Can't use an undefined value as a HASH reference at /usr/bin/imapsync line 1247."
      • +
      • Bug fix: Added --expungeaftereach check in sub delete_message_on_host1().
      • + +
      + + +
        +
      • 1.678 Improved website! (I hope...)
      • Enhancement: Added --sslargs1 and --sslargs2 to pass any ssl parameter for host1 or host2 connection. -Example: --sslargs1 SSL_verify_mode=1 --sslargs1 SSL_version=SSLv3
      • -
      • Enhancement: Added --timeout1 int and --timeout2 int in seconds (--timeout int still available to set both with the same value)
      • -
      • Enhancement: Added --debugssl int. Default is like --debugssl 1 (Only print out errors).
      • -
      • Enhancement: Added several polls to know where I shall focus improvements.
      • - - +Example: --sslargs1 SSL_verify_mode=1 --sslargs1 SSL_version=SSLv3 +
      • Enhancement: Added --timeout1 int and --timeout2 int in seconds (--timeout int still available to set both with the same value)
      • +
      • Enhancement: Added --debugssl int. Default is like --debugssl 1 (Only print out errors).
      • +
      • Enhancement: Added several polls to know where I shall focus improvements.
      • + +
      • Usability: Added env_proxy call in sub xoauth2() to read proxy settings from environment variable http_proxy -without using PERL_LWP_ENV_PROXY=1
      • -
      • Usability: Wrote TUTORIAL_Unix.
      • -
      • Usability: Check f1 folder exists when specified by --f1f2 and warns when it doesn't
      • -
      • Usability: Added --automap --justfolders --dry in imapsync_example.sh and imapsync_example.bat
      • - -
      • Bug fix: Added require Encode::Byte to solve "The locale codeset (cp1252) isn't one that perl can decode" on Win32.
      • - - -
      • Refactoring: Removed --allow3xx option.
      • -
      • Refactoring: Continue to move to one global $sync-> in order to reduce number of parameters in routines.
      • +without using PERL_LWP_ENV_PROXY=1 +
      • Usability: Wrote TUTORIAL_Unix.
      • +
      • Usability: Check f1 folder exists when specified by --f1f2 and warns when it doesn't
      • +
      • Usability: Added --automap --justfolders --dry in imapsync_example.sh and imapsync_example.bat
      • + +
      • Bug fix: Added require Encode::Byte to solve "The locale codeset (cp1252) isn't one that perl can decode" on Win32.
      • + + +
      • Refactoring: Removed --allow3xx option.
      • +
      • Refactoring: Continue to move to one global $sync-> in order to reduce number of parameters in routines.
      -
        -
      • 1.670 Folders mapping made easy with --automap
      • +
          +
        • 1.670 Folders mapping made easy with --automap
        • Enhancement: Added option --automap that guesses folders mapping, for folders like "Sent", "Junk", "Drafts", "All", "Archive", "Flagged". -
            -
          • IMAP Special-Use folders described in rfc6154 + +
              +
            • IMAP Special-Use folders described in rfc6154 are supported and also well known names for Exchange and common clients.
            • Automap is turned off by default, to try it a safe method is to use --automap --justautomap, it will exit early
            -
          • +
          • Enhancement: Added --f1f2 str1=str2 : Force folder str1 to be synced to str2. -
              + +
              • Option --f1f2 overrides any --automap mapping and any --regextrans2 transformation.
              • Example --f1f2 Spam=Junk to map Spam folder to Junk.
              - +
            • Enhancement: Added --justautomap to exit after seeing what will happen with - --automap and --f1f2 options.
            • -
            • Enhancement: Added IMAP4 QUOTA values (RFC 2087) + --automap and --f1f2 options.
            • +
            • Enhancement: Added IMAP4 QUOTA values (RFC 2087) when they are available. A warning goes up when it's time to find space. -
            • + -
            • Enhancement: Added IMAP4 ID extension. -
                +
              • Enhancement: Added IMAP4 ID extension. + +
                • ID feature is on by default if supported by the IMAP servers, use --noid to turn it off.
                • ID Infos returned by the imap servers are shown.
                • @@ -122,281 +138,272 @@ without using PERL_LWP_ENV_PROXY=1 - -
                • Usability: Added folders counting in outputs.
                • -
                • Usability: Better output in the login part
                • -
                • Usability: Guess prefixes and separators instead of forcing the user to find them.
                • -
                • Usability: Output, added Host1: or Host2: at the beginning of lines.
                • - - -
                • Bug fix: SSL_VERIFY_NONE in --ssl and --tls modes
                • + +
                • Usability: Added folders counting in outputs.
                • +
                • Usability: Better output in the login part
                • +
                • Usability: Guess prefixes and separators instead of forcing the user to find them.
                • +
                • Usability: Output, added Host1: or Host2: at the beginning of lines.
                • + + +
                • Bug fix: SSL_VERIFY_NONE in --ssl and --tls modes
                • Bug fix: Fixed xoauth2 calls. Now XOAUTH2 Works on Windows --authmech1 XOAUTH2 with openssl installed. - See FAQ.d/FAQ.XOAUTH2.txt.
                • -
                • Bug fix: Fixed IO::Socket::SSL constants issue with latest releases
                • + See FAQ.d/FAQ.XOAUTH2.txt. +
                • Bug fix: Fixed IO::Socket::SSL constants issue with latest releases
                • Bug fix: Changed "Host1: checking all wanted folders exist" not efficient algorithm in order to allow efficiently a 2.4 million folders account. Yes, some accounts have this.
                • - -
                • Refactoring: Started to use global $sync-> in order to reduce number of parameters in routines.
                • -
                • Refactoring: Some perlcritic fixes.
                • + +
                • Refactoring: Started to use global $sync-> in order to reduce number of parameters in routines.
                • +
                • Refactoring: Some perlcritic fixes.
                • +
                + +
                  +
                • 1.644 Mac OS X standalone binary provided!
                • +
                • Enhancement: Mac OS X standalone binary called imapsync_bin_Darwin
                • + +
                • Enhancement: Added option --subfolder2 SUB Move whole host1 folders hierarchy under folder SUB.
                • +
                • Enhancement: Added --fetch_hash_set "1:*" to permit Mail2World success. +Need a patched Mail::IMAPClient 3.35 in sub fetch_hash()
                • + +
                • Usability: No folders sizes if --justfolders, unless really wanted.
                • +
                • Usability: No warning about messages when --dry --justfolders are used together.
                • + +
                • Bug fix: Added NOOP in --dry mode during fake APPEND in order to avoid timeouts
                • + + +
                + +
                  +
                • 1.636
                • +
                • Enhancement: Added errors dump listing at the end, before last folder sizes or the statistics. Turned on by default. Use --noerrorsdump to avoid it.
                • +
                • Enhancement: Added --maxlinelengthcmd that will be called upon when a line over --maxlinelength value is detected.
                • +
                • Enhancement: Exchange maxlinelength issue fixed with --maxlinelengthcmd 'reformime -r7' on Linux. + Install maildrop package to get reformime command
                • +
                • Enhancement: Added --testslive. Running imapsync --testslive performs a live test on real accounts (I own).
                • +
                • Enhancement: Added --pipemess in order to pass all message to an external filter tool like reformime -r7.
                • +
                • Enhancement: Added xoauth2 support, available on Unix with underlying openssl. Thanks to Joaquin Lopez.
                • +
                • Enhancement: Added --skipmess regex to skip messages matching a regex. +Example --skipmess 'm/[\x80-ff]/' to slip messages with non-7bit characters ( ie a byte somewhere begins with 1 )
                • + + +
                • Usability: Better output of folders excluded by --exclude and folders included by --include
                • +
                • Usability: Added inline help in many places. What you can do with switches to change imapsync behaviour, contextually. Learn imapsync the easy way.
                • + +
                • Bug fix: imapsync --tests should work under any circumstance now, any Unix, Windows, exe or bin or script. 561 non-regression tests
                • +
                • Bug fix: Options --folderfirst and --folderlast generated an error when their value folder does not exist. Existence is checked.
                • +
                • Bug fix: Option --disarmreadreceipts used to change Disposition-Notification-To in the body when not available in the header. + Now never changes the body in all cases.
                • +
                • Bug fix: Change default useheader values. Now it is really like --useheader "Message-Id" --useheader "Received". +HMailServer replies two lines with --useheader "Message-Id" --useheader "Message-ID" in older imapsync releases. +
                • +
                • Bug fix: in imap_utf7_decode() + character must not be escaped. Was a bug with Cyrillic characters
                • + +
                • Refactoring: Started to split the FAQ file in several parts in FAQ.d/*
                • +
                • Refactoring: Split the INSTALL file in several parts in INSTALL.d/*
                • + +
                + + +
                  +
                • 1.607 Folders shown also in utf8.
                • +
                • Caveat to upgrade on Unix!: New Unicode::String Perl module dependency, for utf8 output. See the INSTALL file.
                • +
                • Enhancement: Added --skipemptyfolders to skip syncing empty host1 folders. They are not created on host2.
                • +
                • Enhancement: Windows exe now uses IO::SSL 2.002 instead of 1.98 (is it really an enhancement?).
                • +
                • Usability: Remove /x from regexes applied with --include and --exclude. Blanks no longer have to be explicit with \ or [ ].
                • +
                • Usability: Added utf8 output for folder names, protocol native utf7imap special characters are not user friendly readable
                • +
                • Usability: Moved foldersizes output after folders lists output.
                • +
                • Usability: Added total size transferred after each message copied.
                • +
                • Usability: After ETA, added number of total to be synced, as a denominator dddd after each message copied, like nnn/dddd + where nnn is the number of messages copied. Before there was only nnn without /dddd.
                • +
                • Bug fix: Cache fix on Windows. File paths with brackets [] are special, they have to be escaped with glob. + For example, [Gmail] must be written [[]Gmail[]].
                • +
                • Bug fix: Added several checks if IsUnconnected. Goal avoid imap commands while disconnected. + Reconnexion would be better anyway.
                • +
                + +
                  +
                • 1.597 Small things
                • +
                • Enhancement: Added --nomixfolders to avoid merging folders that are considered different on host1 but the same on destination host2 +because of case sensitivities and insensitivities.
                • +
                • Bug fix: Fixed "imapsync doesn't see created folders in the listing of folder sizes at the end". (second time this bug shows up)
                • +
                + +
                  +
                • 1.592 Logging by default! (an internal feature now)
                • + +
                • Caveat to upgrade: New IO::Tee Perl module dependency, for logging. See the INSTALL file.
                • +
                • Windows upgrade: Win32 binary is now distributed in a zip file with two batches scripts ready to use it.
                • + + +
                • Enhancement: Added logging by default in subdirectory ./LOG_imapsync/
                • +
                • Enhancement: Added option --log turned on by default. Use --nolog to disable logging.
                • +
                • Enhancement: Added option --logfile. Default is like ./LOG_imapsync/YYYY_MM_DD_HH_MM_SS_user2.txt + where YYYY_MM_DD_HH_MM_SS is the launching date and time like 2014_05_20_23_45_10
                • +
                • Enhancement: Added option --disarmreadreceipts to fix resending read receipts on host2. A must with Exchange as host2.
                • +
                • Enhancement: Added FTGate support (no EXAMINE imap command used anymore).
                • + +
                • Usability: Updated the code to easily switch on --noreleasecheck by default but allowing --releasecheck (some users want this feature).
                • +
                • Usability: Warn syncing messges will not be simulated when --dry mode is on and folder on host2 does not exist yet.
                • + +
                • Bug fix: Make TLS works with last IO::Socket::SSL default value (Added SSL_verify_mode => 'SSL_VERIFY_NONE') in --tls mode.
                • +
                • Bug fix: Fixed bug when creating folders on host2 with --sep2=\\ (Lotus Notes).
                • +
                • Bug fix: Try to get folder size when a folder on host2 has the same name but with a different case + like OLD_MAIL -> old_mail. This avoids "does not exist" output.
                • +
                + +
                  +
                • 1.584
                • +
                • Enhancement: Added --minmaxlinelength to select messages with long lines only. + It helps to diagnostic Echange error on messages with lines longer than 9000 characters
                • +
                • Enhancement: Added --debugmaxlinelength
                • +
                • Bug fix: --ssl1 --tls2 was buggy because of default SSL_VERIFY_PEER. + "Can not go to tls encryption on [localhost]:Unable to start TLS: Cannot determine peer hostname for verification..."
                • +
                • Bug fix: Check if going to tls is ok, exit otherwise with explicit error message. +Thanks to Dennis Schridde for reporting this ugly bug that deserves this CVE-2014-2014.
                • +
                • Debug: Print separator given by NAMESPACE even when --sep1 oe --sep2 is used.
                • +
                • Debug: Prints prefix given by NAMESPACE even when --prefix1 or --prefix2 is used. +It is a preparation for advising not to use --prefix unless suggested.
                • +
                + + +

                Good changes made before, listed because they can help: +

                + +
                  +
                • Enhancement: Added --skipcrossduplicates to avoid copying messages that are already copied in another folder, good from Gmail to X.
                • +
                • Enhancement: Added --debugcrossduplicates to print which messages (UIDs) are skipped with --skipcrossduplicates (and in what other folders they are).
                • +
                • Enhancement: Added --folderfirst string: sync this folder first. --folderfirst "Work" --folderfirst "Friends"
                • +
                • Enhancement: Added --folderlast string: sync this folder last. --folderlast "[Gmail]/All Mail" etc.
                • +
                • Enhancement: Added --maxmessagespersecond to limit messages tranfer rate and fix Office365 throttle limitation (use --maxmessagespersecond 4).
                • +
                • Enhancement: Added --maxbytespersecond to limit byte transfer rate.
                • +
                • Enhancement: Added --debugmemory option that prints memory consumption after each message is copied.
                • + +
                • Enhancement: Added --authmech EXTERNAL.
                • +
                • Enhancement: Adapted behavior for allowing --maxdate --mindate with --noabletosearch. +Use internat date instead of Date: header.
                • + +
                • Enhancement: QQMail IMAP4Server success (with --noabletosearch option)
                • +
                • Usability: Apply same treatment to --delete2duplicates as --delete2. +If --uidexpunge2 can be done, do it, else do --expunge2 (unless --nouidexpunge2 or --noexpunge2).
                • + +
                • Usability: Added --timeout in the --help output. Default timeout is 120 seconds now +(was nothing by imapsync, 600 with underlying modules).
                • + +
                • Enhancement/Bug fix: Added --ssl1_SSL_version and --ssl2_SSL_version to force the SSL_version +in case the default auto-negociation does not work. Example: --ssl1 --ssl1_SSL_version SSLv3
                • + +
                • Enhancement: Added option --messageidnodomain to fix Mailenable bug changing the domain part of Message-Id header, and avoid duplicates
                • +
                • Enhancement: Added option --syncflagsaftercopy to fix Mailenable bug not getting the flags with the APPEND
                • +
                • Enhancement: Added option --maxlinelength to skip messages whose max line length is over a number of bytes. + Exchange 2013 and Office365 need --maxlinelength 1000 (which is a RFC2822 must) to avoid disconnections.
                • + +
                • Usability: Added --fixInboxINBOX, turned on by default, to map automatically Inbox INBOX folder names.
                • +
                • Usability: IMAP server removing consecutive spaces on the header part doesn't generate duplicates (MailEnable does that)
                • + + +
                • Usability: SSL_verify_mode 0 to avoid warning about Man-In-The-Middle.
                • +
                • Enhancement: Added XOAUTH authentication. Thanks to Eduardo Bortoluzzi Junior.
                • +
                • Enhancement: Added --search1 and --search2 to allow different searches on each host.
                • +
                • Usability: Added --delete1 as an alias for --delete
                • +
                • Speed: Option --nocheckmessageexists is activated by default since --checkmessageexists often slow down transfers too much.
                • +
                • Usability: Option --foldersizesatend is on if --foldersizes is on. Off if --nofoldersizesatend
                • + + + +
                • 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. +
                • + + +
                • 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).
                • + + +
                • Enhancement: Added --noexpungeaftereach +to speedup --delete --expunge from Gmail.
                • + + + +
                • Enhancement: Added option --nocheckmessageexists to speed up with Tobit imap server as host1.
                • + + +
                • 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: Default headers used to identify a message are like --useheader "Message-Id" --useheader "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)
                • +
                - -
                  -
                • 1.644 Mac OS X standalone binary provided!
                • -
                • Enhancement: Mac OS X standalone binary called imapsync_bin_Darwin
                • - -
                • Enhancement: Added option --subfolder2 SUB Move whole host1 folders hierarchy under folder SUB.
                • -
                • Enhancement: Added --fetch_hash_set "1:*" to permit Mail2World success. -Need a patched Mail::IMAPClient 3.35 in sub fetch_hash()
                • - -
                • Usability: No folders sizes if --justfolders, unless really wanted.
                • -
                • Usability: No warning about messages when --dry --justfolders are used together.
                • - -
                • Bug fix: Added NOOP in --dry mode during fake APPEND in order to avoid timeouts
                • - - -
                - -
                  -
                • 1.636
                • -
                • Enhancement: Added errors dump listing at the end, before last folder sizes or the statistics. Turned on by default. Use --noerrorsdump to avoid it.
                • -
                • Enhancement: Added --maxlinelengthcmd that will be called upon when a line over --maxlinelength value is detected.
                • -
                • Enhancement: Exchange maxlinelength issue fixed with --maxlinelengthcmd 'reformime -r7' on Linux. - Install maildrop package to get reformime command
                • -
                • Enhancement: Added --testslive. Running imapsync --testslive performs a live test on real accounts (I own).
                • -
                • Enhancement: Added --pipemess in order to pass all message to an external filter tool like reformime -r7.
                • -
                • Enhancement: Added xoauth2 support, available on Unix with underlying openssl. Thanks to Joaquin Lopez.
                • -
                • Enhancement: Added --skipmess regex to skip messages matching a regex. -Example --skipmess 'm/[\x80-ff]/' to slip messages with non-7bit characters ( ie a byte somewhere begins with 1 )
                • - - -
                • Usability: Better output of folders excluded by --exclude and folders included by --include
                • -
                • Usability: Added inline help in many places. What you can do with switches to change imapsync behaviour, contextually. Learn imapsync the easy way.
                • - -
                • Bug fix: imapsync --tests should work under any circumstance now, any Unix, Windows, exe or bin or script. 561 non-regression tests
                • -
                • Bug fix: Options --folderfirst and --folderlast generated an error when their value folder does not exist. Existence is checked.
                • -
                • Bug fix: Option --disarmreadreceipts used to change Disposition-Notification-To in the body when not available in the header. - Now never changes the body in all cases.
                • -
                • Bug fix: Change default useheader values. Now it is really like --useheader "Message-Id" --useheader "Received". -HMailServer replies two lines with --useheader "Message-Id" --useheader "Message-ID" in older imapsync releases. -
                • -
                • Bug fix: in imap_utf7_decode() + character must not be escaped. Was a bug with Cyrillic characters
                • - -
                • Refactoring: Started to split the FAQ file in several parts in FAQ.d/*
                • -
                • Refactoring: Split the INSTALL file in several parts in INSTALL.d/*
                • - -
                - - -
                  -
                • 1.607 Folders shown also in utf8.
                • -
                • Caveat to upgrade on Unix!: New Unicode::String Perl module dependency, for utf8 output. See the INSTALL file.
                • -
                • Enhancement: Added --skipemptyfolders to skip syncing empty host1 folders. They are not created on host2.
                • -
                • Enhancement: Windows exe now uses IO::SSL 2.002 instead of 1.98 (is it really an enhancement?).
                • -
                • Usability: Remove /x from regexes applied with --include and --exclude. Blanks no longer have to be explicit with \ or [ ].
                • -
                • Usability: Added utf8 output for folder names, protocol native utf7imap special characters are not user friendly readable
                • -
                • Usability: Moved foldersizes output after folders lists output.
                • -
                • Usability: Added total size transferred after each message copied.
                • -
                • Usability: After ETA, added number of total to be synced, as a denominator dddd after each message copied, like nnn/dddd - where nnn is the number of messages copied. Before there was only nnn without /dddd.
                • -
                • Bug fix: Cache fix on Windows. File paths with brackets [] are special, they have to be escaped with glob. - For example, [Gmail] must be written [[]Gmail[]].
                • -
                • Bug fix: Added several checks if IsUnconnected. Goal avoid imap commands while disconnected. - Reconnexion would be better anyway.
                • -
                - -
                  -
                • 1.597 Small things
                • -
                • Enhancement: Added --nomixfolders to avoid merging folders that are considered different on host1 but the same on destination host2 -because of case sensitivities and insensitivities.
                • -
                • Bug fix: Fixed "imapsync doesn't see created folders in the listing of folder sizes at the end". (second time this bug shows up)
                • -
                - -
                  -
                • 1.592 Logging by default! (an internal feature now)
                • - -
                • Caveat to upgrade: New IO::Tee Perl module dependency, for logging. See the INSTALL file.
                • -
                • Windows upgrade: Win32 binary is now distributed in a zip file with two batches scripts ready to use it.
                • - - -
                • Enhancement: Added logging by default in subdirectory ./LOG_imapsync/
                • -
                • Enhancement: Added option --log turned on by default. Use --nolog to disable logging.
                • -
                • Enhancement: Added option --logfile. Default is like ./LOG_imapsync/YYYY_MM_DD_HH_MM_SS_user2.txt - where YYYY_MM_DD_HH_MM_SS is the launching date and time like 2014_05_20_23_45_10
                • -
                • Enhancement: Added option --disarmreadreceipts to fix resending read receipts on host2. A must with Exchange as host2.
                • -
                • Enhancement: Added FTGate support (no EXAMINE imap command used anymore).
                • - -
                • Usability: Updated the code to easily switch on --noreleasecheck by default but allowing --releasecheck (some users want this feature).
                • -
                • Usability: Warn syncing messges will not be simulated when --dry mode is on and folder on host2 does not exist yet.
                • - -
                • Bug fix: Make TLS works with last IO::Socket::SSL default value (Added SSL_verify_mode => 'SSL_VERIFY_NONE') in --tls mode.
                • -
                • Bug fix: Fixed bug when creating folders on host2 with --sep2=\\ (Lotus Notes).
                • -
                • Bug fix: Try to get folder size when a folder on host2 has the same name but with a different case - like OLD_MAIL -> old_mail. This avoids "does not exist" output.
                • -
                - -
                  -
                • 1.584
                • -
                • Enhancement: Added --minmaxlinelength to select messages with long lines only. - It helps to diagnostic Echange error on messages with lines longer than 9000 characters
                • -
                • Enhancement: Added --debugmaxlinelength
                • -
                • Bug fix: --ssl1 --tls2 was buggy because of default SSL_VERIFY_PEER. - "Can not go to tls encryption on [localhost]:Unable to start TLS: Cannot determine peer hostname for verification..."
                • -
                • Bug fix: Check if going to tls is ok, exit otherwise with explicit error message. -Thanks to Dennis Schridde for reporting this ugly bug that deserves this CVE-2014-2014.
                • -
                • Debug: Print separator given by NAMESPACE even when --sep1 oe --sep2 is used.
                • -
                • Debug: Prints prefix given by NAMESPACE even when --prefix1 or --prefix2 is used. -It is a preparation for advising not to use --prefix unless suggested.
                • -
                - - -

                Good changes made before, listed because they can help: -

                - -
                  -
                • Enhancement: Added --skipcrossduplicates to avoid copying messages that are already copied in another folder, good from Gmail to X.
                • -
                • Enhancement: Added --debugcrossduplicates to print which messages (UIDs) are skipped with --skipcrossduplicates (and in what other folders they are).
                • -
                • Enhancement: Added --folderfirst string: sync this folder first. --folderfirst "Work" --folderfirst "Friends"
                • -
                • Enhancement: Added --folderlast string: sync this folder last. --folderlast "[Gmail]/All Mail" etc.
                • -
                • Enhancement: Added --maxmessagespersecond to limit messages tranfer rate and fix Office365 throttle limitation (use --maxmessagespersecond 4).
                • -
                • Enhancement: Added --maxbytespersecond to limit byte transfer rate.
                • -
                • Enhancement: Added --debugmemory option that prints memory consumption after each message is copied.
                • - -
                • Enhancement: Added --authmech EXTERNAL.
                • -
                • Enhancement: Adapted behavior for allowing --maxdate --mindate with --noabletosearch. -Use internat date instead of Date: header.
                • - -
                • Enhancement: QQMail IMAP4Server success (with --noabletosearch option)
                • -
                • Usability: Apply same treatment to --delete2duplicates as --delete2. -If --uidexpunge2 can be done, do it, else do --expunge2 (unless --nouidexpunge2 or --noexpunge2).
                • - -
                • Usability: Added --timeout in the --help output. Default timeout is 120 seconds now -(was nothing by imapsync, 600 with underlying modules).
                • - -
                • Enhancement/Bug fix: Added --ssl1_SSL_version and --ssl2_SSL_version to force the SSL_version -in case the default auto-negociation does not work. Example: --ssl1 --ssl1_SSL_version SSLv3
                • - -
                • Enhancement: Added option --messageidnodomain to fix Mailenable bug changing the domain part of Message-Id header, and avoid duplicates
                • -
                • Enhancement: Added option --syncflagsaftercopy to fix Mailenable bug not getting the flags with the APPEND
                • -
                • Enhancement: Added option --maxlinelength to skip messages whose max line length is over a number of bytes. - Exchange 2013 and Office365 need --maxlinelength 1000 (which is a RFC2822 must) to avoid disconnections.
                • - -
                • Usability: Added --fixInboxINBOX, turned on by default, to map automatically Inbox INBOX folder names.
                • -
                • Usability: IMAP server removing consecutive spaces on the header part doesn't generate duplicates (MailEnable does that)
                • - - -
                • Usability: SSL_verify_mode 0 to avoid warning about Man-In-The-Middle.
                • -
                • Enhancement: Added XOAUTH authentication. Thanks to Eduardo Bortoluzzi Junior.
                • -
                • Enhancement: Added --search1 and --search2 to allow different searches on each host.
                • -
                • Usability: Added --delete1 as an alias for --delete
                • -
                • Speed: Option --nocheckmessageexists is activated by default since --checkmessageexists often slow down transfers too much.
                • -
                • Usability: Option --foldersizesatend is on if --foldersizes is on. Off if --nofoldersizesatend
                • - - - -
                • 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. -
                • - - -
                • 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).
                • - - -
                • Enhancement: Added --noexpungeaftereach -to speedup --delete --expunge from Gmail.
                • - - - -
                • Enhancement: Added option --nocheckmessageexists to speed up with Tobit imap server as host1.
                • - - -
                • 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: Default headers used to identify a message are like --useheader "Message-Id" --useheader "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)
                • - -
                - - - - - -
                -
                - - Valid XHTML 1.0 Strict - - - - CSS Valide ! - - - - - -
                - -
                -

                - - -This document last modified on -($Id: news.shtml,v 1.10 2016/01/22 01:04:15 gilles Exp gilles $)
                -Top of the page -

                - - - - + + + + + +
                +
                + + Valid XHTML 1.0 Strict + + + + CSS Valide ! + + + +Viewable With Any Browser + +
                + +
                +

                + + +This document last modified on +($Id: news.shtml,v 1.15 2016/03/17 19:59:00 gilles Exp gilles $)
                +Top of the page +

                + \ No newline at end of file diff --git a/W/paypal.shtml b/S/paypal.shtml similarity index 98% rename from W/paypal.shtml rename to S/paypal.shtml index d1f59518..baa20831 100644 --- a/W/paypal.shtml +++ b/S/paypal.shtml @@ -63,7 +63,7 @@ border:0px; This document last modified on -($Id: paypal.shtml,v 1.8 2015/09/19 08:21:46 gilles Exp gilles $) +($Id: paypal.shtml,v 1.9 2016/03/03 15:57:41 gilles Exp gilles $)

                diff --git a/W/paypal_return.shtml b/S/paypal_return.shtml similarity index 94% rename from W/paypal_return.shtml rename to S/paypal_return.shtml index 8329b88e..9408dc76 100644 --- a/W/paypal_return.shtml +++ b/S/paypal_return.shtml @@ -14,7 +14,7 @@ - +