mirror of
https://github.com/imapsync/imapsync.git
synced 2024-11-17 00:02:29 +01:00
696 lines
26 KiB
Groff
696 lines
26 KiB
Groff
.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16)
|
|
.\"
|
|
.\" Standard preamble:
|
|
.\" ========================================================================
|
|
.de Sp \" Vertical space (when we can't use .PP)
|
|
.if t .sp .5v
|
|
.if n .sp
|
|
..
|
|
.de Vb \" Begin verbatim text
|
|
.ft CW
|
|
.nf
|
|
.ne \\$1
|
|
..
|
|
.de Ve \" End verbatim text
|
|
.ft R
|
|
.fi
|
|
..
|
|
.\" Set up some character translations and predefined strings. \*(-- will
|
|
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
|
|
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
|
|
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
|
|
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
|
|
.\" nothing in troff, for use with C<>.
|
|
.tr \(*W-
|
|
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
|
|
.ie n \{\
|
|
. ds -- \(*W-
|
|
. ds PI pi
|
|
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
|
|
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
|
|
. ds L" ""
|
|
. ds R" ""
|
|
. ds C` ""
|
|
. ds C' ""
|
|
'br\}
|
|
.el\{\
|
|
. ds -- \|\(em\|
|
|
. ds PI \(*p
|
|
. ds L" ``
|
|
. ds R" ''
|
|
'br\}
|
|
.\"
|
|
.\" Escape single quotes in literal strings from groff's Unicode transform.
|
|
.ie \n(.g .ds Aq \(aq
|
|
.el .ds Aq '
|
|
.\"
|
|
.\" If the F register is turned on, we'll generate index entries on stderr for
|
|
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
|
|
.\" entries marked with X<> in POD. Of course, you'll have to process the
|
|
.\" output yourself in some meaningful fashion.
|
|
.ie \nF \{\
|
|
. de IX
|
|
. tm Index:\\$1\t\\n%\t"\\$2"
|
|
..
|
|
. nr % 0
|
|
. rr F
|
|
.\}
|
|
.el \{\
|
|
. de IX
|
|
..
|
|
.\}
|
|
.\"
|
|
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
|
|
.\" Fear. Run. Save yourself. No user-serviceable parts.
|
|
. \" fudge factors for nroff and troff
|
|
.if n \{\
|
|
. ds #H 0
|
|
. ds #V .8m
|
|
. ds #F .3m
|
|
. ds #[ \f1
|
|
. ds #] \fP
|
|
.\}
|
|
.if t \{\
|
|
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
|
|
. ds #V .6m
|
|
. ds #F 0
|
|
. ds #[ \&
|
|
. ds #] \&
|
|
.\}
|
|
. \" simple accents for nroff and troff
|
|
.if n \{\
|
|
. ds ' \&
|
|
. ds ` \&
|
|
. ds ^ \&
|
|
. ds , \&
|
|
. ds ~ ~
|
|
. ds /
|
|
.\}
|
|
.if t \{\
|
|
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
|
|
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
|
|
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
|
|
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
|
|
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
|
|
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
|
|
.\}
|
|
. \" troff and (daisy-wheel) nroff accents
|
|
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
|
|
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
|
|
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
|
|
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
|
|
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
|
|
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
|
|
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
|
|
.ds ae a\h'-(\w'a'u*4/10)'e
|
|
.ds Ae A\h'-(\w'A'u*4/10)'E
|
|
. \" corrections for vroff
|
|
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
|
|
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
|
|
. \" for low resolution devices (crt and lpr)
|
|
.if \n(.H>23 .if \n(.V>19 \
|
|
\{\
|
|
. ds : e
|
|
. ds 8 ss
|
|
. ds o a
|
|
. ds d- d\h'-1'\(ga
|
|
. ds D- D\h'-1'\(hy
|
|
. ds th \o'bp'
|
|
. ds Th \o'LP'
|
|
. ds ae ae
|
|
. ds Ae AE
|
|
.\}
|
|
.rm #[ #] #H #V #F C
|
|
.\" ========================================================================
|
|
.\"
|
|
.IX Title "IMAPSYNC 1"
|
|
.TH IMAPSYNC 1 "2015-04-01" "perl v5.14.2" "User Contributed Perl Documentation"
|
|
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
|
|
.\" way too many mistakes in technical documents.
|
|
.if n .ad l
|
|
.nh
|
|
.SH "NAME"
|
|
imapsync \- IMAP synchronisation, sync, copy or migration tool.
|
|
Synchronises mailboxes between two imap servers.
|
|
Good at IMAP migration. More than 52 different IMAP server softwares
|
|
supported with success, few failures.
|
|
.PP
|
|
$Revision: 1.637 $
|
|
.SH "SYNOPSIS"
|
|
.IX Header "SYNOPSIS"
|
|
To synchronize imap account \*(L"foo\*(R" on \*(L"imap.truc.org\*(R"
|
|
to imap account \*(L"bar\*(R" on \*(L"imap.trac.org\*(R"
|
|
with foo password \*(L"secret1\*(R"
|
|
and bar password \*(L"secret2\*(R":
|
|
.PP
|
|
.Vb 3
|
|
\& imapsync \e
|
|
\& \-\-host1 imap.truc.org \-\-user1 foo \-\-password1 secret1 \e
|
|
\& \-\-host2 imap.trac.org \-\-user2 bar \-\-password2 secret2
|
|
.Ve
|
|
.SH "INSTALL"
|
|
.IX Header "INSTALL"
|
|
.Vb 4
|
|
\& imapsync works fine under any Unix OS with perl.
|
|
\& imapsync works fine under Windows (2000, XP, Vista, Seven)
|
|
\& with Strawberry Perl (5.10, 5.12 or higher)
|
|
\& or as a standalone binary software imapsync.exe
|
|
.Ve
|
|
.PP
|
|
imapsync can be available directly on the following distributions:
|
|
FreeBSD, Debian, Ubuntu, Gentoo, Fedora,
|
|
NetBSD, Darwin, Mandriva and OpenBSD.
|
|
See http://oswatershed.org/pkg/imapsync
|
|
.PP
|
|
.Vb 2
|
|
\& Purchase latest imapsync at
|
|
\& http://imapsync.lamiral.info/
|
|
\&
|
|
\& You\*(Aqll receive a link to 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.
|
|
\& The INSTALL file can be found at
|
|
\& http://imapsync.lamiral.info/INSTALL
|
|
\& It is now split in several files for each system
|
|
\& http://imapsync.lamiral.info/INSTALL.d/
|
|
\&
|
|
\& The frozen freecode (was freshmeat) record is at
|
|
\& http://freecode.com/projects/imapsync
|
|
.Ve
|
|
.SH "USAGE"
|
|
.IX Header "USAGE"
|
|
.Vb 1
|
|
\& imapsync [options]
|
|
.Ve
|
|
.PP
|
|
To get a description of each option just run imapsync like this:
|
|
.PP
|
|
.Vb 1
|
|
\& imapsync \-\-help
|
|
.Ve
|
|
.PP
|
|
or simply
|
|
.PP
|
|
.Vb 1
|
|
\& imapsync
|
|
.Ve
|
|
.PP
|
|
This description of all options is available at
|
|
http://imapsync.lamiral.info/OPTIONS
|
|
.PP
|
|
The option list:
|
|
.PP
|
|
.Vb 10
|
|
\& imapsync [\-\-host1 server1] [\-\-port1 <num>]
|
|
\& [\-\-user1 <string>] [\-\-passfile1 <string>]
|
|
\& [\-\-host2 server2] [\-\-port2 <num>]
|
|
\& [\-\-user2 <string>] [\-\-passfile2 <string>]
|
|
\& [\-\-ssl1] [\-\-ssl2]
|
|
\& [\-\-tls1] [\-\-tls2]
|
|
\& [\-\-authmech1 <string>] [\-\-authmech2 <string>]
|
|
\& [\-\-proxyauth1] [\-\-proxyauth2]
|
|
\& [\-\-domain1] [\-\-domain2]
|
|
\& [\-\-authmd51] [\-\-authmd52]
|
|
\& [\-\-folder <string> \-\-folder <string> ...]
|
|
\& [\-\-folderrec <string> \-\-folderrec <string> ...]
|
|
\& [\-\-include <regex>] [\-\-exclude <regex>]
|
|
\& [\-\-prefix2 <string>] [\-\-prefix1 <string>]
|
|
\& [\-\-regextrans2 <regex> \-\-regextrans2 <regex> ...]
|
|
\& [\-\-sep1 <char>]
|
|
\& [\-\-sep2 <char>]
|
|
\& [\-\-justfolders] [\-\-justfoldersizes] [\-\-justconnect] [\-\-justbanner]
|
|
\& [\-\-syncinternaldates]
|
|
\& [\-\-idatefromheader]
|
|
\& [\-\-syncacls]
|
|
\& [\-\-regexmess <regex>] [\-\-regexmess <regex>]
|
|
\& [\-\-skipmess <regex>] [\-\-skipmess <regex>]
|
|
\& [\-\-maxsize <int>]
|
|
\& [\-\-minsize <int>]
|
|
\& [\-\-maxage <int>]
|
|
\& [\-\-minage <int>]
|
|
\& [\-\-search <string>]
|
|
\& [\-\-search1 <string>]
|
|
\& [\-\-search2 <string>]
|
|
\& [\-\-useheader <string>] [\-\-useheader <string>]
|
|
\& [\-\-nouid1] [\-\-nouid2]
|
|
\& [\-\-usecache]
|
|
\& [\-\-noskipsize]
|
|
\& [\-\-delete]
|
|
\& [\-\-delete2] [\-\-delete2duplicates]
|
|
\& [\-\-expunge] [\-\-expunge1] [\-\-expunge2] [\-\-uidexpunge2]
|
|
\& [\-\-delete2folders] [\-\-delete2foldersonly] [\-\-delete2foldersbutnot]
|
|
\& [\-\-subscribed] [\-\-subscribe] [\-\-subscribeall]
|
|
\& [\-\-nofoldersizes] [\-\-nofoldersizesatend]
|
|
\& [\-\-dry]
|
|
\& [\-\-debug] [\-\-debugimap][\-\-debugimap1][\-\-debugimap2] [\-\-debugcontent]
|
|
\& [\-\-timeout <int>]
|
|
\& [\-\-noreleasecheck]
|
|
\& [\-\-releasecheck]
|
|
\& [\-\-pidfile <filepath>] [\-\-pidfilelocking]
|
|
\& [\-\-tmpdir <dirpath>]
|
|
\& [\-\-nolog]
|
|
\& [\-\-logfile <filepath>]
|
|
\& [\-\-version] [\-\-help]
|
|
\& [\-\-tests] [\-\-testsdebug] [\-\-testslive]
|
|
.Ve
|
|
.SH "DESCRIPTION"
|
|
.IX Header "DESCRIPTION"
|
|
Imapsync command is a tool allowing incremental and
|
|
recursive imap transfers from one mailbox to another.
|
|
.PP
|
|
By default all folders are transferred, recursively, all
|
|
possible flags (\eSeen \eAnswered \eFlagged etc.) are synced too.
|
|
.PP
|
|
We sometimes need to transfer mailboxes from one imap server to
|
|
another. This is called migration.
|
|
.PP
|
|
Imapsync reduces the amount
|
|
of data transferred by not transferring a given message
|
|
if it resides already on both sides. Same specific headers
|
|
and the transfer is done only once; taken into account are by default
|
|
Message-Id and Received header lines.
|
|
All flags are
|
|
preserved, unread will stay unread, read will stay read,
|
|
deleted will stay deleted. You can stop the transfer at any
|
|
time and restart it later, imapsync works well with bad
|
|
connections and interruptions.
|
|
.PP
|
|
You can decide to delete the messages from the source mailbox
|
|
after a successful transfer, it can be a good feature when migrating
|
|
live mailboxes since messages will be only on one side.
|
|
In that case, use the \-\-delete option. Option \-\-delete implies
|
|
also option \-\-expunge so all messages marked deleted on host1
|
|
will be really deleted.
|
|
(you can use \-\-noexpunge to avoid this but I don't see any
|
|
good real world scenario for the combination \-\-delete \-\-noexpunge).
|
|
.PP
|
|
A different scenario is synchronizing a mailbox B from another mailbox A
|
|
in case you just want to keep a \*(L"live\*(R" copy of A in B.
|
|
In that case \-\-delete2 has to be used, it deletes messages in host2
|
|
folder B that are not in host1 folder A. If you also need to destroy
|
|
host2 folders that are not in host1 then use \-\-delete2folders (see also
|
|
\&\-\-delete2foldersonly and \-\-delete2foldersbutnot).
|
|
.PP
|
|
Imapsync is not adequate for maintaining two active imap accounts
|
|
in synchronization when the user plays independently on both sides.
|
|
Use offlineimap (written by John Goerzen) or mbsync (written by
|
|
Michael R. Elkins) for 2 ways synchronizations.
|
|
.SH "OPTIONS"
|
|
.IX Header "OPTIONS"
|
|
To get a description of each option just invoke:
|
|
.PP
|
|
.Vb 1
|
|
\& imapsync
|
|
.Ve
|
|
.PP
|
|
or read http://imapsync.lamiral.info/OPTIONS
|
|
.SH "HISTORY"
|
|
.IX Header "HISTORY"
|
|
I wrote imapsync because an enterprise (basystemes) paid me to install
|
|
a new imap server without losing huge old mailboxes located on a far
|
|
away remote imap server accessible by a low bandwidth link. The tool
|
|
imapcp (written in python) could not help me because I had to verify
|
|
every mailbox was well transferred and delete it after a good
|
|
transfer. imapsync started its life as a copy_folder.pl patch.
|
|
The tool copy_folder.pl comes from the Mail\-IMAPClient\-2.1.3 perl
|
|
module tarball source (in the examples/ directory of the tarball).
|
|
.SH "EXAMPLE"
|
|
.IX Header "EXAMPLE"
|
|
While working on imapsync parameters please run imapsync in
|
|
dry mode (no modification induced) with the \-\-dry
|
|
option. Nothing bad can be done this way.
|
|
.PP
|
|
To synchronize the imap account \*(L"buddy\*(R" (with password \*(L"secret1\*(R")
|
|
on host \*(L"imap.src.fr\*(R" to the imap account \*(L"max\*(R" (with password \*(L"secret2\*(R")
|
|
on host \*(L"imap.dest.fr\*(R":
|
|
.PP
|
|
.Vb 2
|
|
\& imapsync \-\-host1 imap.src.fr \-\-user1 buddy \-\-password1 secret1 \e
|
|
\& \-\-host2 imap.dest.fr \-\-user2 max \-\-password2 secret2
|
|
.Ve
|
|
.PP
|
|
Then you will have max's mailbox updated from buddy's
|
|
mailbox.
|
|
.SH "SECURITY"
|
|
.IX Header "SECURITY"
|
|
You can use \-\-passfile1 instead of \-\-password1 to give the
|
|
password since it is safer. With \-\-password1 option any user
|
|
on your host can see the password by using the 'ps auxwwww'
|
|
command. Using a variable (like \f(CW$PASSWORD1\fR) is also
|
|
dangerous because of the 'ps auxwwwwe' command. So, saving
|
|
the password in a well protected file (600 or rw\-\-\-\-\-\-\-) is
|
|
the best solution.
|
|
.PP
|
|
imasync is not totally protected against sniffers on the
|
|
network since passwords may be transferred in plain text
|
|
if \s-1CRAM\-MD5\s0 is not supported by your imap servers. Use
|
|
\&\-\-ssl1 (or \-\-tls1) and \-\-ssl2 (or \-\-tls2) to enable
|
|
encryption on host1 and host2.
|
|
.PP
|
|
You may authenticate as one user (typically an admin user),
|
|
but be authorized as someone else, which means you don't
|
|
need to know every user's personal password. Specify
|
|
\&\-\-authuser1 \*(L"adminuser\*(R" to enable this on host1. In this
|
|
case, \-\-authmech1 \s-1PLAIN\s0 will be used by default since it
|
|
is the only way to go for now. So don't use \-\-authmech1 \s-1SOMETHING\s0
|
|
with \-\-authuser1 \*(L"adminuser\*(R", it will not work.
|
|
Same behavior with the \-\-authuser2 option.
|
|
Authenticate with an admin account must be supported by your
|
|
imap server to work with imapsync.
|
|
.PP
|
|
When working on Sun/iPlanet/Netscape \s-1IMAP\s0 servers you must use
|
|
\&\-\-proxyauth1 to enable administrative user to masquerade as another user.
|
|
Can also be used on destination server with \-\-proxyauth2
|
|
.PP
|
|
You can authenticate with \s-1OAUTH\s0 when transfering from Google Apps.
|
|
The consumer key will be the domain part of the \-\-user, and the
|
|
\&\-\-password will be used as the consumer secret. It does not work
|
|
with Google Apps free edition.
|
|
.SH "EXIT STATUS"
|
|
.IX Header "EXIT STATUS"
|
|
imapsync will exit with a 0 status (return code) if everything went good.
|
|
Otherwise, it exits with a non-zero status.
|
|
.PP
|
|
So if you have an unreliable internet connection, you can use this loop
|
|
in a Bourne shell:
|
|
.PP
|
|
.Vb 3
|
|
\& while ! imapsync ...; do
|
|
\& echo imapsync not complete
|
|
\& done
|
|
.Ve
|
|
.SH "LICENSE"
|
|
.IX Header "LICENSE"
|
|
imapsync is free, open, public but not always gratis software
|
|
cover by the \s-1NOLIMIT\s0 Public License.
|
|
See the \s-1LICENSE\s0 file included in the distribution or just read this
|
|
simple sentence as it is the licence text:
|
|
No limit to do anything with this work and this license.
|
|
.SH "MAILING-LIST"
|
|
.IX Header "MAILING-LIST"
|
|
The public mailing-list may be the best way to get free support.
|
|
.PP
|
|
To write on the mailing-list, the address is:
|
|
<imapsync@linux\-france.org>
|
|
.PP
|
|
To subscribe, send any message (even empty) to:
|
|
<imapsync\-subscribe@listes.linux\-france.org>
|
|
then just reply to the confirmation message.
|
|
.PP
|
|
To unsubscribe, send a message to:
|
|
<imapsync\-unsubscribe@listes.linux\-france.org>
|
|
.PP
|
|
To contact the person in charge for the list:
|
|
<imapsync\-request@listes.linux\-france.org>
|
|
.PP
|
|
The list archives are available at:
|
|
http://www.linux\-france.org/prj/imapsync_list/
|
|
So consider that the list is public, anyone
|
|
can see your post. Use a pseudonym or do not
|
|
post to this list if you want to stay private.
|
|
.PP
|
|
Thank you for your participation.
|
|
.SH "AUTHOR"
|
|
.IX Header "AUTHOR"
|
|
Gilles \s-1LAMIRAL\s0 <gilles.lamiral@laposte.net>
|
|
.PP
|
|
Feedback good or bad is very often welcome.
|
|
.PP
|
|
Gilles \s-1LAMIRAL\s0 earns his living by writing, installing,
|
|
configuring and teaching free, open and often gratis
|
|
softwares. It used to be \*(L"always gratis\*(R" but now it is
|
|
\&\*(L"often\*(R" because imapsync is sold by its author, a good
|
|
way to stay maintening and supporting free open public
|
|
softwares (see the license) over decades.
|
|
.SH "BUG REPORT GUIDELINES"
|
|
.IX Header "BUG REPORT GUIDELINES"
|
|
Help me to help you: follow the following guidelines.
|
|
.PP
|
|
Report any bugs or feature requests to the public mailing-list
|
|
or to the author.
|
|
.PP
|
|
Before reporting bugs, read the \s-1FAQ\s0, the \s-1README\s0 and the
|
|
\&\s-1TODO\s0 files. http://imapsync.lamiral.info/
|
|
.PP
|
|
Upgrade to last imapsync release, maybe the bug
|
|
is already fixed.
|
|
.PP
|
|
Upgrade to last Mail-IMAPClient Perl module.
|
|
http://search.cpan.org/dist/Mail\-IMAPClient/
|
|
maybe the bug is already fixed there.
|
|
.PP
|
|
Make a good title with word \*(L"imapsync\*(R" in it (my spam filters won't filter it),
|
|
Try to write an email title with more words than just \*(L"imapsync\*(R" or \*(L"problem\*(R",
|
|
a good title is made of keywords summary, but not too long (one visible line).
|
|
.PP
|
|
Help us to help you: in your report, please include:
|
|
.PP
|
|
.Vb 1
|
|
\& \- imapsync version.
|
|
\&
|
|
\& \- output near the first failures, a few lines before is good to get the context
|
|
\& of the issue. First failures messages are often more significant than
|
|
\& the last ones.
|
|
\&
|
|
\& \- if the issue is always related to the same messages, include the output
|
|
\& with \-\-debug \-\-debugimap, near the failure point. For example,
|
|
\& Isolate a buggy message or two in a folder \*(AqBUG\*(Aq and use
|
|
\&
|
|
\& imapsync ... \-\-folder \*(AqBUG\*(Aq \-\-debug \-\-debugimap
|
|
\&
|
|
\& \- imap server softwares on both sides and their version number.
|
|
\&
|
|
\& \- imapsync with all the options you use, the full command line
|
|
\& you use (except the passwords of course).
|
|
\&
|
|
\& \- IMAPClient.pm version.
|
|
\&
|
|
\& \- the run context. Do you run imapsync.exe, a unix binary
|
|
\& or the perl script imapsync.
|
|
\&
|
|
\& \- operating system running imapsync.
|
|
\&
|
|
\& \- virtual software context (vmware, xen etc.)
|
|
\&
|
|
\& \- operating systems on both sides and the third side in case
|
|
\& you run imapsync on a foreign host from the both.
|
|
.Ve
|
|
.PP
|
|
Most of those values can be found as a copy/paste at the begining of the output,
|
|
so a carbon copy of the output is a very easy and very good debug report for me.
|
|
.PP
|
|
One time in your life, read the paper
|
|
\&\*(L"How To Ask Questions The Smart Way\*(R"
|
|
http://www.catb.org/~esr/faqs/smart\-questions.html
|
|
and then forget it.
|
|
.SH "IMAP SERVERS"
|
|
.IX Header "IMAP SERVERS"
|
|
Failure stories reported in the past with the following 6 imap servers.
|
|
Maybe last imapsync release can run successfully with them.
|
|
Don't hesitate to have a try, It's been a long time since last failure occured,
|
|
I will help you and make efforts to switch them to the success list,
|
|
that's my job.
|
|
.PP
|
|
.Vb 9
|
|
\& \- MailEnable 1.54 (Proprietary) but MailEnable 4.23 is supported.
|
|
\& \- DBMail 0.9, 2.0.7 (GPL). But DBMail 1.2.1 is supported.
|
|
\& Patient and confident testers are welcome.
|
|
\& \- Imail 7.04 (maybe).
|
|
\& \- (2011) MDaemon 12.0.3 as host2 but MDaemon is supported as host1.
|
|
\& MDaemon is simply buggy with the APPEND IMAP command with
|
|
\& any IMAP email client.
|
|
\& \- Hotmail since hotmail.com does not provide IMAP access
|
|
\& \- Outlook.com since outlook.com does not provide IMAP access
|
|
.Ve
|
|
.PP
|
|
Success stories reported with the following 62 imap servers
|
|
(software names are in alphabetic order):
|
|
.PP
|
|
.Vb 10
|
|
\& \- 1und1 H mimap1 84498 [host1] H mibap4 95231 [host1]
|
|
\& \- a1.net imap.a1.net IMAP4 Ready [host1]
|
|
\& \- Apple Server 10.6 Snow Leopard [host1]
|
|
\& \- Archiveopteryx 2.03, 2.04, 2.09, 2.10 [host2], 3.0.0 [host2]
|
|
\& (OSL 3.0) http://www.archiveopteryx.org/
|
|
\& \- Atmail 6.x [host1]
|
|
\& \- Axigen Mail Server Version 8.0.0
|
|
\& \- BincImap 1.2.3 (GPL) (http://www.bincimap.org/)
|
|
\& \- CommuniGatePro server (Redhat 8.0) (Solaris), CommuniGate Pro 5.2.17[host2] (CentOS 5.4)
|
|
\& \- Courier IMAP 1.5.1, 2.2.0, 2.1.1, 2.2.1, 3.0.8, 3.0.3, 4.1.1 (GPL)
|
|
\& (http://www.courier\-mta.org/)
|
|
\& \- Critical Path (7.0.020)
|
|
\& \- 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.3, 2.2.6, 2.2.10, 2.2.12, 2.2.13,
|
|
\& 2.3\-alpha (OSI Approved), 2.3.1, 2.3.7, 2.3.16
|
|
\& (http://asg.web.cmu.edu/cyrus/)
|
|
\& \- David Tobit V8 (proprietary Message system).
|
|
\& \- Deerfield VisNetic MailServer 5.8.6 [host1] (http://www.deerfield.net/products/visnetic\-mailserver/)
|
|
\& \- DBMail 1.2.1, 2.0.4, 2.0.9, 2.2rc1 (GPL) (http://www.dbmail.org/).
|
|
\& 2.0.7 seems buggy.
|
|
\& \- DBOX 2.41 System [host1] (http://www.dbox.handshake.de/).
|
|
\& \- Deerfield VisNetic MailServer 5.8.6 [host1]
|
|
\& \- dkimap4 [host1]
|
|
\& \- Domino (Notes) 4.61 [host1], 6.5 [host1], 5.0.6, 5.0.7, 7.0.2, 6.0.2CF1,
|
|
\& 7.0.1 [host1], 8.0.1 [host1], 8.5.2 [host2], 8.5.3 [host1]
|
|
\& \- 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/)
|
|
\& \- Eudora WorldMail v2
|
|
\& \- FirtClass 9 [host1] Read the FAQ! (http://www.firstclass.com/)
|
|
\& \- FTGate (http://www.ftgate.com/)
|
|
\& \- Fusemail imap.fusemail.net:143 (https://www.fusemail.com/).
|
|
\& \- Gimap (Gmail imap)
|
|
\& \- GMX IMAP4 StreamProxy.
|
|
\& \- Groupwise IMAP (Novell) 6.x and 7.0. Buggy so see the FAQ.
|
|
\& \- hMailServer 5.40\-B1950 [host12], 5.3.3 [host2], 4.4.1 [host1] (see FAQ)
|
|
\& \- IceWarp Server 10.4.5 [host1] (http://www.icewarp.com/)
|
|
\& \- iPlanet Messaging server 4.15, 5.1, 5.2
|
|
\& \- IMail 7.15 (Ipswitch/Win2003), 8.12, 11.03 [host1]
|
|
\& \- Kerio 7.2.0 Patch 1 [host12], Kerio 8 [host1]
|
|
\& \- Mail2World IMAP4 Server 2.5 [host1] (http://www.mail2world.com/)
|
|
\& \- MailEnable 4.23 [host1] [host2], 4.26 [host1][host2], 5 [host1]
|
|
\& \- MDaemon 7.0.1, 8.0.2, 8.1, 9.5.4 (Windows server 2003 R2 platform),
|
|
\& 9.6.5 [host1], 12 [host2], 12.0.3 [host1], 12.5.5 [host1],
|
|
\& 13.5 [host2], 14.5 [host2]
|
|
\& \- Mercury 4.1 (Windows server 2000 platform)
|
|
\& \- Microsoft Exchange Server 5.5, 6.0.6249.0[host1], 6.0.6487.0[host1],
|
|
\& 6.5.7638.1 [host2], 6.5 [host1], Exchange 2007 SP1 (with Update Rollup 2),
|
|
\& Exchange2007\-EP\-SP2,
|
|
\& Exchange 2010 RTM (Release to Manufacturing) [host2],
|
|
\& Exchange 2010 SP1 RU2[host2],
|
|
\& \- Mirapoint, 4.1.9\-GA [host1]
|
|
\& \- Netscape Mail Server 3.6 (Wintel !)
|
|
\& \- Netscape Messaging Server 4.15 Patch 7
|
|
\& \- Office 365 [host1] [host2]
|
|
\& \- OpenMail IMAP server B.07.00.k0 (Samsung Contact ?)
|
|
\& \- OpenWave
|
|
\& \- Oracle Beehive [host1]
|
|
\& \- Parallels Plesk Panel 9.x [host2] 11.x [host2] (http://www.parallels.com/)
|
|
\& \- Qualcomm Worldmail (NT)
|
|
\& \- 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
|
|
\& \- Samsung Contact IMAP server 8.5.0
|
|
\& \- 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], Smarter Mail 11.7 [host1][host2].
|
|
\& \- Softalk Workgroup Mail 7.6.4 [host1].
|
|
\& \- SunONE Messaging server 5.2, 6.0 (SUN JES \- Java Enterprise System)
|
|
\& \- Sun Java(tm) System Messaging Server 6.2\-2.05, 6.2\-7.05, 6.3
|
|
\& \- Surgemail 3.6f5\-5, 6.3d\-72 [host2]
|
|
\& \- UW\-imap servers (imap\-2000b) rijkkramer IMAP4rev1 2000.287
|
|
\& (RedHat uses UW like 2003.338rh), v12.264 Solaris 5.7 (OSI Approved)
|
|
\& (http://www.washington.edu/imap/)
|
|
\& \- UW \- QMail v2.1
|
|
\& \- VMS, Imap part of TCP/IP suite of VMS 7.3.2
|
|
\& \- Yahoo [host1]
|
|
\& \- Zarafa 6,40,0,20653 [host1] (http://www.zarafa.com/)
|
|
\& \- Zarafa ZCP 7.1.4 IMAP Gateway [host2]
|
|
\& \- Zimbra\-IMAP 3.0.1 GA 160, 3.1.0 Build 279, 4.0.5, 4.5.2, 4.5.6,
|
|
\& Zimbra 5.0.24_GA_3356.RHEL4 [host1], 5.5, 6.x
|
|
.Ve
|
|
.PP
|
|
Please report to the author any success or bad story with
|
|
imapsync and do not forget to mention the \s-1IMAP\s0 server
|
|
software names and version on both sides. This will help
|
|
future users. To help the author maintaining this section
|
|
report the two lines at the begining of the output if they
|
|
are useful to know the softwares. Example:
|
|
.PP
|
|
.Vb 2
|
|
\& Host1 software:* OK louloutte Cyrus IMAP4 v1.5.19 server ready
|
|
\& Host2 software:* OK Courier\-IMAP ready
|
|
.Ve
|
|
.PP
|
|
You can use option \-\-justconnect to get those lines.
|
|
Example:
|
|
.PP
|
|
.Vb 1
|
|
\& imapsync \-\-host1 imap.troc.org \-\-host2 imap.trac.org \-\-justconnect
|
|
.Ve
|
|
.SH "HUGE MIGRATION"
|
|
.IX Header "HUGE MIGRATION"
|
|
Pay special attention to options
|
|
\&\-\-subscribed
|
|
\&\-\-subscribe
|
|
\&\-\-delete
|
|
\&\-\-delete2
|
|
\&\-\-delete2folders
|
|
\&\-\-maxage
|
|
\&\-\-minage
|
|
\&\-\-maxsize
|
|
\&\-\-useuid
|
|
\&\-\-usecache
|
|
.PP
|
|
If you have many mailboxes to migrate think about a little
|
|
shell program. Write a file called file.txt (for example)
|
|
containing users and passwords.
|
|
The separator used in this example is ';'
|
|
.PP
|
|
The file.txt file contains:
|
|
.PP
|
|
user001_1;password001_1;user001_2;password001_2
|
|
user002_1;password002_1;user002_2;password002_2
|
|
user003_1;password003_1;user003_2;password003_2
|
|
user004_1;password004_1;user004_2;password004_2
|
|
user005_1;password005_1;user005_2;password005_2
|
|
\&...
|
|
.PP
|
|
On Unix the shell program can be:
|
|
.PP
|
|
.Vb 4
|
|
\& { while IFS=\*(Aq;\*(Aq read u1 p1 u2 p2; do
|
|
\& imapsync \-\-host1 imap.side1.org \-\-user1 "$u1" \-\-password1 "$p1" \e
|
|
\& \-\-host2 imap.side2.org \-\-user2 "$u2" \-\-password2 "$p2" ...
|
|
\& done ; } < file.txt
|
|
.Ve
|
|
.PP
|
|
On Windows the batch program can be:
|
|
.PP
|
|
.Vb 3
|
|
\& FOR /F "tokens=1,2,3,4 delims=; eol=#" %%G IN (file.txt) DO imapsync ^
|
|
\& \-\-host1 imap.side1.org \-\-user1 %%G \-\-password1 %%H ^
|
|
\& \-\-host2 imap.side2.org \-\-user2 %%I \-\-password2 %%J ...
|
|
.Ve
|
|
.PP
|
|
The ... have to be replaced by nothing or any imapsync option.
|
|
Welcome in shell programming !
|
|
.PP
|
|
You will find already written scripts at
|
|
http://imapsync.lamiral.info/examples/
|
|
.SH "Hacking"
|
|
.IX Header "Hacking"
|
|
Feel free to hack imapsync as the \s-1NOLIMIT\s0 license permits it.
|
|
.SH "Links"
|
|
.IX Header "Links"
|
|
Entries for imapsync:
|
|
https://web.archive.org/web/20070202005121/http://www.imap.org/products/showall.php
|
|
.SH "SIMILAR SOFTWARES"
|
|
.IX Header "SIMILAR SOFTWARES"
|
|
.Vb 10
|
|
\& imap_tools : http://www.athensfbc.com/imap_tools
|
|
\& offlineimap : https://github.com/nicolas33/offlineimap
|
|
\& mbsync : http://isync.sourceforge.net/
|
|
\& mailsync : http://mailsync.sourceforge.net/
|
|
\& mailutil : http://www.washington.edu/imap/
|
|
\& part of the UW IMAP tookit.
|
|
\& imaprepl : http://www.bl0rg.net/software/
|
|
\& http://freecode.com/projects/imap\-repl/
|
|
\& imapcopy : http://home.arcor.de/armin.diehl/imapcopy/imapcopy.html
|
|
\& migrationtool : http://sourceforge.net/projects/migrationtool/
|
|
\& imapmigrate : http://sourceforge.net/projects/cyrus\-utils/
|
|
\& wonko_imapsync: http://wonko.com/article/554
|
|
\& see also file W/tools/wonko_ruby_imapsync
|
|
\& exchange\-away : http://exchange\-away.sourceforge.net/
|
|
\& pop2imap : http://www.linux\-france.org/prj/pop2imap/
|
|
.Ve
|
|
.PP
|
|
Feedback (good or bad) will often be welcome.
|
|
.PP
|
|
\&\f(CW$Id:\fR imapsync,v 1.637 2015/04/01 01:36:37 gilles Exp gilles $
|