mirror of
https://github.com/imapsync/imapsync.git
synced 2025-06-06 04:37:18 +02:00
1.264
This commit is contained in:
parent
bf62e181ca
commit
c09ef20a65
10 changed files with 2699 additions and 87 deletions
18
CREDITS
18
CREDITS
|
@ -1,7 +1,6 @@
|
||||||
#!/bin/cat
|
#!/bin/cat
|
||||||
# $Id: CREDITS,v 1.114 2008/08/13 23:34:05 gilles Exp gilles $
|
# $Id: CREDITS,v 1.115 2008/08/27 11:56:52 gilles Exp gilles $
|
||||||
|
|
||||||
I thank very much all of these people.
|
|
||||||
|
|
||||||
If you want to make a donation to the author, Gilles LAMIRAL:
|
If you want to make a donation to the author, Gilles LAMIRAL:
|
||||||
|
|
||||||
|
@ -15,13 +14,22 @@ b) If you can read french, please use the following wishlist :
|
||||||
|
|
||||||
c) its paypal account gilles.lamiral@laposte.net
|
c) its paypal account gilles.lamiral@laposte.net
|
||||||
|
|
||||||
Here are the people I thanks, and why :
|
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.
|
||||||
|
|
||||||
|
I thank very much all of these people.
|
||||||
|
|
||||||
|
Daniel Skinner
|
||||||
|
Made me write the FAQ entry about offlineimap and
|
||||||
|
read its documentation.
|
||||||
|
|
||||||
Ploc
|
Ploc
|
||||||
Made me write the option --idatefromheader
|
Made me write the option --idatefromheader
|
||||||
|
|
||||||
Pierre-Emmanuel André
|
Pierre-Emmanuel André
|
||||||
Success from dovecot 1.0.0 to Archiveopteryx 2.10
|
Success from dovecot 1.0.0 to Archiveopteryx 2.10
|
||||||
|
Success from dovecot 1.0.0 to Archiveopteryx 3.0.0
|
||||||
|
|
||||||
Kevin Harriss
|
Kevin Harriss
|
||||||
Pushed me to find (documentation and source) and solve
|
Pushed me to find (documentation and source) and solve
|
||||||
|
@ -424,10 +432,6 @@ Kirk Averett
|
||||||
Bug about --subscribed option. I stupidly
|
Bug about --subscribed option. I stupidly
|
||||||
commented a map line in release 1.138
|
commented a map line in release 1.138
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
Evert Mouw
|
Evert Mouw
|
||||||
Gave the "Term::ReadKey" module dependency problem.
|
Gave the "Term::ReadKey" module dependency problem.
|
||||||
|
|
||||||
|
|
20
ChangeLog
20
ChangeLog
|
@ -1,17 +1,29 @@
|
||||||
|
|
||||||
RCS file: RCS/imapsync,v
|
RCS file: RCS/imapsync,v
|
||||||
Working file: imapsync
|
Working file: imapsync
|
||||||
head: 1.261
|
head: 1.264
|
||||||
branch:
|
branch:
|
||||||
locks: strict
|
locks: strict
|
||||||
gilles: 1.261
|
gilles: 1.264
|
||||||
access list:
|
access list:
|
||||||
symbolic names:
|
symbolic names:
|
||||||
keyword substitution: kv
|
keyword substitution: kv
|
||||||
total revisions: 261; selected revisions: 261
|
total revisions: 264; selected revisions: 264
|
||||||
description:
|
description:
|
||||||
----------------------------
|
----------------------------
|
||||||
revision 1.261 locked by: gilles;
|
revision 1.264 locked by: gilles;
|
||||||
|
date: 2008/08/27 15:19:05; author: gilles; state: Exp; lines: +7 -8
|
||||||
|
Archiveopteryx 3.0.0
|
||||||
|
----------------------------
|
||||||
|
revision 1.263
|
||||||
|
date: 2008/08/26 02:58:11; author: gilles; state: Exp; lines: +59 -22
|
||||||
|
Added modules versions output.
|
||||||
|
----------------------------
|
||||||
|
revision 1.262
|
||||||
|
date: 2008/08/16 17:19:29; author: gilles; state: Exp; lines: +6 -6
|
||||||
|
Work fine under XP.
|
||||||
|
----------------------------
|
||||||
|
revision 1.261
|
||||||
date: 2008/08/16 15:56:00; author: gilles; state: Exp; lines: +32 -41
|
date: 2008/08/16 15:56:00; author: gilles; state: Exp; lines: +32 -41
|
||||||
- Fixed bug about ssl and justconnect option
|
- Fixed bug about ssl and justconnect option
|
||||||
- Cleaned connect code.
|
- Cleaned connect code.
|
||||||
|
|
17
FAQ
17
FAQ
|
@ -58,6 +58,23 @@ R. - Download Mail::IMAPClient 2.2.9 at
|
||||||
or if imapsync is in directory /path/
|
or if imapsync is in directory /path/
|
||||||
perl -I./Mail-IMAPClient-2.2.9 /path/imapsync [...]
|
perl -I./Mail-IMAPClient-2.2.9 /path/imapsync [...]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
=======================================================================
|
||||||
|
Q. I am interested in creating a local clone of the IMAP on a LAN
|
||||||
|
server for faster synchronisations, Email will always be delivered
|
||||||
|
to the remote server and so the synchronisation will be one way from
|
||||||
|
remote to local. How suited is ImapSync to continouous one-way
|
||||||
|
synchronisation of mailboxes? Is there a better solution?
|
||||||
|
|
||||||
|
R. If messages are delivered remotely and you play locally with the
|
||||||
|
copy, in order to have fast access, then the synchronisation can't
|
||||||
|
be one way. You may change flags, you may move messages in
|
||||||
|
different folders etc.
|
||||||
|
|
||||||
|
A better tool with this scenario is offlineimap,
|
||||||
|
designed for this issue, and faster than imapsync.
|
||||||
|
|
||||||
=======================================================================
|
=======================================================================
|
||||||
Q. We have found that the sent time and date have been changed to the
|
Q. We have found that the sent time and date have been changed to the
|
||||||
time at which the file was synchronised.
|
time at which the file was synchronised.
|
||||||
|
|
23
INSTALL
23
INSTALL
|
@ -1,8 +1,29 @@
|
||||||
# $Id: INSTALL,v 1.13 2008/03/19 00:28:36 gilles Exp gilles $
|
# $Id: INSTALL,v 1.14 2008/08/16 17:18:58 gilles Exp gilles $
|
||||||
#
|
#
|
||||||
# INSTALL file for imapsync
|
# INSTALL file for imapsync
|
||||||
# imapsync : IMAP sync or copy tool.
|
# imapsync : IMAP sync or copy tool.
|
||||||
|
|
||||||
|
INTRODUCTION
|
||||||
|
------------
|
||||||
|
|
||||||
|
imapsync works fine under any Unix OS with perl.
|
||||||
|
imapsync works fine under Windows (2000, XP) and ActiveState's 5.8 Perl
|
||||||
|
|
||||||
|
imapsync is already available directly on the following distributions (at least):
|
||||||
|
FreeBSD, Debian, Ubuntu, Gentoo, NetBSD, Darwin, Mandriva and OpenBSD (yeah!).
|
||||||
|
|
||||||
|
Get imapsync at
|
||||||
|
http://www.linux-france.org/prj/imapsync/dist/
|
||||||
|
|
||||||
|
You'll find a compressed tarball called imapsync-x.xx.tgz
|
||||||
|
where x.xx is the version number. Untar the tarball where
|
||||||
|
you want (on Unix):
|
||||||
|
|
||||||
|
tar xzvf imapsync-x.xx.tgz
|
||||||
|
|
||||||
|
Go into the directory imapsync-x.xx and read the INSTALL file.
|
||||||
|
You're already reading the INSTALL file.
|
||||||
|
|
||||||
GETTING
|
GETTING
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
|
10
README
10
README
|
@ -3,11 +3,11 @@ NAME
|
||||||
Synchronise mailboxes between two imap servers. Good at IMAP migration.
|
Synchronise mailboxes between two imap servers. Good at IMAP migration.
|
||||||
More than 32 different IMAP server softwares supported with success.
|
More than 32 different IMAP server softwares supported with success.
|
||||||
|
|
||||||
$Revision: 1.261 $
|
$Revision: 1.264 $
|
||||||
|
|
||||||
INSTALL
|
INSTALL
|
||||||
imapsync works fine under any Unix OS with perl.
|
imapsync works fine under any Unix OS with perl.
|
||||||
imapsync works fine under Windows 2000 (at least) and ActiveState's 5.8 Perl
|
imapsync works fine under Windows (2000, XP) and ActiveState's 5.8 Perl
|
||||||
|
|
||||||
imapsync is already available directly on the following distributions (at least):
|
imapsync is already available directly on the following distributions (at least):
|
||||||
FreeBSD, Debian, Ubuntu, Gentoo, NetBSD, Darwin, Mandriva and OpenBSD (yeah!).
|
FreeBSD, Debian, Ubuntu, Gentoo, NetBSD, Darwin, Mandriva and OpenBSD (yeah!).
|
||||||
|
@ -247,7 +247,7 @@ IMAP SERVERS
|
||||||
Success stories reported with the following 35 imap servers (softwares
|
Success stories reported with the following 35 imap servers (softwares
|
||||||
names are in alphabetic order) :
|
names are in alphabetic order) :
|
||||||
|
|
||||||
- Archiveopteryx 2.03, 2.04, 2.09, 2.10 [dest]
|
- Archiveopteryx 2.03, 2.04, 2.09, 2.10 [dest], 3.0.0 [dest]
|
||||||
(OSL 3.0) http://www.archiveopteryx.org/
|
(OSL 3.0) http://www.archiveopteryx.org/
|
||||||
- BincImap 1.2.3 (GPL) (http://www.bincimap.org/)
|
- BincImap 1.2.3 (GPL) (http://www.bincimap.org/)
|
||||||
- CommuniGatePro server (Redhat 8.0)
|
- CommuniGatePro server (Redhat 8.0)
|
||||||
|
@ -268,7 +268,7 @@ IMAP SERVERS
|
||||||
2.0.7 seems buggy.
|
2.0.7 seems buggy.
|
||||||
- Deerfield VisNetic MailServer 5.8.6 [from]
|
- Deerfield VisNetic MailServer 5.8.6 [from]
|
||||||
- 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] (LGPL) (http://www.dovecot.org/)
|
1.0.0 [dest/source] (LGPL) (http://www.dovecot.org/)
|
||||||
- Domino (Notes) 4.61[from], 6.5, 5.0.6, 5.0.7, 7.0.2, 6.0.2CF1, 7.0.1 [from]
|
- Domino (Notes) 4.61[from], 6.5, 5.0.6, 5.0.7, 7.0.2, 6.0.2CF1, 7.0.1 [from]
|
||||||
- Eudora WorldMail v2
|
- Eudora WorldMail v2
|
||||||
- GMX IMAP4 StreamProxy.
|
- GMX IMAP4 StreamProxy.
|
||||||
|
@ -364,5 +364,5 @@ SIMILAR SOFTWARES
|
||||||
|
|
||||||
Feedback (good or bad) will be always welcome.
|
Feedback (good or bad) will be always welcome.
|
||||||
|
|
||||||
$Id: imapsync,v 1.261 2008/08/16 15:56:00 gilles Exp gilles $
|
$Id: imapsync,v 1.264 2008/08/27 15:19:05 gilles Exp gilles $
|
||||||
|
|
||||||
|
|
84
TODO
84
TODO
|
@ -1,20 +1,17 @@
|
||||||
TODO file for imapsync
|
TODO file for imapsync
|
||||||
----------------------
|
----------------------
|
||||||
|
|
||||||
|
Fix bad english language.
|
||||||
|
|
||||||
Write to zimbra coders about the date presentation:
|
Write to zimbra coders about the date presentation:
|
||||||
Sorting by default by internal date is bad with migrations
|
Sorting by default by internal date is bad with migrations
|
||||||
and delays arrivals. An option would be good.
|
and delays arrivals. An option would be good.
|
||||||
|
|
||||||
Fix --ssl --justconnect bug
|
|
||||||
|
|
||||||
Fix --ssl need --authmech login with gmail. Why?
|
|
||||||
|
|
||||||
Add an option to implement the faq entry about copying a contact folder.
|
Add an option to implement the faq entry about copying a contact folder.
|
||||||
|
|
||||||
imapsync doesn't report well. It should says "I had
|
imapsync doesn't report well. It should says "I had
|
||||||
to sync 123 messages but I could transfer only 99 messages"
|
to sync 123 messages but I could transfer only 99 messages"
|
||||||
|
|
||||||
|
|
||||||
Fix bug "not possible to use space in the imap password"
|
Fix bug "not possible to use space in the imap password"
|
||||||
|
|
||||||
Add kerberos authentification
|
Add kerberos authentification
|
||||||
|
@ -23,21 +20,19 @@ Add NOOP commands to avoid timeouts.
|
||||||
|
|
||||||
Make "--delete 2" be a fatal error.
|
Make "--delete 2" be a fatal error.
|
||||||
|
|
||||||
Start an imap internet scan project.
|
|
||||||
|
|
||||||
Explain howto change only the header with --regexmess
|
Explain howto change only the header with --regexmess
|
||||||
|
|
||||||
Start a wiki for imapsync.
|
Start a wiki for imapsync.
|
||||||
|
|
||||||
Add a --pidfile option.
|
Add a --pidfile option.
|
||||||
Add a --tmpfile option.
|
Add a --tmpfile option.
|
||||||
|
Add a --tmpdir option.
|
||||||
Write a clean_exit() replacing each die() or exit() call.
|
Write a clean_exit() replacing each die() or exit() call.
|
||||||
Add a --skipheaderinfolder option
|
Add a --skipheaderinfolder option
|
||||||
See the code patches/imapsync_Cvitkovich_pidfile_tmpfile
|
See the code patches/imapsync_Cvitkovich_pidfile_tmpfile
|
||||||
|
|
||||||
Make --skipheader be multiple
|
Make --skipheader be multiple
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Fix this:
|
Fix this:
|
||||||
> - Erreur avec la traditionnelle différence entre Windows
|
> - Erreur avec la traditionnelle différence entre Windows
|
||||||
> et LInux sur les retour-chariots : le calcul de la
|
> et LInux sur les retour-chariots : le calcul de la
|
||||||
|
@ -48,31 +43,14 @@ Fix this:
|
||||||
> # No NL Count on Windows my $length = ( -s $file ) + $bare_nl_count;
|
> # No NL Count on Windows my $length = ( -s $file ) + $bare_nl_count;
|
||||||
> my $length = ( -s $file );
|
> my $length = ( -s $file );
|
||||||
|
|
||||||
|
|
||||||
Normally, "no header used or found" means imapsync found a message
|
|
||||||
with no header. It may be a bad message with really no header
|
|
||||||
or it may be a imap server problem, the server gives no header
|
|
||||||
for this message. In that case imapsync gets the whole message
|
|
||||||
to see if there is the same on the other side. It slows the transfer
|
|
||||||
of course. I think I'll change imapsync behavior and let it
|
|
||||||
give up those bad messages missing an header.
|
|
||||||
|
|
||||||
|
|
||||||
Add a --delete2folders option
|
Add a --delete2folders option
|
||||||
"When syncing mailboxes with imapsync, is there a way to delete folders in the
|
"When syncing mailboxes with imapsync, is there a way to delete folders in the
|
||||||
target account? The --delete2 option only seems to delete individual
|
target account? The --delete2 option only seems to delete individual
|
||||||
messages, not folders."
|
messages, not folders."
|
||||||
|
|
||||||
|
Add different levels of output to see clearly the
|
||||||
Fix the buggy --include behavior with no --folder --folderrec or --subscribed.
|
|
||||||
|
|
||||||
make --syncinternaldates turn on by default
|
|
||||||
|
|
||||||
Add different level of output to see clearly the
|
|
||||||
problem by default.
|
problem by default.
|
||||||
|
|
||||||
Check imapsync with gmail (dates problem?).
|
|
||||||
|
|
||||||
Add --justlogin --justlogin1 --justlogin2 options
|
Add --justlogin --justlogin1 --justlogin2 options
|
||||||
to check username and passwort.
|
to check username and passwort.
|
||||||
|
|
||||||
|
@ -89,8 +67,6 @@ that - in example, to write each mail to stdout, pipe that to the
|
||||||
convertion program, and read the result from stdin - and this all before
|
convertion program, and read the result from stdin - and this all before
|
||||||
the mail will transfer to the target imap-server"
|
the mail will transfer to the target imap-server"
|
||||||
|
|
||||||
Add a --tmpdir option.
|
|
||||||
|
|
||||||
Fix bug with folder names starting with an asterisk: *Archiv
|
Fix bug with folder names starting with an asterisk: *Archiv
|
||||||
Sending: 220 SELECT *Archiv/Support/foobar
|
Sending: 220 SELECT *Archiv/Support/foobar
|
||||||
Read: 220 BAD Protokollfehler: "Invalid folder specified in SELECT command"
|
Read: 220 BAD Protokollfehler: "Invalid folder specified in SELECT command"
|
||||||
|
@ -113,16 +89,12 @@ Add an entry to
|
||||||
http://lsm.execpc.com/lsm/
|
http://lsm.execpc.com/lsm/
|
||||||
See template lsm.imapsync
|
See template lsm.imapsync
|
||||||
|
|
||||||
Update the distribution list including imapsync in the
|
|
||||||
INSTALL chapter.
|
|
||||||
|
|
||||||
Add an option to tell imapsync that the domain
|
Add an option to tell imapsync that the domain
|
||||||
is changing and have it replace the domain in all user names that are
|
is changing and have it replace the domain in all user names that are
|
||||||
related to ACLs.
|
related to ACLs.
|
||||||
See patches/imapsync-acls-users
|
See patches/imapsync-acls-users
|
||||||
|
|
||||||
Add a best practice migration tips document,
|
Add a best practice migration tips document.
|
||||||
good options with such imap server.
|
|
||||||
|
|
||||||
Add "output to reflect everything that imapsync was doing".
|
Add "output to reflect everything that imapsync was doing".
|
||||||
Not everything but flag synchronization will be nice"
|
Not everything but flag synchronization will be nice"
|
||||||
|
@ -134,9 +106,6 @@ Add a method doing the switch automagicaly.
|
||||||
|
|
||||||
Add --verbose from Kjetil jumbo patch.
|
Add --verbose from Kjetil jumbo patch.
|
||||||
|
|
||||||
Talk about mbox and maildir format when "Invalid header"
|
|
||||||
problem is encountered.
|
|
||||||
|
|
||||||
Post on newsgroup comp.mail.imap when a new release comes.
|
Post on newsgroup comp.mail.imap when a new release comes.
|
||||||
http://groups.google.fr/group/comp.mail.imap
|
http://groups.google.fr/group/comp.mail.imap
|
||||||
|
|
||||||
|
@ -147,18 +116,50 @@ Write to the debian maintener about that.
|
||||||
|
|
||||||
Interface with external software like procmail
|
Interface with external software like procmail
|
||||||
|
|
||||||
Look at http://barnson.org/node/81
|
|
||||||
|
|
||||||
Read:
|
Read:
|
||||||
http://www.washington.edu/imap/documentation/commndmt.txt.html
|
http://www.washington.edu/imap/documentation/commndmt.txt.html
|
||||||
|
|
||||||
|
|
||||||
Add cyrus link about INBOX. namespace
|
Add cyrus link about INBOX. namespace
|
||||||
http://asg.web.cmu.edu/cyrus/download/imapd/altnamespace.html
|
http://asg.web.cmu.edu/cyrus/download/imapd/altnamespace.html
|
||||||
|
|
||||||
|
|
||||||
Explain expunge behavior.
|
Explain expunge behavior.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
DONE. Fix the buggy --include behavior with no --folder --folderrec or --subscribed.
|
||||||
|
|
||||||
|
DONE. Update the distribution list including imapsync in the
|
||||||
|
INSTALL chapter. Also in README.
|
||||||
|
|
||||||
|
DONE. Start FAQ entries about good options with such imap server.
|
||||||
|
|
||||||
|
DONE. Talk about mbox and maildir format when "Invalid header"
|
||||||
|
problem is encountered. (See FAQ "Invalid header")
|
||||||
|
|
||||||
|
DONE. Look at http://barnson.org/node/81
|
||||||
|
An old blog about imap migration.
|
||||||
|
|
||||||
|
DONE. Normally, "no header used or found" means imapsync found a message
|
||||||
|
with no header. It may be a bad message with really no header
|
||||||
|
or it may be a imap server problem, the server gives no header
|
||||||
|
for this message. In that case imapsync gets the whole message
|
||||||
|
to see if there is the same on the other side. It slows the transfer
|
||||||
|
of course. I think I'll change imapsync behavior and let it
|
||||||
|
give up those bad messages missing an header.
|
||||||
|
|
||||||
|
DONE. Make --syncinternaldates turn on by default
|
||||||
|
|
||||||
|
DONE. Check imapsync with gmail (dates problem?).
|
||||||
|
|
||||||
|
DONE. Start an imap internet scan project.
|
||||||
|
|
||||||
|
DONE. Fix --ssl --justconnect bug
|
||||||
|
|
||||||
|
DONE. Fix --ssl needs --authmech login with gmail. Why?
|
||||||
|
|
||||||
DONE. Try a 50Mo message transfer (slow ?)
|
DONE. Try a 50Mo message transfer (slow ?)
|
||||||
fast !
|
fast !
|
||||||
|
|
||||||
|
@ -241,7 +242,6 @@ Test the new Mail::IMAPClient (2.1.4 -> 2.2.6 or sup)
|
||||||
userdbpw -hmac-md5 | userdb userdb set hmac-md5pw
|
userdbpw -hmac-md5 | userdb userdb set hmac-md5pw
|
||||||
http://www.inter7.com/courierimap/INSTALL.html
|
http://www.inter7.com/courierimap/INSTALL.html
|
||||||
|
|
||||||
|
|
||||||
DONE. Add a --subscribe option to subscribe folders on the
|
DONE. Add a --subscribe option to subscribe folders on the
|
||||||
destination server.
|
destination server.
|
||||||
|
|
||||||
|
|
2
VERSION
2
VERSION
|
@ -1 +1 @@
|
||||||
1.261
|
1.264
|
||||||
|
|
88
imapsync
88
imapsync
|
@ -9,12 +9,12 @@ tool. Synchronise mailboxes between two imap servers. Good
|
||||||
at IMAP migration. More than 32 different IMAP server softwares
|
at IMAP migration. More than 32 different IMAP server softwares
|
||||||
supported with success.
|
supported with success.
|
||||||
|
|
||||||
$Revision: 1.261 $
|
$Revision: 1.264 $
|
||||||
|
|
||||||
=head1 INSTALL
|
=head1 INSTALL
|
||||||
|
|
||||||
imapsync works fine under any Unix OS with perl.
|
imapsync works fine under any Unix OS with perl.
|
||||||
imapsync works fine under Windows 2000 (at least) and ActiveState's 5.8 Perl
|
imapsync works fine under Windows (2000, XP) and ActiveState's 5.8 Perl
|
||||||
|
|
||||||
imapsync is already available directly on the following distributions (at least):
|
imapsync is already available directly on the following distributions (at least):
|
||||||
FreeBSD, Debian, Ubuntu, Gentoo, NetBSD, Darwin, Mandriva and OpenBSD (yeah!).
|
FreeBSD, Debian, Ubuntu, Gentoo, NetBSD, Darwin, Mandriva and OpenBSD (yeah!).
|
||||||
|
@ -284,7 +284,7 @@ Failure stories reported with the following 4 imap servers :
|
||||||
Success stories reported with the following 35 imap servers
|
Success stories reported with the following 35 imap servers
|
||||||
(softwares names are in alphabetic order) :
|
(softwares names are in alphabetic order) :
|
||||||
|
|
||||||
- Archiveopteryx 2.03, 2.04, 2.09, 2.10 [dest]
|
- Archiveopteryx 2.03, 2.04, 2.09, 2.10 [dest], 3.0.0 [dest]
|
||||||
(OSL 3.0) http://www.archiveopteryx.org/
|
(OSL 3.0) http://www.archiveopteryx.org/
|
||||||
- BincImap 1.2.3 (GPL) (http://www.bincimap.org/)
|
- BincImap 1.2.3 (GPL) (http://www.bincimap.org/)
|
||||||
- CommuniGatePro server (Redhat 8.0)
|
- CommuniGatePro server (Redhat 8.0)
|
||||||
|
@ -305,7 +305,7 @@ Success stories reported with the following 35 imap servers
|
||||||
2.0.7 seems buggy.
|
2.0.7 seems buggy.
|
||||||
- Deerfield VisNetic MailServer 5.8.6 [from]
|
- Deerfield VisNetic MailServer 5.8.6 [from]
|
||||||
- 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] (LGPL) (http://www.dovecot.org/)
|
1.0.0 [dest/source] (LGPL) (http://www.dovecot.org/)
|
||||||
- Domino (Notes) 4.61[from], 6.5, 5.0.6, 5.0.7, 7.0.2, 6.0.2CF1, 7.0.1 [from]
|
- Domino (Notes) 4.61[from], 6.5, 5.0.6, 5.0.7, 7.0.2, 6.0.2CF1, 7.0.1 [from]
|
||||||
- Eudora WorldMail v2
|
- Eudora WorldMail v2
|
||||||
- GMX IMAP4 StreamProxy.
|
- GMX IMAP4 StreamProxy.
|
||||||
|
@ -422,7 +422,7 @@ Entries for imapsync:
|
||||||
|
|
||||||
Feedback (good or bad) will be always welcome.
|
Feedback (good or bad) will be always welcome.
|
||||||
|
|
||||||
$Id: imapsync,v 1.261 2008/08/16 15:56:00 gilles Exp gilles $
|
$Id: imapsync,v 1.264 2008/08/27 15:19:05 gilles Exp gilles $
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -489,7 +489,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.261 2008/08/16 15:56:00 gilles Exp gilles $ ';
|
$rcs = '$Id: imapsync,v 1.264 2008/08/27 15:19:05 gilles Exp gilles $ ';
|
||||||
$rcs =~ m/,v (\d+\.\d+)/;
|
$rcs =~ m/,v (\d+\.\d+)/;
|
||||||
$VERSION = ($1) ? $1 : "UNKNOWN";
|
$VERSION = ($1) ? $1 : "UNKNOWN";
|
||||||
|
|
||||||
|
@ -521,10 +521,27 @@ sub check_lib_version {
|
||||||
|
|
||||||
$error=0;
|
$error=0;
|
||||||
|
|
||||||
|
sub modules_VERSION() {
|
||||||
|
|
||||||
|
no warnings 'uninitialized';
|
||||||
|
my $modules_releases = "
|
||||||
|
Mail::IMAPClient $Mail::IMAPClient::VERSION
|
||||||
|
IO::Socket $IO::Socket::VERSION
|
||||||
|
IO::Socket::SSL $IO::Socket::SSL::VERSION
|
||||||
|
Digest::MD5 $Digest::MD5::VERSION
|
||||||
|
Digest::HMAC_MD5 $Digest::HMAC_MD5::VERSION
|
||||||
|
Term::ReadKey $Term::ReadKey::VERSION
|
||||||
|
Date::Manip $Date::Manip::VERSION
|
||||||
|
";
|
||||||
|
return($modules_releases);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
my $banner = join("",
|
my $banner = join("",
|
||||||
'$RCSfile: imapsync,v $ ',
|
'$RCSfile: imapsync,v $ ',
|
||||||
'$Revision: 1.261 $ ',
|
'$Revision: 1.264 $ ',
|
||||||
'$Date: 2008/08/16 15:56:00 $ ',
|
'$Date: 2008/08/27 15:19:05 $ ',
|
||||||
"\n",localhost_info(),
|
"\n",localhost_info(),
|
||||||
" and the module Mail::IMAPClient version used here is ",
|
" and the module Mail::IMAPClient version used here is ",
|
||||||
$VERSION_IMAPClient,"\n",
|
$VERSION_IMAPClient,"\n",
|
||||||
|
@ -555,6 +572,8 @@ $port1 ||= defined $ssl1 ? 993 : 143;
|
||||||
$host2 || missing_option("--host2") ;
|
$host2 || missing_option("--host2") ;
|
||||||
$port2 ||= defined $ssl2 ? 993 : 143;
|
$port2 ||= defined $ssl2 ? 993 : 143;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
sub connect_imap {
|
sub connect_imap {
|
||||||
my($host, $port, $debugimap, $ssl) = @_;
|
my($host, $port, $debugimap, $ssl) = @_;
|
||||||
my $imap = Mail::IMAPClient->new();
|
my $imap = Mail::IMAPClient->new();
|
||||||
|
@ -569,13 +588,15 @@ sub connect_imap {
|
||||||
sub localhost_info {
|
sub localhost_info {
|
||||||
|
|
||||||
my($infos) = join("",
|
my($infos) = join("",
|
||||||
"Here is a [$OSNAME] system (",
|
"Here is a [$OSNAME] system (",
|
||||||
join(" ",
|
join(" ",
|
||||||
uname(),
|
uname(),
|
||||||
),
|
),
|
||||||
")\n",
|
")\n",
|
||||||
"with perl ",
|
"with perl ",
|
||||||
sprintf("%vd", $PERL_VERSION));
|
sprintf("%vd", $PERL_VERSION),
|
||||||
|
modules_VERSION()
|
||||||
|
);
|
||||||
return($infos);
|
return($infos);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -661,7 +682,6 @@ print "To imap server [$host2] port [$port2] user [$user2]\n";
|
||||||
|
|
||||||
|
|
||||||
sub ask_for_password {
|
sub ask_for_password {
|
||||||
require Term::ReadKey;
|
|
||||||
my ($user, $host) = @_;
|
my ($user, $host) = @_;
|
||||||
print "What's the password for $user\@$host? ";
|
print "What's the password for $user\@$host? ";
|
||||||
Term::ReadKey::ReadMode(2);
|
Term::ReadKey::ReadMode(2);
|
||||||
|
@ -1737,6 +1757,8 @@ sub get_options
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
load_modules();
|
||||||
|
|
||||||
# exit with --help option or no option at all
|
# exit with --help option or no option at all
|
||||||
usage() and exit if ($help or ! $numopt) ;
|
usage() and exit if ($help or ! $numopt) ;
|
||||||
|
|
||||||
|
@ -1744,9 +1766,25 @@ sub get_options
|
||||||
exit(EX_USAGE()) unless ($opt_ret) ;
|
exit(EX_USAGE()) unless ($opt_ret) ;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
sub load_modules {
|
||||||
|
|
||||||
|
require IO::Socket::SSL if ($ssl1 or $ssl2);
|
||||||
|
require Date::Manip if ($syncinternaldates || $idatefromheader) ;
|
||||||
|
|
||||||
|
# require Term::ReadKey if (
|
||||||
|
# (not($password1 or $passfile1))
|
||||||
|
# or (not($password2 or $passfile2))
|
||||||
|
# or (not $help));
|
||||||
|
|
||||||
|
#require Data::Dumper if ($debug);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
sub parse_header_msg1 {
|
sub parse_header_msg1 {
|
||||||
my ($imap, $m_uid, $s_heads, $s_fir, $s, $s_hash) = @_;
|
my ($imap, $m_uid, $s_heads, $s_fir, $s, $s_hash) = @_;
|
||||||
|
|
||||||
|
@ -1978,7 +2016,6 @@ $0 \\
|
||||||
--host2 imap.trac.org --user2 bar --passfile2 /etc/secret2
|
--host2 imap.trac.org --user2 bar --passfile2 /etc/secret2
|
||||||
|
|
||||||
$localhost_info
|
$localhost_info
|
||||||
Mail::IMAPClient version is $Mail::IMAPClient::VERSION
|
|
||||||
$rcs
|
$rcs
|
||||||
|
|
||||||
$thank
|
$thank
|
||||||
|
@ -2398,14 +2435,14 @@ use constant NonFolderArg => 1; # Value to pass to Massage to
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
use warnings;
|
use warnings;
|
||||||
my $candump = 0;
|
# my $candump = 0;
|
||||||
if ($self->Debug) {
|
# if ($self->Debug) {
|
||||||
eval {
|
# eval {
|
||||||
require Data::Dumper;
|
# require Data::Dumper;
|
||||||
Data::Dumper->import;
|
# Data::Dumper->import;
|
||||||
};
|
# };
|
||||||
$candump++ unless $@;
|
# $candump++ unless $@;
|
||||||
}
|
# }
|
||||||
|
|
||||||
}
|
}
|
||||||
# if we asked for one message, just return its hash,
|
# if we asked for one message, just return its hash,
|
||||||
|
@ -2585,7 +2622,6 @@ use constant NonFolderArg => 1; # Value to pass to Massage to
|
||||||
$self->Socket($sock);
|
$self->Socket($sock);
|
||||||
$self->State(Connected);
|
$self->State(Connected);
|
||||||
$sock->autoflush(1) ;
|
$sock->autoflush(1) ;
|
||||||
|
|
||||||
my ($code, $output);
|
my ($code, $output);
|
||||||
$output = "";
|
$output = "";
|
||||||
until ( $code ) {
|
until ( $code ) {
|
||||||
|
|
43
tests.sh
43
tests.sh
|
@ -1,6 +1,6 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
# $Id: tests.sh,v 1.78 2008/08/16 15:54:40 gilles Exp gilles $
|
# $Id: tests.sh,v 1.79 2008/08/27 15:18:12 gilles Exp gilles $
|
||||||
|
|
||||||
#### Shell pragmas
|
#### Shell pragmas
|
||||||
|
|
||||||
|
@ -130,6 +130,35 @@ locallocal() {
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ll_timeout() {
|
||||||
|
if test X`hostname` = X"plume"; then
|
||||||
|
echo3 Here is plume
|
||||||
|
$CMD_PERL ./imapsync \
|
||||||
|
--host1 localhost --user1 tata@est.belle \
|
||||||
|
--passfile1 /var/tmp/secret.tata \
|
||||||
|
--host2 localhost --user2 titi@est.belle \
|
||||||
|
--passfile2 /var/tmp/secret.titi \
|
||||||
|
--folder INBOX --timeout 1
|
||||||
|
else
|
||||||
|
:
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
ll_timeout_ssl() {
|
||||||
|
if test X`hostname` = X"plume"; then
|
||||||
|
echo3 Here is plume
|
||||||
|
$CMD_PERL ./imapsync \
|
||||||
|
--host1 localhost --user1 tata@est.belle \
|
||||||
|
--passfile1 /var/tmp/secret.tata \
|
||||||
|
--host2 localhost --user2 titi@est.belle \
|
||||||
|
--passfile2 /var/tmp/secret.titi \
|
||||||
|
--folder INBOX --timeout 5 --ssl1 --ssl2
|
||||||
|
else
|
||||||
|
:
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ll_folder() {
|
ll_folder() {
|
||||||
|
@ -1013,6 +1042,17 @@ ariasolutions2() {
|
||||||
# --dry --debug --debugimap
|
# --dry --debug --debugimap
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
genomics() {
|
||||||
|
|
||||||
|
# Blocked, timeout ignored
|
||||||
|
./imapsync \
|
||||||
|
--host1 mail.genomics.org.cn --user1 lamiral --passfile1 /var/tmp/secret.genomics \
|
||||||
|
--host2 szmail.genomics.cn --user2 lamiral --passfile2 /var/tmp/secret.genomics \
|
||||||
|
--sep1 . --prefix1 'INBOX.' --folder INBOX --useheader 'Message-Id' --expunge --skipsize \
|
||||||
|
--timeout 7 --debug --debugimap
|
||||||
|
|
||||||
}
|
}
|
||||||
##########################
|
##########################
|
||||||
##########################
|
##########################
|
||||||
|
@ -1035,6 +1075,7 @@ test $# -eq 0 && run_tests \
|
||||||
option_tests \
|
option_tests \
|
||||||
first_sync \
|
first_sync \
|
||||||
locallocal \
|
locallocal \
|
||||||
|
ll_timeout \
|
||||||
ll_folder \
|
ll_folder \
|
||||||
ll_buffersize \
|
ll_buffersize \
|
||||||
ll_justfolders \
|
ll_justfolders \
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue