This commit is contained in:
Nick Bebout 2013-09-26 17:00:32 -05:00
parent c555c31229
commit 4c70a807bd
22 changed files with 8546 additions and 2419 deletions

17
CREDITS
View file

@ -1,5 +1,5 @@
#!/bin/cat #!/bin/cat
# $Id: CREDITS,v 1.174 2013/06/07 10:05:12 gilles Exp gilles $ # $Id: CREDITS,v 1.175 2013/08/28 22:44:09 gilles Exp gilles $
If you want to make a donation to the author, Gilles LAMIRAL, If you want to make a donation to the author, Gilles LAMIRAL,
use any of the following ways: use any of the following ways:
@ -19,7 +19,7 @@ d) If you prefer making your donation with
cash or cheque then my postal address is: cash or cheque then my postal address is:
Gilles LAMIRAL Gilles LAMIRAL
4 La Billais La Billais
35580 Baulon 35580 Baulon
FRANCE FRANCE
@ -30,6 +30,14 @@ I thank very much all of these people.
I thank also very much all people who bought imapsync from the homepage I thank also very much all people who bought imapsync from the homepage
but I don't cite them here. but I don't cite them here.
Bowman Gillianne
Contributed by giving the book
8.60 EUR "L'Épreuve de l'étranger: Culture et traduction dans l'Allemagne romantique"
Paul Heller
Contributed by giving the book
28.54 "Practical Packet Analysis: Using Wireshark to Solve Real-World Network Problems"
Jim Klimov Jim Klimov
Gave patch to handle proxyauth failures. Gave patch to handle proxyauth failures.
@ -40,7 +48,7 @@ Marc Weber
Suggested --mark-as-deleted1 --mark-as-deleted2 Suggested --mark-as-deleted1 --mark-as-deleted2
Jeff Verheyen Jeff Verheyen
Contributed by giving an 32GB microSDHC card and the book Contributed by giving a 32GB micro SDHC card and the book
29.69 "Design by Nature: Using Universal Forms and Principles in Design" 29.69 "Design by Nature: Using Universal Forms and Principles in Design"
David Abrahams David Abrahams
@ -1074,6 +1082,7 @@ Eric Yung
Total amount of book prices : Total amount of book prices :
c \ c \
28.54+\
30.86+\ 30.86+\
87.18+\ 87.18+\
19.90+\ 19.90+\
@ -1209,4 +1218,4 @@ c \
31.20+\ 31.20+\
40.00 40.00
= =
3050.41 3196.99

View file

@ -1,17 +1,30 @@
RCS file: RCS/imapsync,v RCS file: RCS/imapsync,v
Working file: imapsync Working file: imapsync
head: 1.564 head: 1.567
branch: branch:
locks: strict locks: strict
gilles: 1.564 gilles: 1.567
access list: access list:
symbolic names: symbolic names:
keyword substitution: kv keyword substitution: kv
total revisions: 564; selected revisions: 564 total revisions: 567; selected revisions: 567
description: description:
---------------------------- ----------------------------
revision 1.564 locked by: gilles; revision 1.567 locked by: gilles;
date: 2013/09/18 20:38:10; author: gilles; state: Exp; lines: +8 -7
Fixed a warning when RFC822.SIZE is null or undef.
----------------------------
revision 1.566
date: 2013/09/13 13:23:41; author: gilles; state: Exp; lines: +11 -12
Added --authmech EXTERNAL. Not tested yet.
----------------------------
revision 1.565
date: 2013/09/13 01:16:20; author: gilles; state: Exp; lines: +8 -6
Fusemail success.
RackSpace success.
----------------------------
revision 1.564
date: 2013/08/18 19:28:47; author: gilles; state: Exp; lines: +114 -22 date: 2013/08/18 19:28:47; author: gilles; state: Exp; lines: +114 -22
Adapted behavior for allowing --maxdate --mindate with --noabletosearch. Use internat date instead of Date: header. Adapted behavior for allowing --maxdate --mindate with --noabletosearch. Use internat date instead of Date: header.
---------------------------- ----------------------------

100
FAQ
View file

@ -1,5 +1,5 @@
#!/bin/cat #!/bin/cat
# $Id: FAQ,v 1.138 2013/08/16 01:03:32 gilles Exp gilles $ # $Id: FAQ,v 1.145 2013/09/21 21:56:33 gilles Exp gilles $
+------------------+ +------------------+
| FAQ for imapsync | | FAQ for imapsync |
@ -183,6 +183,21 @@ Q. Is is legal to find imapsync gratis (or not) elsewhere?
R. Yes, the license permits it R. Yes, the license permits it
http://imapsync.lamiral.info/NOLIMIT http://imapsync.lamiral.info/NOLIMIT
=======================================================================
Q. How "Facts and figures" are known on http://imapsync.lamiral.info/
R. To know wether a newer imapsync exists or not imapsync does a http
GET to http://imapsync.lamiral.info/VERSION
Via the User-agent parameter it also send:
* imapsync release
* Perl version
* Mail::IMAPClient version
* Operating System
You can remove this behavior by adding option --noreleasecheck on the
command line (or by setting $releasecheck = 0 in the source code)
======================================================================= =======================================================================
Q. I use --useuid which uses a cache in /tmp or --tmpdir, the hostnames Q. I use --useuid which uses a cache in /tmp or --tmpdir, the hostnames
host1 or host2 has changed but mailboxes are the same. Will imapsync host1 or host2 has changed but mailboxes are the same. Will imapsync
@ -296,7 +311,40 @@ R2. Use --useuid then imapsync will avoid dealing with headers.
imapsync ... --useuid imapsync ... --useuid
======================================================================= =======================================================================
Q. How can I try imapsync with Mail::IMAPClient 3.xx perl module? Q. On Windows, with --useuid or --usecache a problem occurs with long
nested folder names. The error message is:
"No such file or directory; The filename or extension is too long"
R. This comes from a Windows limitation on pathnames.
No more than 260 characters are allowed for pathnames.
See more details on page
http://msdn.microsoft.com/en-us/library/windows/desktop/aa365247.aspx#maxpath
Two workarounds to reduce the cache directory name:
1) Use --tmpdir "D:\\temp" or simply --tmpdir "D:"
2) add two equivalent entries in the etc/hosts for host1 imap.truc.org
and host2 imap.trac.org.
If you map the ip of imap.truc.org just with the letter a
and same thing for imap.trac.org then you gain characters
etc/hosts
192.168.12.1 a
192.168.55.3 b
Then use:
imapsync --host1 a --host2 b ...
You can get the ip of a host with the ping command line
C:\> ping imap.truc.org
Fixing the long path problem directly in imapsync is in the TODO file.
=======================================================================
Q. How can I try imapsync with latest Mail::IMAPClient 3.xx perl module?
R. The answer R2 deals with any Perl module use. R. The answer R2 deals with any Perl module use.
@ -681,6 +729,13 @@ For example to convert flag IMPORTANT to flag CANWAIT
option --debugflags is usefull to see in details what imapsync option --debugflags is usefull to see in details what imapsync
does with flags. does with flags.
=======================================================================
Q. How to fix this error: BAD Invalid system flag \FORWARDED
R. Filter flag \FORWARDED with
imapsync ... --regexflag "s/\\FORWARDED//g"
======================================================================= =======================================================================
Q. How to convert flags with $ to \ character? Q. How to convert flags with $ to \ character?
@ -1202,7 +1257,7 @@ R.
imapsync \ imapsync \
... ...
--regextrans2 "s/INBOX(.*)/INBOX.Braunschweig$1/" \ --regextrans2 "s/INBOX(.*)/INBOX.Braunschweig\$1/" \
--dry --justfolders --dry --justfolders
2) See if the output says everything you want imapsync to do, 2) See if the output says everything you want imapsync to do,
@ -1384,6 +1439,31 @@ format issues. And now it works fine. (Thanks to Hansjoerg.Maurer)
Server specific issues and solutions Server specific issues and solutions
======================================================================= =======================================================================
=======================================================================
Q. From XXX to Exchange 2013 or Office365 I get this error message
sometimes: "BAD Command Argument Error 11"
R. This error message comes from Exchange IMAP server when it
encounters any problem. Most of the time it is one of the following:
* Some messages are bigger than the size limit. 10 MB by default
on Exchange. It can be upped by configuration.
Or use option --maxsize 10000000 (for 10 MB, change it if needed)
to tell imapsync to skip those messages.
imapsync ... --maxsize 10000000
* Quota reached. The whole account is full.
It can be upped by configuration.
* Some messages have some lines too long. Use option --maxlinelength
to skip messages whose max line length is over a number of bytes.
--maxlinelength 1000 is a RFC2822 must but most server support
higher values.
imapsync ... --maxlinelength 1000
======================================================================= =======================================================================
Q. From Zimbra to XXX Q. From Zimbra to XXX
@ -1438,7 +1518,10 @@ imapsync --host1 mail.oldhost.com \
--exitwhenover 500000000 \ --exitwhenover 500000000 \
--exclude "\[Gmail\]$" \ --exclude "\[Gmail\]$" \
--addheader \ --addheader \
--regextrans2 "s,^Sent$,[Gmail]/Sent Mail," --regextrans2 "s,^Sent$,[Gmail]/Sent Mail," \
--regextrans2 "s/[ ]+/_/g" \
--regextrans2 "s/[\^]/_/g" \
--regextrans2 "s/['\"\\\\]/_/g"
If you're using a different language in Gmail you might adapt If you're using a different language in Gmail you might adapt
@ -1465,6 +1548,15 @@ See http://support.google.com/a/bin/answer.py?hl=en&answer=1071518
"Could not examine: 43 NO [NONEXISTENT] Unknown Mailbox: [Gmail] "Could not examine: 43 NO [NONEXISTENT] Unknown Mailbox: [Gmail]
(now in authenticated state) (Failure)". (now in authenticated state) (Failure)".
--regextrans2 "s/[ ]+/_/g" is there to convert blank characters not
accepted by gmail to character _ underscore. In fact only leading
and trailing blank characters are problems with gmail.
--regextrans2 "s/[\^]/_/g" is mandatory. It converts, since
not accepted by gmail, character ^ to character _ underscore.
--regextrans2 "s/['\"\\\\]/_/g" is optional. It converts
characters ' or " or \ to character _ underscore.
You can select folders exported to imap within the gmail preferences, You can select folders exported to imap within the gmail preferences,
unselect all "System labels" depending on your needs. unselect all "System labels" depending on your needs.

