This commit is contained in:
Nick Bebout 2011-03-12 02:44:17 +00:00
parent e47a98b809
commit c63048cca3
10 changed files with 28974 additions and 51 deletions

15
CREDITS
View file

@ -1,5 +1,20 @@
#!/bin/cat #!/bin/cat
Here are the persons who helped me to develop imapsync.
Feel free to tell me if a name is missing or if you want
to remove one.
Roy Hoobler
Problems with big folders.
Bug about message sizes.
Michael Muenz
"no errors (about 80 users)
from Exchange 5.5 to CyrusIMAPd 2.2.12"
Javier Gomez
Failure with MailEnable version 1.54
Mark Waters Mark Waters
Had a problem with --maxsize --skipsize (a bug) Had a problem with --maxsize --skipsize (a bug)

View file

@ -1,15 +1,25 @@
RCS file: RCS/imapsync,v RCS file: RCS/imapsync,v
Working file: imapsync Working file: imapsync
head: 1.137 head: 1.139
branch: branch:
locks: strict locks: strict
gilles: 1.139
access list: access list:
symbolic names: symbolic names:
keyword substitution: kv keyword substitution: kv
total revisions: 137; selected revisions: 137 total revisions: 139; selected revisions: 139
description: description:
---------------------------- ----------------------------
revision 1.139 locked by: gilles;
date: 2005/07/16 12:46:22; author: gilles; state: Exp; lines: +6 -6
server list
----------------------------
revision 1.138
date: 2005/07/16 11:12:45; author: gilles; state: Exp; lines: +20 -13
Added failure story.
Added license information and url in imap server list.
----------------------------
revision 1.137 revision 1.137
date: 2005/06/26 03:08:35; author: gilles; state: Exp; lines: +22 -11 date: 2005/06/26 03:08:35; author: gilles; state: Exp; lines: +22 -11
Added --fastio1 --fastio2 options. Added --fastio1 --fastio2 options.

23
FAQ
View file

@ -4,7 +4,8 @@
+------------------+ +------------------+
======================================================================= =======================================================================
Q. We have found that the sent time and date have been changed to the time at which the file was synchronised. Q. We have found that the sent time and date have been changed to the
time at which the file was synchronised.
R. I guess this is the case with Eudora but not with Mutt, no ? R. I guess this is the case with Eudora but not with Mutt, no ?
Eurora shows by default the time the imap server received the email. Eurora shows by default the time the imap server received the email.
@ -22,6 +23,26 @@ both parts.
Solutions: a) Don't use buggy Eudora Solutions: a) Don't use buggy Eudora
b) Use the --syncinternaldates option and keep using Eudora :-) b) Use the --syncinternaldates option and keep using Eudora :-)
=======================================================================
Q. Does imapsync support IMAP over TLS (IMAPS)?
R. Not natively.
but, 2 ways, at least :
a) There are patches in patches/ directory to do this
in imapsync code.
I tried to include them but it broke my tests.
It works but not always.
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
stunnel -c -d 143 -r imap.foo.org:993
then use imapsync on localhost (or bar machine) imap (143) port.
======================================================================= =======================================================================
Q. I'm migrating from WU to Cyrus, and the mail folders are Q. I'm migrating from WU to Cyrus, and the mail folders are

25
README
View file

@ -2,7 +2,7 @@ NAME
imapsync - IMAP synchronization, copy or migration tool. Synchronize imapsync - IMAP synchronization, copy or migration tool. Synchronize
mailboxes between two imap servers. Good at IMAP migration. mailboxes between two imap servers. Good at IMAP migration.
$Revision: 1.137 $ $Revision: 1.139 $
INSTALL INSTALL
imapsync works fine under any Unix OS. imapsync works fine under any Unix OS.
@ -165,17 +165,23 @@ BUGS
Report any bugs to the author: lamiral@linux-france.org Report any bugs to the author: lamiral@linux-france.org
IMAP SERVERS IMAP SERVERS
Failure story reported with the following imap server :
- MailEnable 1.54 (Proprietary) http://www.mailenable.com/
Success stories reported with the following imap servers (softwares Success stories reported with the following imap servers (softwares
names are in alphabetic order) : names are in alphabetic order) :
- BincImap 1.2.3 - BincImap 1.2.3 (GPL) (http://www.bincimap.org/)
- CommunicatePro server (Redhat 8.0) - CommunicatePro server (Redhat 8.0)
- Courier IMAP 1.5.1, 2.2.0, 2.1.1, 2.2.1 - Courier IMAP 1.5.1, 2.2.0, 2.1.1, 2.2.1 (GPL)
(http://www.courier-mta.org/)
- Critical Path (7.0.020) - Critical Path (7.0.020)
- Cyrus IMAP 1.5, 1.6, 2.1, 2.1.15, 2.1.16, 2.1.18 - Cyrus IMAP 1.5, 1.6, 2.1, 2.1.15, 2.1.16, 2.1.18
2.2.1, 2.2.2-BETA, 2.2.10 2.2.1, 2.2.2-BETA, 2.2.10, 2.2.12, 2.3-alpha (OSI Approved)
- DBMail 1.2.1 (http://asg.web.cmu.edu/cyrus/)
- Dovecot 0.99.10.4 0.99.14 - DBMail 1.2.1 (GPL) (http://www.dbmail.org/)
- Dovecot 0.99.10.4 0.99.14 (LGPL) (http://www.dovecot.org/)
- Domino (Notes) 6.5, 5.0.6, 5.0.7 - Domino (Notes) 6.5, 5.0.6, 5.0.7
- Groupwise IMAP (Novell). Buggy so see the FAQ. - Groupwise IMAP (Novell). Buggy so see the FAQ.
- iPlanet Messaging server 4.15, 5.1 - iPlanet Messaging server 4.15, 5.1
@ -189,7 +195,8 @@ IMAP SERVERS
- Samsung Contact IMAP server 8.5.0 - Samsung Contact IMAP server 8.5.0
- SunONE Messaging server 5.2, 6.0 (SUN JES - Java Enterprise System) - SunONE Messaging server 5.2, 6.0 (SUN JES - Java Enterprise System)
- UW-imap servers (imap-2000b) rijkkramer IMAP4rev1 2000.287 - UW-imap servers (imap-2000b) rijkkramer IMAP4rev1 2000.287
(RedHat uses UW like 2003.338rh) (RedHat uses UW like 2003.338rh) (OSI Approved)
(http://www.washington.edu/imap/)
- UW - QMail v2.1 - UW - QMail v2.1
Please report to the author any success or bad story with imapsync and Please report to the author any success or bad story with imapsync and
@ -254,5 +261,5 @@ AUTHOR
teaching free open and gratis softwares. Don't hesitate to pay him for teaching free open and gratis softwares. Don't hesitate to pay him for
that services. that services.
$Id: imapsync,v 1.137 2005/06/26 03:08:35 gilles Exp $ $Id: imapsync,v 1.139 2005/07/16 12:46:22 gilles Exp gilles $

38
TODO
View file

@ -1,6 +1,9 @@
TODO file for imapsync TODO file for imapsync
---------------------- ----------------------
Read the IMAP RFC http://www.faqs.org/rfcs/rfc3501.html
Respect the NAMESPACE behavior like the RFC.
Add debian packaging in the Makefile. Add debian packaging in the Makefile.
Write to the debian maintener about that. Write to the debian maintener about that.
@ -9,29 +12,6 @@ Interface with external software like procmail
Look at http://barnson.org/node/81 Look at http://barnson.org/node/81
Add in doc:
> The problem seems to be that one of the imap servers (the destination
> one) only supports connections over TLS, and refuses logins via plain tcp.
> Does imapsync support IMAP over TLS (IMAPS)?
Not natively.
but, 2 ways, at least :
a) There are patches in patches/ directory to do this
in imapsync code.
I tried to include them but it broke my tests.
It works but not always.
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
stunnel -c -d 143 -r imap.foo.org:993
then use imapsync on localhost (or bar machine) imap (143) port.
Read: Read:
http://www.washington.edu/imap/documentation/commndmt.txt.html http://www.washington.edu/imap/documentation/commndmt.txt.html
@ -40,7 +20,6 @@ Talk about :
(netscape or thunderbird is ok with dates) (netscape or thunderbird is ok with dates)
use the option --syncinternaldates " use the option --syncinternaldates "
Add usage about --regextrans2 Add usage about --regextrans2
To remove INBOX. in the name of destination folders : To remove INBOX. in the name of destination folders :
--regextrans2 's/^INBOX\.(.+)/$1/' --regextrans2 's/^INBOX\.(.+)/$1/'
@ -59,6 +38,17 @@ Add a --recurse option when --folder option is used.
Add --prefix1 option. Don't know what is the need exactly. Add --prefix1 option. Don't know what is the need exactly.
DONE. Add in doc: Does imapsync support IMAP over TLS (IMAPS)?
DONE. Add the licence of each IMAP software (the free ones).
DONE. Add MailEnable version 1.54 if
Javier Gomez succeed. He failed.
MailEnable is an early stage developpment IMAP server.
DONE. Update doc with ALL options. DONE. Update doc with ALL options.
DONE. Think about speed. DONE. Think about speed.

View file

@ -1 +1 @@
1.137 1.139

3768
bugs/lib/Mail/IMAPClient.pm Normal file

File diff suppressed because it is too large Load diff

25060
bugs/lib/Mail/reference.fr.pdf Normal file

File diff suppressed because one or more lines are too long

View file

@ -6,7 +6,7 @@ imapsync - IMAP synchronization, copy or migration
tool. Synchronize mailboxes between two imap servers. Good tool. Synchronize mailboxes between two imap servers. Good
at IMAP migration. at IMAP migration.
$Revision: 1.137 $ $Revision: 1.139 $
=head1 INSTALL =head1 INSTALL
@ -190,17 +190,23 @@ Report any bugs to the author: lamiral@linux-france.org
=head1 IMAP SERVERS =head1 IMAP SERVERS
Failure story reported with the following imap server :
- MailEnable 1.54 (Proprietary) http://www.mailenable.com/
Success stories reported with the following imap servers Success stories reported with the following imap servers
(softwares names are in alphabetic order) : (softwares names are in alphabetic order) :
- BincImap 1.2.3 - BincImap 1.2.3 (GPL) (http://www.bincimap.org/)
- CommunicatePro server (Redhat 8.0) - CommunicatePro server (Redhat 8.0)
- Courier IMAP 1.5.1, 2.2.0, 2.1.1, 2.2.1 - Courier IMAP 1.5.1, 2.2.0, 2.1.1, 2.2.1 (GPL)
(http://www.courier-mta.org/)
- Critical Path (7.0.020) - Critical Path (7.0.020)
- Cyrus IMAP 1.5, 1.6, 2.1, 2.1.15, 2.1.16, 2.1.18 - Cyrus IMAP 1.5, 1.6, 2.1, 2.1.15, 2.1.16, 2.1.18
2.2.1, 2.2.2-BETA, 2.2.10 2.2.1, 2.2.2-BETA, 2.2.10, 2.2.12, 2.3-alpha (OSI Approved)
- DBMail 1.2.1 (http://asg.web.cmu.edu/cyrus/)
- Dovecot 0.99.10.4 0.99.14 - DBMail 1.2.1 (GPL) (http://www.dbmail.org/)
- Dovecot 0.99.10.4 0.99.14 (LGPL) (http://www.dovecot.org/)
- Domino (Notes) 6.5, 5.0.6, 5.0.7 - Domino (Notes) 6.5, 5.0.6, 5.0.7
- Groupwise IMAP (Novell). Buggy so see the FAQ. - Groupwise IMAP (Novell). Buggy so see the FAQ.
- iPlanet Messaging server 4.15, 5.1 - iPlanet Messaging server 4.15, 5.1
@ -214,7 +220,8 @@ Success stories reported with the following imap servers
- Samsung Contact IMAP server 8.5.0 - Samsung Contact IMAP server 8.5.0
- SunONE Messaging server 5.2, 6.0 (SUN JES - Java Enterprise System) - SunONE Messaging server 5.2, 6.0 (SUN JES - Java Enterprise System)
- UW-imap servers (imap-2000b) rijkkramer IMAP4rev1 2000.287 - UW-imap servers (imap-2000b) rijkkramer IMAP4rev1 2000.287
(RedHat uses UW like 2003.338rh) (RedHat uses UW like 2003.338rh) (OSI Approved)
(http://www.washington.edu/imap/)
- UW - QMail v2.1 - UW - QMail v2.1
Please report to the author any success or bad story with Please report to the author any success or bad story with
@ -296,7 +303,7 @@ Gilles LAMIRAL earn his living writing, installing,
configuring and teaching free open and gratis configuring and teaching free open and gratis
softwares. Don't hesitate to pay him for that services. softwares. Don't hesitate to pay him for that services.
$Id: imapsync,v 1.137 2005/06/26 03:08:35 gilles Exp $ $Id: imapsync,v 1.139 2005/07/16 12:46:22 gilles Exp gilles $
=cut =cut
@ -341,7 +348,7 @@ my(
use vars qw ($opt_G); # missing code for this will be option. use vars qw ($opt_G); # missing code for this will be option.
$rcs = ' $Id: imapsync,v 1.137 2005/06/26 03:08:35 gilles Exp $ '; $rcs = ' $Id: imapsync,v 1.139 2005/07/16 12:46:22 gilles Exp gilles $ ';
$rcs =~ m/,v (\d+\.\d+)/; $rcs =~ m/,v (\d+\.\d+)/;
$VERSION = ($1) ? $1 : "UNKNOWN"; $VERSION = ($1) ? $1 : "UNKNOWN";
@ -378,8 +385,8 @@ $error=0;
my $banner = join("", my $banner = join("",
'$RCSfile: imapsync,v $ ', '$RCSfile: imapsync,v $ ',
'$Revision: 1.137 $ ', '$Revision: 1.139 $ ',
'$Date: 2005/06/26 03:08:35 $ ', '$Date: 2005/07/16 12:46:22 $ ',
"\n", "\n",
"Mail::IMAPClient version used here is ", "Mail::IMAPClient version used here is ",
$VERSION_IMAPClient,"\n" $VERSION_IMAPClient,"\n"
@ -530,7 +537,7 @@ die unless $to->IsAuthenticated();
my (@f_folders, @t_folders, %fs_folders); my (@f_folders, @t_folders, %fs_folders);
# Make a hash of subscribed folders in source server. # Make a hash of subscribed folders in source server.
map { $fs_folders{$_}=1 } $from->subscribed(); # map { $fs_folders{$_}=1 } $from->subscribed();

View file

@ -1,6 +1,6 @@
#!/bin/sh #!/bin/sh
# $Id: tests.sh,v 1.39 2005/06/21 01:29:07 gilles Exp $ # $Id: tests.sh,v 1.40 2005/07/16 12:45:59 gilles Exp gilles $
#### Shell pragmas #### Shell pragmas
@ -577,6 +577,51 @@ essnet_plume2()
--prefix2 INBOX. --regextrans2 's¤INBOX.INBOX¤INBOX¤' --prefix2 INBOX. --regextrans2 's¤INBOX.INBOX¤INBOX¤'
} }
dynamicquest_1()
{
perl -I bugs/lib ./imapsync \
--host1 69.38.48.81 \
--user1 testuser1@dq.com \
--passfile1 /var/tmp/secret.dynamicquest \
--host2 69.38.48.81 \
--user2 testuser2@dq.com \
--passfile2 /var/tmp/secret.dynamicquest \
--noauthmd5 --sep1 "/" --sep2 "/" \
--justconnect --dry
}
dynamicquest_2()
{
perl -I bugs/lib ./imapsync \
--host1 mail.dynamicquest.com \
--user1 gomez \
--passfile1 /var/tmp/secret.dynamicquestgomez \
--host2 69.38.48.81 \
--user2 testuser2@dq.com \
--passfile2 /var/tmp/secret.dynamicquest \
--noauthmd5 \
--justconnect --dry
}
dynamicquest_3()
{
perl -I bugs/lib ./imapsync \
--host1 loul \
--user1 tata \
--passfile1 /var/tmp/secret.tata \
--host2 69.38.48.81 \
--user2 testuser2@dq.com \
--passfile2 /var/tmp/secret.dynamicquest \
--noauthmd5 --sep2 "/" --debug --debugimap
}
useheader() useheader()
{ {
if test X`hostname` = X"plume"; then if test X`hostname` = X"plume"; then