7
README
View file

@ -4,7 +4,7 @@ NAME
More than 52 different IMAP server softwares supported with success, few More than 52 different IMAP server softwares supported with success, few
failures. failures.
$Revision: 1.564 $ $Revision: 1.567 $
SYNOPSIS SYNOPSIS
To synchronize imap account "foo" on "imap.truc.org" to imap account To synchronize imap account "foo" on "imap.truc.org" to imap account
@ -349,6 +349,7 @@ IMAP SERVERS
- Dovecot 0.99.10.4, 0.99.14, 0.99.14-8.fc4, 1.0-0.beta2.7, - Dovecot 0.99.10.4, 0.99.14, 0.99.14-8.fc4, 1.0-0.beta2.7,
1.0.0 [dest/source] (LGPL) (http://www.dovecot.org/) 1.0.0 [dest/source] (LGPL) (http://www.dovecot.org/)
- Eudora WorldMail v2 - Eudora WorldMail v2
- Fusemail imap.fusemail.net:143 (https://www.fusemail.com/).
- Gimap (Gmail imap) - Gimap (Gmail imap)
- GMX IMAP4 StreamProxy. - GMX IMAP4 StreamProxy.
- Groupwise IMAP (Novell) 6.x and 7.0. Buggy so see the FAQ. - Groupwise IMAP (Novell) 6.x and 7.0. Buggy so see the FAQ.
@ -375,9 +376,11 @@ IMAP SERVERS
- Oracle Beehive [host1] - Oracle Beehive [host1]
- Qualcomm Worldmail (NT) - Qualcomm Worldmail (NT)
- QQMail IMAP4Server [host1] [host2] https://en.mail.qq.com/ - QQMail IMAP4Server [host1] [host2] https://en.mail.qq.com/
- RackSpace hoster secure.emailsrvr.com:993 http://www.rackspace.com/
- Rockliffe Mailsite 5.3.11, 4.5.6 - Rockliffe Mailsite 5.3.11, 4.5.6
- Samsung Contact IMAP server 8.5.0 - Samsung Contact IMAP server 8.5.0
- Scalix v10.1, 10.0.1.3, 11.0.0.431, 11.4.6 - Scalix v10.1, 10.0.1.3, 11.0.0.431, 11.4.6
- Sendmail Mail Store IMAP4rev1 (5.5.6/mstore-5-5-build-1874 [host1].
- SmarterMail, Smarter Mail 5.0 Enterprise, Smarter Mail 5.5 [host1], SmarterMail Professional 10.2 [host1]. - SmarterMail, Smarter Mail 5.0 Enterprise, Smarter Mail 5.5 [host1], SmarterMail Professional 10.2 [host1].
- Softalk Workgroup Mail 7.6.4 [host1]. - Softalk Workgroup Mail 7.6.4 [host1].
- SunONE Messaging server 5.2, 6.0 (SUN JES - Java Enterprise System) - SunONE Messaging server 5.2, 6.0 (SUN JES - Java Enterprise System)
@ -466,5 +469,5 @@ SIMILAR SOFTWARES
Feedback (good or bad) will often be welcome. Feedback (good or bad) will often be welcome.
$Id: imapsync,v 1.564 2013/08/18 19:28:47 gilles Exp gilles $ $Id: imapsync,v 1.567 2013/09/18 20:38:10 gilles Exp gilles $

View file

@ -1 +1 @@
1.564 1.567

View file

@ -1 +1 @@
1.564 1.567

View file

@ -228,3 +228,21 @@
1376618294 END 1.563 : vendredi 16 août 2013, 03:58:14 (UTC+0200) 1376618294 END 1.563 : vendredi 16 août 2013, 03:58:14 (UTC+0200)
1376856084 BEGIN 1.564 : dimanche 18 août 2013, 22:01:24 (UTC+0200) 1376856084 BEGIN 1.564 : dimanche 18 août 2013, 22:01:24 (UTC+0200)
1376856924 END 1.564 : dimanche 18 août 2013, 22:15:24 (UTC+0200) 1376856924 END 1.564 : dimanche 18 août 2013, 22:15:24 (UTC+0200)
1379035013 BEGIN 1.565 : vendredi 13 septembre 2013, 03:16:53 (UTC+0200)
1379036258 END 1.565 : vendredi 13 septembre 2013, 03:37:38 (UTC+0200)
1379036858 BEGIN 1.565 : vendredi 13 septembre 2013, 03:47:38 (UTC+0200)
1379038028 END 1.565 : vendredi 13 septembre 2013, 04:07:08 (UTC+0200)
1379067300 BEGIN 1.565 : vendredi 13 septembre 2013, 12:15:00 (UTC+0200)
1379068253 END 1.565 : vendredi 13 septembre 2013, 12:30:53 (UTC+0200)
1379068512 BEGIN 1.565 : vendredi 13 septembre 2013, 12:35:12 (UTC+0200)
1379069423 BEGIN 1.565 : vendredi 13 septembre 2013, 12:50:23 (UTC+0200)
1379069895 END 1.565 : vendredi 13 septembre 2013, 12:58:15 (UTC+0200)
1379070862 BEGIN 1.565 : vendredi 13 septembre 2013, 13:14:22 (UTC+0200)
1379071364 END 1.565 : vendredi 13 septembre 2013, 13:22:44 (UTC+0200)
1379541254 BEGIN 1.567 : mercredi 18 septembre 2013, 23:54:14 (UTC+0200)
1379541678 BEGIN 1.567 : jeudi 19 septembre 2013, 00:01:18 (UTC+0200)
1379544193 BEGIN 1.567 : jeudi 19 septembre 2013, 00:43:13 (UTC+0200)
1379549519 BEGIN 1.567 : jeudi 19 septembre 2013, 02:11:59 (UTC+0200)
1379550371 END 1.567 : jeudi 19 septembre 2013, 02:26:11 (UTC+0200)
1379803429 BEGIN 1.567 : dimanche 22 septembre 2013, 00:43:49 (UTC+0200)
1379804324 END 1.567 : dimanche 22 septembre 2013, 00:58:44 (UTC+0200)

File diff suppressed because it is too large Load diff

View file

@ -1,6 +1,6 @@
#!/bin/sh #!/bin/sh
# $Id: paypal_build_invoices,v 1.55 2013/08/17 23:43:38 gilles Exp gilles $ # $Id: paypal_build_invoices,v 1.56 2013/09/13 10:55:46 gilles Exp gilles $
# usage: sh paypal_build_invoices /g/var/paypal_invoices/???? # usage: sh paypal_build_invoices /g/var/paypal_invoices/????
@ -40,7 +40,8 @@ cp /home/gilles/public_html/AGIL/factures/000/facture_imapsync-000.tex /g/var/pa
#/g/public_html/imapsync/W/paypal_reply/paypal_bilan --write_invoices --first_in 2572 /g/paypal/paypal_2013_05_complet.csv #/g/public_html/imapsync/W/paypal_reply/paypal_bilan --write_invoices --first_in 2572 /g/paypal/paypal_2013_05_complet.csv
#/g/public_html/imapsync/W/paypal_reply/paypal_bilan --write_invoices --first_in 2627 /g/paypal/paypal_2013_06_complet.csv #/g/public_html/imapsync/W/paypal_reply/paypal_bilan --write_invoices --first_in 2627 /g/paypal/paypal_2013_06_complet.csv
#/g/public_html/imapsync/W/paypal_reply/paypal_bilan --write_invoices --first_in 2682 /g/paypal/paypal_2013_07_complet.csv #/g/public_html/imapsync/W/paypal_reply/paypal_bilan --write_invoices --first_in 2682 /g/paypal/paypal_2013_07_complet.csv
/g/public_html/imapsync/W/paypal_reply/paypal_bilan --write_invoices --first_in 2741 /g/paypal/paypal_2013_08_complet.csv #/g/public_html/imapsync/W/paypal_reply/paypal_bilan --write_invoices --first_in 2741 /g/paypal/paypal_2013_08_complet.csv
/g/public_html/imapsync/W/paypal_reply/paypal_bilan --write_invoices --first_in 2820 /g/paypal/paypal_2013_09_complet.csv
: /g/public_html/imapsync/W/paypal_reply/paypal_bilan --first_in 147 /g/paypal/paypal_2010_11_complet.csv : /g/public_html/imapsync/W/paypal_reply/paypal_bilan --first_in 147 /g/paypal/paypal_2010_11_complet.csv
: /g/public_html/imapsync/W/paypal_reply/paypal_bilan --first_in 214 /g/paypal/paypal_2010_12_complet.csv : /g/public_html/imapsync/W/paypal_reply/paypal_bilan --first_in 214 /g/paypal/paypal_2010_12_complet.csv
@ -75,9 +76,10 @@ cp /home/gilles/public_html/AGIL/factures/000/facture_imapsync-000.tex /g/var/pa
: /g/public_html/imapsync/W/paypal_reply/paypal_bilan --first_in 2572 /g/paypal/paypal_2013_05_complet.csv : /g/public_html/imapsync/W/paypal_reply/paypal_bilan --first_in 2572 /g/paypal/paypal_2013_05_complet.csv
: /g/public_html/imapsync/W/paypal_reply/paypal_bilan --first_in 2627 /g/paypal/paypal_2013_06_complet.csv : /g/public_html/imapsync/W/paypal_reply/paypal_bilan --first_in 2627 /g/paypal/paypal_2013_06_complet.csv
: /g/public_html/imapsync/W/paypal_reply/paypal_bilan --first_in 2682 /g/paypal/paypal_2013_07_complet.csv : /g/public_html/imapsync/W/paypal_reply/paypal_bilan --first_in 2682 /g/paypal/paypal_2013_07_complet.csv
: /g/public_html/imapsync/W/paypal_reply/paypal_bilan --first_in 2741 /g/paypal/paypal_2013_08_complet.csv
set -x set -x
: /g/public_html/imapsync/W/paypal_reply/paypal_bilan --first_in 2741 /g/paypal/paypal_2013_08_complet.csv : /g/public_html/imapsync/W/paypal_reply/paypal_bilan --first_in 2820 /g/paypal/paypal_2013_09_complet.csv
set +x set +x
# La totale # La totale

View file

@ -1,6 +1,6 @@
#!/bin/sh #!/bin/sh
# $Id: paypal_functions,v 1.20 2013/02/08 14:57:33 gilles Exp gilles $ # $Id: paypal_functions,v 1.21 2013/08/21 21:46:16 gilles Exp gilles $
paypal_prerequisites() { paypal_prerequisites() {
perl -mMIME::Lite -e '' || echo 'sudo aptitude install libmime-lite-perl' perl -mMIME::Lite -e '' || echo 'sudo aptitude install libmime-lite-perl'
@ -178,7 +178,7 @@ send_reply() {
#test X"--send" = X"$1" && touch "$d_sent/$b" #test X"--send" = X"$1" && touch "$d_sent/$b"
test X"" = X"$1" && paypal_send "$f" test X"" = X"$1" && paypal_send "$f"
done done
mailq #mailq
} }
paypal_all() { paypal_all() {

View file

@ -1,6 +1,6 @@
#!/usr/bin/perl -w #!/usr/bin/perl -w
# $Id: paypal_imapget,v 1.9 2013/03/20 23:59:41 gilles Exp gilles $ # $Id: paypal_imapget,v 1.10 2013/08/21 22:19:35 gilles Exp gilles $
use Getopt::Long; use Getopt::Long;
use Mail::IMAPClient; use Mail::IMAPClient;
@ -58,7 +58,8 @@ print "@search\n" ;
@search = ('TEXT', 'PP341') if not @search ; @search = ('TEXT', 'PP341') if not @search ;
my @uids_01 = $imap->search('HEADER', 'Return-Path','<payment@paypal.com>', @search ); my @uids_01 = $imap->search('HEADER', 'Return-Path','<payment@paypal.com>', @search );
my @uids_02 = $imap->search('HEADER', 'Return-Path','<member@paypal.fr>', @search ); my @uids_02 = $imap->search('HEADER', 'Return-Path','<member@paypal.fr>', @search );
my @uids = ( @uids_01, @uids_02 ) ; my @uids_03 = $imap->search('HEADER', 'Return-Path','<member@paypal.com>', @search );
my @uids = ( @uids_01, @uids_02, @uids_03 ) ;
print "Search: [@uids]\n"; print "Search: [@uids]\n";
foreach $msg (@uids) { foreach $msg (@uids) {

View file

@ -7,7 +7,7 @@ set -e
# Add path to commands at home # Add path to commands at home
PATH=$PATH:/g/public_html/imapsync/W/paypal_reply PATH=$PATH:/g/public_html/imapsync/W/paypal_reply
PERL5LIB=/g/public_html/imapsync/W/Mail-IMAPClient-3.32/lib PERL5LIB=/g/public_html/imapsync/W/Mail-IMAPClient-3.33/lib
export PERL5LIB export PERL5LIB
test -f /g/public_html/imapsync/W/paypal_reply/paypal_functions \ test -f /g/public_html/imapsync/W/paypal_reply/paypal_functions \

View file

@ -1,18 +1,9 @@
cd C:\msys\1.0\home\Admin\imapsync cd /D %~dp0
perl imapsync --host1 p --user1 toto --passfile1 secret.toto --host2 p --user2 titi --passfile2 secret.titi --ssl1 --ssl2 --folder INBOX .\imapsync.exe --host1 p --user1 tata --passfile1 secret.tata --host2 p --user2 titi --passfile2 secret.titi --ssl1 --ssl2 --delete2 --folder INBOX --usecache --tmpdir "E:\\temp"
REM .\imapsync.exe --host1 p --user1 toto --passfile1 secret.toto --host2 p --user2 titi --passfile2 secret.titi --ssl1 --ssl2 --justconnect
REM PAUSE
REM cmail.cmich.edu has address 207.75.116.61
REM imapsync.exe --host1 cmail.cmich.edu --ssl1 --ssl1_SSL_version SSLv3 ^
REM --host2 cmail.cmich.edu --ssl2 --ssl2_SSL_version SSLv3 ^
REM --justconnect
PAUSE
REM .\imapsync.exe --host1 p --user1 tata --passfile1 secret.tata --host2 p --user2 titi --passfile2 secret.titi --ssl1 --ssl2 --delete2 --folder INBOX
REM .\imapsync.exe --host1 p --user1 tata --passfile1 secret.tata --host2 p --user2 titi --passfile2 secret.titi --ssl1 --ssl2 --delete2 --folder INBOX --usecache

20
W/test3_boxon.bat Normal file
View file

@ -0,0 +1,20 @@
cd /D %~dp0
REM .\imapsync.exe --host1 winmail1.webcows.se --user1 monica@fractus.net --password1 yaa --host2 winmail1.webcows.se --user2 monica@fractus.net --password2 yaa
REM perl imapsync --host1 winmail1.webcows.se --user1 monica@fractus.net --password1 yaa --host2 winmail1.webcows.se --user2 monica@fractus.net --password2 yaa
REM perl imapsync --host1 p --user1 toto --passfile1 secret.toto --host2 p --user2 titi --passfile2 secret.titi --ssl1 --ssl2 --folder INBOX
REM .\imapsync.exe --host1 p --user1 toto --passfile1 secret.toto --host2 p --user2 titi --passfile2 secret.titi --ssl1 --ssl2 --justconnect
REM PAUSE
REM cmail.cmich.edu has address 207.75.116.61
REM imapsync.exe --host1 cmail.cmich.edu --ssl1 --ssl1_SSL_version SSLv3 ^
REM --host2 cmail.cmich.edu --ssl2 --ssl2_SSL_version SSLv3 ^
REM --justconnect
REM .\imapsync.exe --host1 p --user1 tata --passfile1 secret.tata --host2 p --user2 titi --passfile2 secret.titi --ssl1 --ssl2 --delete2 --folder INBOX
REM .\imapsync.exe --host1 p --user1 tata --passfile1 secret.tata --host2 p --user2 titi --passfile2 secret.titi --ssl1 --ssl2 --delete2 --folder INBOX --usecache

View file

@ -1,5 +1,5 @@
REM $Id: build_exe.bat,v 1.19 2013/08/03 12:42:36 gilles Exp gilles $ REM $Id: build_exe.bat,v 1.20 2013/09/21 21:56:14 gilles Exp gilles $
@ECHO OFF @ECHO OFF
ECHO Building imapsync.exe ECHO Building imapsync.exe
@ -12,7 +12,7 @@ perl -mMail::IMAPClient -mIO::Socket -mIO::Socket::SSL -mIO::Socket::IP ^
-mDigest::MD5 -mDigest::HMAC_MD5 -mDigest::HMAC_SHA1 ^ -mDigest::MD5 -mDigest::HMAC_MD5 -mDigest::HMAC_SHA1 ^
-mTerm::ReadKey -mFile::Spec -mAuthen::NTLM ^ -mTerm::ReadKey -mFile::Spec -mAuthen::NTLM ^
-mTime::Local -mURI::Escape -mData::Uniqid ^ -mTime::Local -mURI::Escape -mData::Uniqid ^
-e '' -e ''
cd cd
@ECHO ON @ECHO ON
@ -23,6 +23,7 @@ pp -o imapsync.exe ^
-M Digest::MD5 -M Digest::HMAC_MD5 -M Digest::HMAC_SHA1 ^ -M Digest::MD5 -M Digest::HMAC_MD5 -M Digest::HMAC_SHA1 ^
-M Term::ReadKey -M Authen::NTLM ^ -M Term::ReadKey -M Authen::NTLM ^
-M Time::Local -M URI::Escape -M Data::Uniqid ^ -M Time::Local -M URI::Escape -M Data::Uniqid ^
^
imapsync imapsync
echo Done building imapsync.exe echo Done building imapsync.exe

View file

@ -1,5 +1,5 @@
REM $Id: install_modules.bat,v 1.7 2013/08/03 02:19:58 gilles Exp gilles $ REM $Id: install_modules.bat,v 1.8 2013/09/19 10:34:33 gilles Exp gilles $
@ECHO OFF @ECHO OFF
@ -12,7 +12,8 @@ IF ERRORLEVEL 1 ECHO Perl needed. Install Strawberry Perl. Get it at http://stra
REM perl is there REM perl is there
FOR %%M in ( IO::Socket::INET IO::Socket::INET6 IO::Socket::IP ^ FOR %%M in ( Test::Pod ^
IO::Socket::INET IO::Socket::INET6 IO::Socket::IP ^
Net::SSLeay ^ Net::SSLeay ^
Crypt::SSLeay Net::SSL IO::Socket::SSL ^ Crypt::SSLeay Net::SSL IO::Socket::SSL ^
Digest::MD5 Digest::HMAC_MD5 ^ Digest::MD5 Digest::HMAC_MD5 ^

View file

@ -22,7 +22,7 @@ Synchronises mailboxes between two imap servers.
Good at IMAP migration. More than 52 different IMAP server softwares Good at IMAP migration. More than 52 different IMAP server softwares
supported with success, few failures. supported with success, few failures.
$Revision: 1.564 $ $Revision: 1.567 $
=head1 SYNOPSIS =head1 SYNOPSIS
@ -399,6 +399,7 @@ Success stories reported with the following 55 imap servers
- Dovecot 0.99.10.4, 0.99.14, 0.99.14-8.fc4, 1.0-0.beta2.7, - Dovecot 0.99.10.4, 0.99.14, 0.99.14-8.fc4, 1.0-0.beta2.7,
1.0.0 [dest/source] (LGPL) (http://www.dovecot.org/) 1.0.0 [dest/source] (LGPL) (http://www.dovecot.org/)
- Eudora WorldMail v2 - Eudora WorldMail v2
- Fusemail imap.fusemail.net:143 (https://www.fusemail.com/).
- Gimap (Gmail imap) - Gimap (Gmail imap)
- GMX IMAP4 StreamProxy. - GMX IMAP4 StreamProxy.
- Groupwise IMAP (Novell) 6.x and 7.0. Buggy so see the FAQ. - Groupwise IMAP (Novell) 6.x and 7.0. Buggy so see the FAQ.
@ -425,9 +426,11 @@ Success stories reported with the following 55 imap servers
- Oracle Beehive [host1] - Oracle Beehive [host1]
- Qualcomm Worldmail (NT) - Qualcomm Worldmail (NT)
- QQMail IMAP4Server [host1] [host2] https://en.mail.qq.com/ - QQMail IMAP4Server [host1] [host2] https://en.mail.qq.com/
- RackSpace hoster secure.emailsrvr.com:993 http://www.rackspace.com/
- Rockliffe Mailsite 5.3.11, 4.5.6 - Rockliffe Mailsite 5.3.11, 4.5.6
- Samsung Contact IMAP server 8.5.0 - Samsung Contact IMAP server 8.5.0
- Scalix v10.1, 10.0.1.3, 11.0.0.431, 11.4.6 - Scalix v10.1, 10.0.1.3, 11.0.0.431, 11.4.6
- Sendmail Mail Store IMAP4rev1 (5.5.6/mstore-5-5-build-1874 [host1].
- SmarterMail, Smarter Mail 5.0 Enterprise, Smarter Mail 5.5 [host1], SmarterMail Professional 10.2 [host1]. - SmarterMail, Smarter Mail 5.0 Enterprise, Smarter Mail 5.5 [host1], SmarterMail Professional 10.2 [host1].
- Softalk Workgroup Mail 7.6.4 [host1]. - Softalk Workgroup Mail 7.6.4 [host1].
- SunONE Messaging server 5.2, 6.0 (SUN JES - Java Enterprise System) - SunONE Messaging server 5.2, 6.0 (SUN JES - Java Enterprise System)
@ -536,7 +539,7 @@ Entries for imapsync:
Feedback (good or bad) will often be welcome. Feedback (good or bad) will often be welcome.
$Id: imapsync,v 1.564 2013/08/18 19:28:47 gilles Exp gilles $ $Id: imapsync,v 1.567 2013/09/18 20:38:10 gilles Exp gilles $
=cut =cut
@ -664,7 +667,7 @@ my(
# global variables initialisation # global variables initialisation
$rcs = '$Id: imapsync,v 1.564 2013/08/18 19:28:47 gilles Exp gilles $ '; $rcs = '$Id: imapsync,v 1.567 2013/09/18 20:38:10 gilles Exp gilles $ ';
$total_bytes_transferred = 0; $total_bytes_transferred = 0;
$total_bytes_skipped = 0; $total_bytes_skipped = 0;
@ -947,13 +950,13 @@ for ( @useheader ) { $useheader{ uc( $_ ) } = undef } ;
print "Host1: IMAP server [$host1] port [$port1] user [$user1]\n"; print "Host1: IMAP server [$host1] port [$port1] user [$user1]\n";
print "Host2: IMAP server [$host2] port [$port2] user [$user2]\n"; print "Host2: IMAP server [$host2] port [$port2] user [$user2]\n";
$password1 || $passfile1 || 'PREAUTH' eq $authmech1 || do { $password1 || $passfile1 || 'PREAUTH' eq $authmech1 || 'EXTERNAL' eq $authmech1 || do {
$password1 = ask_for_password( $authuser1 || $user1, $host1 ) ; $password1 = ask_for_password( $authuser1 || $user1, $host1 ) ;
} ; } ;
$password1 = ( defined( $passfile1 ) ) ? firstline ( $passfile1 ) : $password1 ; $password1 = ( defined( $passfile1 ) ) ? firstline ( $passfile1 ) : $password1 ;
$password2 || $passfile2 || 'PREAUTH' eq $authmech2 || do { $password2 || $passfile2 || 'PREAUTH' eq $authmech2 || 'EXTERNAL' eq $authmech2 || do {
$password2 = ask_for_password( $authuser2 || $user2, $host2 ) ; $password2 = ask_for_password( $authuser2 || $user2, $host2 ) ;
} ; } ;
@ -2065,10 +2068,9 @@ sub authenticate_imap {
$imap->User($user) ; $imap->User($user) ;
} }
$imap->Authcallback(\&xoauth) if $authmech eq "XOAUTH" ; $imap->Authcallback(\&xoauth) if ( 'XOAUTH' eq $authmech ) ;
$imap->Authcallback(\&plainauth) if $authmech eq "PLAIN" ; $imap->Authcallback(\&plainauth) if ( ( 'PLAIN' eq $authmech ) or ( 'EXTERNAL' eq $authmech ) ) ;
$imap->Domain($domain) if (defined($domain)) ; $imap->Domain($domain) if (defined($domain)) ;
$imap->Authuser($authuser) ; $imap->Authuser($authuser) ;
$imap->Password($password) ; $imap->Password($password) ;
@ -2263,8 +2265,8 @@ sub banner_imapsync {
my @argv = @_ ; my @argv = @_ ;
my $banner_imapsync = join("", my $banner_imapsync = join("",
'$RCSfile: imapsync,v $ ', '$RCSfile: imapsync,v $ ',
'$Revision: 1.564 $ ', '$Revision: 1.567 $ ',
'$Date: 2013/08/18 19:28:47 $ ', '$Date: 2013/09/18 20:38:10 $ ',
"\n",localhost_info(), "\n", "\n",localhost_info(), "\n",
"Command line used:\n", "Command line used:\n",
"$0 ", command_line_nopassword( @argv ), "\n", "$0 ", command_line_nopassword( @argv ), "\n",
@ -2315,7 +2317,7 @@ sub exit_clean {
sub die_clean { sub die_clean {
my @messages = @_ ; my @messages = @_ ;
unlink( $pidfile ) ; unlink( $pidfile ) ;
croak @messages ; croak( @messages ) ;
} }
sub missing_option { sub missing_option {
@ -3344,7 +3346,7 @@ sub copy_message {
my ( $h1_msg, $h1_fold, $h2_fold, $h1_fir_ref, $permanentflags2, $cache_dir ) = @_ ; my ( $h1_msg, $h1_fold, $h2_fold, $h1_fir_ref, $permanentflags2, $cache_dir ) = @_ ;
( $debug or $dry) and print "msg $h1_fold/$h1_msg copying to $h2_fold $dry_message\n"; ( $debug or $dry) and print "msg $h1_fold/$h1_msg copying to $h2_fold $dry_message\n";
my $h1_size = $h1_fir_ref->{$h1_msg}->{"RFC822.SIZE"} || '' ; my $h1_size = $h1_fir_ref->{$h1_msg}->{"RFC822.SIZE"} || 0 ;
my $h1_flags = $h1_fir_ref->{$h1_msg}->{"FLAGS"} || '' ; my $h1_flags = $h1_fir_ref->{$h1_msg}->{"FLAGS"} || '' ;
my $h1_idate = $h1_fir_ref->{$h1_msg}->{"INTERNALDATE"} || '' ; my $h1_idate = $h1_fir_ref->{$h1_msg}->{"INTERNALDATE"} || '' ;
@ -4657,7 +4659,7 @@ sub check_last_release {
} }
sub imapsync_version { sub imapsync_version {
my $rcs_imapsync = '$Id: imapsync,v 1.564 2013/08/18 19:28:47 gilles Exp gilles $ ' ; my $rcs_imapsync = '$Id: imapsync,v 1.567 2013/09/18 20:38:10 gilles Exp gilles $ ' ;
my $imapsync_version ; my $imapsync_version ;
if ( $rcs_imapsync =~ m{,v\s+(\d+\.\d+)}xo ) { if ( $rcs_imapsync =~ m{,v\s+(\d+\.\d+)}xo ) {

View file

@ -5,7 +5,7 @@
<title>Official imapsync migration tool ( release <!--#exec cmd="cat ./VERSION"--> )</title> <title>Official imapsync migration tool ( release <!--#exec cmd="cat ./VERSION"--> )</title>
<meta name="generator" content="Bluefish 1.0.7"/> <meta name="generator" content="Bluefish 1.0.7"/>
<meta name="author" content="Gilles LAMIRAL"/> <meta name="author" content="Gilles LAMIRAL"/>
<meta name="date" content="2013-08-04T22:34:47+0200"/> <meta name="date" content="2013-09-22T00:28:13+0200"/>
<meta name="copyright" content="None"/> <meta name="copyright" content="None"/>
<meta name="keywords" content="imap, transfert, migration"/> <meta name="keywords" content="imap, transfert, migration"/>
<meta name="description" content="imap migration tool"/> <meta name="description" content="imap migration tool"/>
@ -73,7 +73,7 @@ No way via IMAP, no way via imapsync
<b>imapsync</b> is not suitable for maintaining a synchronization between two active imap accounts while the user <b>imapsync</b> is not suitable for maintaining a synchronization between two active imap accounts while the user
is working on both sides. is working on both sides.
Use <a href="https://github.com/nicolas33/offlineimap"><b>offlineimap</b></a> (written by John Goerzen) Use <a href="http://offlineimap.org/"><b>offlineimap</b></a> (written by John Goerzen)
or <a href="http://isync.sourceforge.net/"><b>mbsync</b></a> (written by Michael R. Elkins) or <a href="http://isync.sourceforge.net/"><b>mbsync</b></a> (written by Michael R. Elkins)
for <b>bidirectionnal (2 ways) synchronizations</b>. for <b>bidirectionnal (2 ways) synchronizations</b>.
</p> </p>
@ -84,10 +84,10 @@ for <b>bidirectionnal (2 ways) synchronizations</b>.
<h2><a id="NUMBERS"></a>Facts and figures for 2011-2013</h2> <h2><a id="NUMBERS"></a>Facts and figures for 2011-2013</h2>
<ul> <ul>
<li><b>4000 to 5000 </b>users per month (34000 users a year)</li> <li><b>4000 to 5000 </b>users per month (45000 users a year)</li>
<li><b>6 to 25 millions mailboxes </b>transfers per month, <li><b>6 to 25 millions mailboxes transfers per month</b>,
total is 93 millions for 2011, 91 millions for 2012, 66 millions for half 2013</li> total is 93 millions for 2011, 91 millions for 2012, should be <b>110 millions for end 2013</b></li>
<li><b>Operating systems</b> run by imapsync users: <li><b>Operating systems</b> run by imapsync users:
<ul> <ul>
@ -102,14 +102,32 @@ total is 93 millions for 2011, 91 millions for 2012, 66 millions for half 2013</
</li> </li>
<li><b>Highest use rate</b>: about <b>21 millions</b> of IMAP mailbox transfers (in a single month)</li> <li><b>Highest use rate</b>: about <b>21 millions</b> of IMAP mailbox transfers (in a single month)</li>
</ul> </ul>
<p>
Where all those numbers come from?
To know wether a newer imapsync exists or not imapsync does a http GET to <a href="http://imapsync.lamiral.info/VERSION">VERSION</a>.
Via the <b>User-agent</b> parameter it also send:</p>
<ul>
<li>imapsync release</li>
<li>Perl version</li>
<li>Mail::IMAPClient version</li>
<li>Operating System</li>
</ul>
<p>You can <b>remove this behavior</b> by adding option <b>--noreleasecheck</b> on the command line (or by setting $releasecheck = 0 in the source code)
</p>
<h2><a id="latest"></a>Latest release is imapsync <h2><a id="latest"></a>Latest release is imapsync
<!--#exec cmd="cat ./VERSION" --> <!--#exec cmd="cat ./VERSION" -->
</h2> </h2>
<p>Written on <!--#flastmod file="./VERSION" --></p> <p>imapsync <!--#exec cmd="cat ./VERSION" --> was written on <!--#flastmod file="./VERSION" --></p>
<div id="osw_imapsync"></div>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js" type="text/javascript"></script>
<script src="http://static.oswatershed.org/js/package_badge.js" type="text/javascript"></script>
<script type="text/javascript">$(document).ready(function(){ package_badge("imapsync", "#osw_imapsync"); });</script>
<p>See <b><a href="ChangeLog">ChangeLog</a></b> to know what's new in details since 2001.</p> <p>See <b><a href="ChangeLog">ChangeLog</a></b> to know what's new in details since 2001.</p>
@ -117,7 +135,7 @@ total is 93 millions for 2011, 91 millions for 2012, 66 millions for half 2013</
<!-- <!--
<ul> <ul>
<li><b>1.564</b></li> <li><b>1.567</b></li>
<li><b>Enhancement</b>: </li> <li><b>Enhancement</b>: </li>
<li><b>Enhancement</b>: </li> <li><b>Enhancement</b>: </li>
<li><b>Enhancement</b>: </li> <li><b>Enhancement</b>: </li>
@ -127,7 +145,7 @@ total is 93 millions for 2011, 91 millions for 2012, 66 millions for half 2013</
<li><b>Usability</b>: </li> <li><b>Usability</b>: </li>
<li><b>Usability</b>: </li> <li><b>Usability</b>: </li>
<li><b>Bug fix</b>: </li> <li><b>Bug fix</b>: </li>
<li><b><Bug fix</b>: </li> <li><b>Bug fix</b>: </li>
<li><b>Bug fix</b>: </li> <li><b>Bug fix</b>: </li>
<li><b>Bug fix</b>: </li> <li><b>Bug fix</b>: </li>
<li><b>Refactoring</b>: </li> <li><b>Refactoring</b>: </li>
@ -137,6 +155,13 @@ total is 93 millions for 2011, 91 millions for 2012, 66 millions for half 2013</
</ul> </ul>
--> -->
<ul>
<li><b>1.567</b> imapsync.exe crash fix</li>
<li><b>Enhancement</b>: Added --authmech EXTERNAL.</li>
<li><b>Bug fix</b>: Fixed a warning when RFC822.SIZE is null or undef.</li>
<li><b>Bug fix</b>: Fixed imapsync.exe crash with no error message when it exits on a error. Back to Perl 5.16</li>
</ul>
<ul> <ul>
<li><b>1.564</b> QQMail support</li> <li><b>1.564</b> QQMail support</li>
<li><b>Enhancement</b>: Adapted behavior for allowing --maxdate --mindate with --noabletosearch. <li><b>Enhancement</b>: Adapted behavior for allowing --maxdate --mindate with --noabletosearch.
@ -677,6 +702,7 @@ I like it.
<li><b>Dovecot</b> 0.99.10.4, 0.99.14, 0.99.14-8.fc4, 1.0-0.beta2.7, <li><b>Dovecot</b> 0.99.10.4, 0.99.14, 0.99.14-8.fc4, 1.0-0.beta2.7,
1.0.0 [dest/source] (LGPL) (http://www.dovecot.org/) (<a href="http://www.dovecot.org/">http://www.dovecot.org/</a>) </li> 1.0.0 [dest/source] (LGPL) (http://www.dovecot.org/) (<a href="http://www.dovecot.org/">http://www.dovecot.org/</a>) </li>
<li>Eudora WorldMail v2 (<a href="http://www.eudora.com/worldmail/">http://www.eudora.com/worldmail/</a>) </li> <li>Eudora WorldMail v2 (<a href="http://www.eudora.com/worldmail/">http://www.eudora.com/worldmail/</a>) </li>
<li>Fusemail imap.fusemail.net:143 (<a href="https://www.fusemail.com/">https://www.fusemail.com/</a>).</li>
<li><b>Gimap</b> (<b>Gmail</b> imap) [host1] [host2] (<a href="http://mail.google.com/">http://mail.google.com/</a>) </li> <li><b>Gimap</b> (<b>Gmail</b> imap) [host1] [host2] (<a href="http://mail.google.com/">http://mail.google.com/</a>) </li>
<li>GMX IMAP4 StreamProxy. (<a href="http://www.gmx.com/">http://www.gmx.com/</a>) </li> <li>GMX IMAP4 StreamProxy. (<a href="http://www.gmx.com/">http://www.gmx.com/</a>) </li>
<li>Godaddy IMAP (since Godaddy runs Courier) (<a href="http://www.godaddy.com/">http://www.godaddy.com/</a>) </li> <li>Godaddy IMAP (since Godaddy runs Courier) (<a href="http://www.godaddy.com/">http://www.godaddy.com/</a>) </li>
@ -712,9 +738,11 @@ I like it.
(<a href="http://www.oracle.com/technetwork/middleware/beehive/">http://www.oracle.com/technetwork/middleware/beehive/</a>) </li> (<a href="http://www.oracle.com/technetwork/middleware/beehive/">http://www.oracle.com/technetwork/middleware/beehive/</a>) </li>
<li>Qualcomm Worldmail (NT) (<a href="http://www.eudora.com/worldmail/">http://www.eudora.com/worldmail/</a>) </li> <li>Qualcomm Worldmail (NT) (<a href="http://www.eudora.com/worldmail/">http://www.eudora.com/worldmail/</a>) </li>
<li>Rockliffe Mailsite 5.3.11, 4.5.6 (<a href="http://www.mailsite.com/">http://www.mailsite.com/</a>) </li> <li>Rockliffe Mailsite 5.3.11, 4.5.6 (<a href="http://www.mailsite.com/">http://www.mailsite.com/</a>) </li>
<li>RackSpace hoster secure.emailsrvr.com:993 <a href="http://www.rackspace.com/">http://www.rackspace.com/</a>)</li>
<li>QQMail IMAP4Server [host1] [host2] (See FAQ) <a href="https://en.mail.qq.com/">https://en.mail.qq.com/</a> </li> <li>QQMail IMAP4Server [host1] [host2] (See FAQ) <a href="https://en.mail.qq.com/">https://en.mail.qq.com/</a> </li>
<li>Samsung Contact IMAP server 8.5.0 </li> <li>Samsung Contact IMAP server 8.5.0 </li>
<li>Scalix v10.1, 10.0.1.3, 11.0.0.431, 11.4.6 (<a href="http://www.scalix.com/">http://www.scalix.com/</a>) </li> <li>Scalix v10.1, 10.0.1.3, 11.0.0.431, 11.4.6 (<a href="http://www.scalix.com/">http://www.scalix.com/</a>) </li>
<li>Sendmail Mail Store IMAP4rev1 (5.5.6/mstore-5-5-build-1874 [host1].</li>
<li>SmarterMail, Smarter Mail 5.0 Enterprise, Smarter Mail 5.5 [host1], SmarterMail Professional 10.2 [host1]. (<a href="http://www.smartertools.com/">http://www.smartertools.com/</a>) </li> <li>SmarterMail, Smarter Mail 5.0 Enterprise, Smarter Mail 5.5 [host1], SmarterMail Professional 10.2 [host1]. (<a href="http://www.smartertools.com/">http://www.smartertools.com/</a>) </li>
<li>Softalk Workgroup Mail 7.6.4 [host1] (<a href="http://www.softalkltd.com/products/download_wm_v7.asp">http://www.softalkltd.com/products/download_wm_v7.asp</a>).</li> <li>Softalk Workgroup Mail 7.6.4 [host1] (<a href="http://www.softalkltd.com/products/download_wm_v7.asp">http://www.softalkltd.com/products/download_wm_v7.asp</a>).</li>
<li>SunONE Messaging server 5.2, 6.0 (SUN JES - Java Enterprise System) (<a href="http://www.oracle.com/">http://www.oracle.com/</a>) </li> <li>SunONE Messaging server 5.2, 6.0 (SUN JES - Java Enterprise System) (<a href="http://www.oracle.com/">http://www.oracle.com/</a>) </li>
@ -737,7 +765,7 @@ I like it.
<ul> <ul>
<li> imap_tools: <a href="http://www.athensfbc.com/imap_tools">http://www.athensfbc.com/imap_tools</a></li> <li> imap_tools: <a href="http://www.athensfbc.com/imap_tools">http://www.athensfbc.com/imap_tools</a></li>
<li> imaputils: <a href="http://code.google.com/p/imaputils/">http://code.google.com/p/imaputils/</a> (imap_tools fork)</li> <li> imaputils: <a href="http://code.google.com/p/imaputils/">http://code.google.com/p/imaputils/</a> (imap_tools fork)</li>
<li> <b>offlineimap</b>: <a href="https://github.com/nicolas33/offlineimap">https://github.com/nicolas33/offlineimap</a></li> <li> <b>offlineimap</b>: <a href="http://offlineimap.org/">http://offlineimap.org/</a></li>
<li> <b>mbsync</b>: <a href="http://isync.sourceforge.net/">http://isync.sourceforge.net/</a></li> <li> <b>mbsync</b>: <a href="http://isync.sourceforge.net/">http://isync.sourceforge.net/</a></li>
<li> mailsync: <a href="http://mailsync.sourceforge.net/">http://mailsync.sourceforge.net/</a></li> <li> mailsync: <a href="http://mailsync.sourceforge.net/">http://mailsync.sourceforge.net/</a></li>
<li> mailutil: <a href="http://www.washington.edu/imap/">http://www.washington.edu/imap/</a> <li> mailutil: <a href="http://www.washington.edu/imap/">http://www.washington.edu/imap/</a>
@ -772,7 +800,7 @@ Prices are given par mailbox and may be outdated (december 2011).</p>
</ul> </ul>
<hr/> <hr/>
<p> <div>
<a href="http://validator.w3.org/check?uri=referer"> <a href="http://validator.w3.org/check?uri=referer">
<img <img
src="W/images/valid-xhtml10" src="W/images/valid-xhtml10"
@ -790,14 +818,14 @@ Prices are given par mailbox and may be outdated (december 2011).</p>
src="W/images/ab_jlh.png" src="W/images/ab_jlh.png"
alt="Viewable With Any Browser" /> alt="Viewable With Any Browser" />
</a> </a>
</p> </div>
<hr/> <hr/>
<p> <p>
<!--#config timefmt="%D" --> <!--#config timefmt="%D" -->
<!--#config timefmt="%A %B %d, %Y" --> <!--#config timefmt="%A %B %d, %Y" -->
<b>This document last modified on <!--#echo var="LAST_MODIFIED" --></b> <b>This document last modified on <!--#echo var="LAST_MODIFIED" --></b>
($Id: index.shtml,v 1.180 2013/08/19 21:30:37 gilles Exp gilles $) ($Id: index.shtml,v 1.185 2013/09/21 22:28:26 gilles Exp gilles $)
</p> </p>
</body> </body>

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,23 +1,23 @@
Main code has high complexity score (333) at line 1, column 1. Consider refactoring. (Severity: 3) Main code has high complexity score (335) at line 1, column 1. Consider refactoring. (Severity: 3)
Code structure is deeply nested at line 1513, column 41. Consider refactoring. (Severity: 3) Code structure is deeply nested at line 1516, column 41. Consider refactoring. (Severity: 3)
Too many arguments at line 1680, column 1. See page 182 of PBP. (Severity: 3) Too many arguments at line 1683, column 1. See page 182 of PBP. (Severity: 3)
Too many arguments at line 1695, column 1. See page 182 of PBP. (Severity: 3) Too many arguments at line 1698, column 1. See page 182 of PBP. (Severity: 3)
Too many arguments at line 1705, column 1. See page 182 of PBP. (Severity: 3) Too many arguments at line 1708, column 1. See page 182 of PBP. (Severity: 3)
Too many arguments at line 1939, column 1. See page 182 of PBP. (Severity: 3) Too many arguments at line 1942, column 1. See page 182 of PBP. (Severity: 3)
Too many arguments at line 1994, column 1. See page 182 of PBP. (Severity: 3) Too many arguments at line 1997, column 1. See page 182 of PBP. (Severity: 3)
Too many arguments at line 2050, column 1. See page 182 of PBP. (Severity: 3) Too many arguments at line 2053, column 1. See page 182 of PBP. (Severity: 3)
Too many arguments at line 2141, column 1. See page 182 of PBP. (Severity: 3) Too many arguments at line 2143, column 1. See page 182 of PBP. (Severity: 3)
Expression form of "eval" at line 2766, column 13. See page 161 of PBP. (Severity: 5) Expression form of "eval" at line 2768, column 13. See page 161 of PBP. (Severity: 5)
Expression form of "eval" at line 2984, column 13. See page 161 of PBP. (Severity: 5) Expression form of "eval" at line 2986, column 13. See page 161 of PBP. (Severity: 5)
Subroutine "select_msgs" does not end with "return" at line 3125, column 1. See page 197 of PBP. (Severity: 4) Subroutine "select_msgs" does not end with "return" at line 3127, column 1. See page 197 of PBP. (Severity: 4)
Subroutine "tests_msgs_from_maxmin" does not end with "return" at line 3264, column 1. See page 197 of PBP. (Severity: 4) Subroutine "tests_msgs_from_maxmin" does not end with "return" at line 3266, column 1. See page 197 of PBP. (Severity: 4)
Subroutine "copy_message" with high complexity score (21) at line 3341, column 1. Consider refactoring. (Severity: 3) Subroutine "copy_message" with high complexity score (21) at line 3343, column 1. Consider refactoring. (Severity: 3)
Too many arguments at line 3341, column 1. See page 182 of PBP. (Severity: 3) Too many arguments at line 3343, column 1. See page 182 of PBP. (Severity: 3)
Too many arguments at line 3401, column 1. See page 182 of PBP. (Severity: 3) Too many arguments at line 3403, column 1. See page 182 of PBP. (Severity: 3)
Subroutine "tests_subject" does not end with "return" at line 3495, column 1. See page 197 of PBP. (Severity: 4) Subroutine "tests_subject" does not end with "return" at line 3497, column 1. See page 197 of PBP. (Severity: 4)
Too many arguments at line 3558, column 1. See page 182 of PBP. (Severity: 3) Too many arguments at line 3560, column 1. See page 182 of PBP. (Severity: 3)
Expression form of "eval" at line 4315, column 13. See page 161 of PBP. (Severity: 5) Expression form of "eval" at line 4317, column 13. See page 161 of PBP. (Severity: 5)
Too many arguments at line 4470, column 1. See page 182 of PBP. (Severity: 3) Too many arguments at line 4472, column 1. See page 182 of PBP. (Severity: 3)
Expression form of "eval" at line 5102, column 43. See page 161 of PBP. (Severity: 5) Expression form of "eval" at line 5104, column 43. See page 161 of PBP. (Severity: 5)
Expression form of "eval" at line 5106, column 45. See page 161 of PBP. (Severity: 5) Expression form of "eval" at line 5108, column 45. See page 161 of PBP. (Severity: 5)
"$i" is declared but not used at line 5370, column 9. Unused variables clutter code and make it harder to read. (Severity: 3) "$i" is declared but not used at line 5372, column 9. Unused variables clutter code and make it harder to read. (Severity: 3)

View file

@ -1,6 +1,6 @@
#!/bin/sh #!/bin/sh
# $Id: tests.sh,v 1.224 2013/08/18 19:30:46 gilles Exp gilles $ # $Id: tests.sh,v 1.225 2013/09/21 21:55:17 gilles Exp gilles $
# Example 1: # Example 1:
# CMD_PERL='perl -I./Mail-IMAPClient-3.33/lib' sh -x tests.sh # CMD_PERL='perl -I./Mail-IMAPClient-3.33/lib' sh -x tests.sh
@ -468,6 +468,16 @@ ll_folderrec_star() {
--folderrec 'INBOX.yop.*' --justfolders --folderrec 'INBOX.yop.*' --justfolders
} }
ll_change_blank() {
$CMD_PERL ./imapsync \
--host1 $HOST1 --user1 tata \
--passfile1 ../../var/pass/secret.tata \
--host2 $HOST2 --user2 titi \
--passfile2 ../../var/pass/secret.titi \
--justfolders --nofoldersizes
}
ll_folderrec_blank_bug() { ll_folderrec_blank_bug() {
@ -2186,6 +2196,19 @@ msw2() {
ssh Admin@c 'C:/msys/1.0/home/Admin/imapsync/test_exe.bat' ssh Admin@c 'C:/msys/1.0/home/Admin/imapsync/test_exe.bat'
} }
ll_change_characters_gmail() {
$CMD_PERL ./imapsync \
--host1 $HOST1 --user1 tata \
--passfile1 ../../var/pass/secret.tata \
--host2 $HOST2 --user2 titi \
--passfile2 ../../var/pass/secret.titi \
--folder "INBOX. f g\h\"i'j " --justfolders \
--regextrans2 "s/['\"\\\\]/_/g" --regextrans2 's,(/|^) +,$1,g' --regextrans2 's, +(/|$),$1,g'
}
xxxxx_gmail() { xxxxx_gmail() {
! ping -c1 imap.gmail.com || $CMD_PERL ./imapsync \ ! ping -c1 imap.gmail.com || $CMD_PERL ./imapsync \
@ -2197,7 +2220,7 @@ xxxxx_gmail() {
--user2 gilles.lamiral@gmail.com \ --user2 gilles.lamiral@gmail.com \
--passfile2 ../../var/pass/secret.gilles_gmail \ --passfile2 ../../var/pass/secret.gilles_gmail \
--nofoldersizes \ --nofoldersizes \
--regextrans2 's/ +$//g' --regextrans2 's# +/#/#g' \ --regextrans2 's,(/|^) +,$1,g' --regextrans2 's, +(/|$),$1,g' \
--exclude 'INBOX.yop.YAP' \ --exclude 'INBOX.yop.YAP' \
--regextrans2 "s,^Messages envoy&AOk-s$,[Gmail]/Messages envoy&AOk-s," \ --regextrans2 "s,^Messages envoy&AOk-s$,[Gmail]/Messages envoy&AOk-s," \
--regextrans2 "s,^Sent$,[Gmail]/Sent Mail," \ --regextrans2 "s,^Sent$,[Gmail]/Sent Mail," \
@ -2288,7 +2311,8 @@ xxxxx_gmail_5_justfolders() {
--ssl2 \ --ssl2 \
--user2 gilles.lamiral@gmail.com \ --user2 gilles.lamiral@gmail.com \
--passfile2 ../../var/pass/secret.gilles_gmail \ --passfile2 ../../var/pass/secret.gilles_gmail \
--justfolders --justfolders --nofoldersizes \
--regextrans2 's,(/|^) +,$1,g' --regextrans2 's, +(/|$),$1,g'
} }