mirror of
https://github.com/imapsync/imapsync.git
synced 2025-07-26 03:48:17 +02:00
1.945
This commit is contained in:
parent
0797e48248
commit
275436c5a0
126 changed files with 25270 additions and 4380 deletions
330
W/imapsync.1
330
W/imapsync.1
|
@ -133,7 +133,7 @@
|
|||
.\" ========================================================================
|
||||
.\"
|
||||
.IX Title "IMAPSYNC 1"
|
||||
.TH IMAPSYNC 1 "2019-02-18" "perl v5.22.1" "User Contributed Perl Documentation"
|
||||
.TH IMAPSYNC 1 "2019-06-26" "perl v5.22.1" "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
|
||||
|
@ -144,7 +144,7 @@ email mailboxes between two imap servers, one way,
|
|||
and without duplicates.
|
||||
.SH "VERSION"
|
||||
.IX Header "VERSION"
|
||||
This documentation refers to Imapsync \f(CW$Revision:\fR 1.921 $
|
||||
This documentation refers to Imapsync \f(CW$Revision:\fR 1.945 $
|
||||
.SH "USAGE"
|
||||
.IX Header "USAGE"
|
||||
.Vb 5
|
||||
|
@ -165,15 +165,21 @@ one another.
|
|||
.PP
|
||||
Imapsync command is a tool allowing incremental and
|
||||
recursive imap transfers from one mailbox to another.
|
||||
If you don't understand the previous sentence, it's normal,
|
||||
it's pedantic computer oriented jargon.
|
||||
.PP
|
||||
By default all folders are transferred, recursively, meaning
|
||||
All folders are transferred, recursively, meaning
|
||||
the whole folder hierarchy is taken, all messages in them,
|
||||
and all messages flags (\eSeen \eAnswered \eFlagged etc.)
|
||||
are synced too.
|
||||
.PP
|
||||
Imapsync reduces the amount of data transferred by not transferring
|
||||
a given message if it resides already on both sides.
|
||||
a given message if it already resides on the destination side.
|
||||
Messages that are on the destination side but not on the
|
||||
source side stay as they are (see the \-\-delete2
|
||||
option to have a strict sync).
|
||||
.PP
|
||||
How imapsync knows a message is already on both sides?
|
||||
Same specific headers and the transfer is done only once.
|
||||
By default, the identification headers are
|
||||
\&\*(L"Message-Id:\*(R" and \*(L"Received:\*(R" lines
|
||||
|
@ -182,29 +188,39 @@ but this choice can be changed with the \-\-useheader option.
|
|||
All flags are preserved, unread messages will stay unread,
|
||||
read ones will stay read, deleted will stay deleted.
|
||||
.PP
|
||||
You can stop the transfer at any time and restart it later,
|
||||
You can abort the transfer at any time and restart it later,
|
||||
imapsync works well with bad connections and interruptions,
|
||||
by design.
|
||||
by design. On a terminal hit Ctr-c twice within two seconds
|
||||
in order to abort the program. Hit Ctr-c just once makes
|
||||
imapsync reconnect to both imap servers.
|
||||
.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.
|
||||
.PP
|
||||
In that case, use the \-\-delete1 option. Option \-\-delete1 implies
|
||||
also option \-\-expunge1 so all messages marked deleted on host1
|
||||
will be really deleted.
|
||||
.PP
|
||||
You can also decide to remove empty folders once all of their
|
||||
messages have been transferred. Add \-\-delete1emptyfolders to
|
||||
obtain this behavior.
|
||||
.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.
|
||||
A classical scenario is synchronizing a mailbox B from another mailbox A
|
||||
in case you just want to keep a strict copy of A in B. Strict meaning
|
||||
all messages in A will be in B but no more.
|
||||
.PP
|
||||
For this, option \-\-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.
|
||||
\&\-\-delete2foldersonly and \-\-delete2foldersbutnot to set up exceptions
|
||||
on folders to destroy (\s-1INBOX\s0 will never be destroy, it's a mandatory
|
||||
folder in \s-1IMAP\s0).
|
||||
.PP
|
||||
A different scenario is to delete the messages from the source mailbox
|
||||
after a successful transfer, it can be a good feature when migrating
|
||||
mailboxes since messages will be only on one side. The source account
|
||||
will only have messages that are not on the destination yet, ie,
|
||||
messages that arrived after a sync or that failed to be copied.
|
||||
.PP
|
||||
In that case, use the \-\-delete1 option. Option \-\-delete1 implies also
|
||||
option \-\-expunge1 so all messages marked deleted on host1 will be really
|
||||
deleted. In \s-1IMAP\s0 protocol deleting a message does not really delete it,
|
||||
it marks it with the flag \eDeleted, allowing an undelete. Expunging
|
||||
a folder removes, definitively, all the messages marked as \eDeleted
|
||||
in this folder.
|
||||
.PP
|
||||
You can also decide to remove empty folders once all of their messages
|
||||
have been transferred. Add \-\-delete1emptyfolders to obtain this
|
||||
behavior.
|
||||
.PP
|
||||
Imapsync is not adequate for maintaining two active imap accounts
|
||||
in synchronization when the user plays independently on both sides.
|
||||
|
@ -216,8 +232,8 @@ Michael R. Elkins) for a 2 ways synchronization.
|
|||
\& usage: imapsync [options]
|
||||
.Ve
|
||||
.PP
|
||||
Mandatory options are the six values, three on each sides,
|
||||
needed to log in into the \s-1IMAP\s0 servers, ie,
|
||||
Standard options are the six values forming the credentials,
|
||||
three on each sides, needed to log in into the \s-1IMAP\s0 servers, ie,
|
||||
a host, a username, and a password, two times.
|
||||
.PP
|
||||
Conventions used:
|
||||
|
@ -233,30 +249,32 @@ Conventions used:
|
|||
.Ve
|
||||
.SS "OPTIONS/credentials"
|
||||
.IX Subsection "OPTIONS/credentials"
|
||||
.Vb 5
|
||||
\& \-\-host1 str : Source or "from" imap server. Mandatory.
|
||||
.Vb 6
|
||||
\& \-\-host1 str : Source or "from" imap server.
|
||||
\& \-\-port1 int : Port to connect on host1.
|
||||
\& Optional since default port is 143 or 993 if \-\-ssl1
|
||||
\& \-\-user1 str : User to login on host1. Mandatory.
|
||||
\& Optional since default ports are the
|
||||
\& well known ports 143 or 993.
|
||||
\& \-\-user1 str : User to login on host1.
|
||||
\& \-\-password1 str : Password for the user1.
|
||||
\&
|
||||
\& \-\-host2 str : "destination" imap server. Mandatory.
|
||||
\& \-\-port2 int : Port to connect on host2.
|
||||
\& Optional since default port is 143 or 993 if \-\-ssl2
|
||||
\& \-\-user2 str : User to login on host2. Mandatory.
|
||||
\& \-\-host2 str : "destination" imap server.
|
||||
\& \-\-port2 int : Port to connect on host2. Optional
|
||||
\& \-\-user2 str : User to login on host2.
|
||||
\& \-\-password2 str : Password for the user2.
|
||||
\&
|
||||
\& \-\-showpasswords : Shows passwords on output instead of "MASKED".
|
||||
\& Useful to restart a complete run by just reading the log,
|
||||
\& or to debug passwords. It\*(Aqs not a secure practice.
|
||||
\& Useful to restart a complete run by just reading
|
||||
\& the command line used in the log,
|
||||
\& or to debug passwords.
|
||||
\& It\*(Aqs not a secure practice.
|
||||
\&
|
||||
\& \-\-passfile1 str : Password file for the user1. It must contain the
|
||||
\& password on the first line. This option avoids to show
|
||||
\& password on the first line. This option avoids showing
|
||||
\& the password on the command line like \-\-password1 does.
|
||||
\& \-\-passfile2 str : Password file for the user2. Contains the password.
|
||||
\& \-\-passfile2 str : Password file for the user2.
|
||||
.Ve
|
||||
.PP
|
||||
You can also pass the passwords in the environment variables
|
||||
You can also pass the passwords in the environment variables
|
||||
\&\s-1IMAPSYNC_PASSWORD1\s0 and \s-1IMAPSYNC_PASSWORD2\s0
|
||||
.SS "OPTIONS/encryption"
|
||||
.IX Subsection "OPTIONS/encryption"
|
||||
|
@ -322,8 +340,9 @@ You can also pass the passwords in the environment variables
|
|||
\&
|
||||
\& \-\-nomixfolders : Do not merge folders when host1 is case\-sensitive
|
||||
\& while host2 is not (like Exchange). Only the first
|
||||
\& similar folder is synced (ex: with Sent SENT sent
|
||||
\& on host1 only Sent will be synced to host2).
|
||||
\& similar folder is synced (example: with folders
|
||||
\& "Sent", "SENT" and "sent"
|
||||
\& on host1 only "Sent" will be synced to host2).
|
||||
\&
|
||||
\& \-\-skipemptyfolders : Empty host1 folders are not created on host2.
|
||||
\&
|
||||
|
@ -344,9 +363,20 @@ You can also pass the passwords in the environment variables
|
|||
\&
|
||||
\& \-\-subfolder2 str : Syncs the whole host1 folders hierarchy under the
|
||||
\& host2 folder named str.
|
||||
\& (It does it internally by adding two
|
||||
\& It does it internally by adding three
|
||||
\& \-\-regextrans2 options before all others.
|
||||
\& Add \-\-debug to see what\*(Aqs really going on.)
|
||||
\& Add \-\-debug to see what\*(Aqs really going on.
|
||||
\&
|
||||
\& \-\-subfolder1 str : Syncs the host1 folders hierarchy under str
|
||||
\& to the root hierarchy of host2.
|
||||
\& It\*(Aqs the couterpart of a sync done by \-\-subfolder2
|
||||
\& when doing it in the reverse order.
|
||||
\& Backup/Restore scenario:
|
||||
\& Use \-\-subfolder2 str for a backup to the folder str
|
||||
\& on host2. Then use \-\-subfolder1 str for restoring
|
||||
\& from the folder str, after inverting
|
||||
\& host1/host2 user1/user2 values.
|
||||
\&
|
||||
\&
|
||||
\& \-\-subscribed : Transfers subscribed folders.
|
||||
\& \-\-subscribe : Subscribe to the folders transferred on the
|
||||
|
@ -355,21 +385,29 @@ You can also pass the passwords in the environment variables
|
|||
\& host2 even if they are not subscribed on host1.
|
||||
\&
|
||||
\& \-\-prefix1 str : Remove prefix str to all destination folders,
|
||||
\& usually INBOX. or INBOX/ or an empty string "".
|
||||
\& usually "INBOX." or "INBOX/" or an empty string "".
|
||||
\& imapsync guesses the prefix if host1 imap server
|
||||
\& does not have NAMESPACE capability. This option
|
||||
\& does not have NAMESPACE capability. So this option
|
||||
\& should not be used, most of the time.
|
||||
\& \-\-prefix2 str : Add prefix to all host2 folders. See \-\-prefix1
|
||||
\& \-\-sep1 str : Host1 separator in case NAMESPACE is not supported.
|
||||
\& \-\-sep2 str : Host2 separator in case NAMESPACE is not supported.
|
||||
\&
|
||||
\& \-\-sep1 str : Host1 separator. This option should not be used,
|
||||
\& most of the time.
|
||||
\& Imapsync gets the separator from the server itself,
|
||||
\& by using NAMESPACE, or it tries to guess it
|
||||
\& from the folders listing (it counts
|
||||
\& characters / . \e\e \e in folder names and choose the
|
||||
\& more frequent, or finally / if nothing is found.
|
||||
\& \-\-sep2 str : Host2 separator.
|
||||
\&
|
||||
\& \-\-regextrans2 reg : Apply the whole regex to each destination folders.
|
||||
\& \-\-regextrans2 reg : and this one. etc.
|
||||
\& When you play with the \-\-regextrans2 option, first
|
||||
\& add also the safe options \-\-dry \-\-justfolders
|
||||
\& Then, when happy, remove \-\-dry, remove \-\-justfolders.
|
||||
\& Have in mind that \-\-regextrans2 is applied after prefix
|
||||
\& and separator inversion. For examples see
|
||||
\& Have in mind that \-\-regextrans2 is applied after
|
||||
\& the automatic prefix and separator inversion.
|
||||
\& For examples see:
|
||||
\& https://imapsync.lamiral.info/FAQ.d/FAQ.Folders_Mapping.txt
|
||||
.Ve
|
||||
.SS "OPTIONS/folders sizes"
|
||||
|
@ -412,7 +450,14 @@ You can also pass the passwords in the environment variables
|
|||
\&
|
||||
\& \-\-pipemess cmd : Apply this cmd command to each message content
|
||||
\& before the copy.
|
||||
\& \-\-pipemess cmd : and this one, etc.
|
||||
\& \-\-pipemess cmd : and this one, etc.
|
||||
\& With several \-\-pipemess, the output of each cmd
|
||||
\& command (STDOUT) is given to the input (STDIN)
|
||||
\& of the next command.
|
||||
\& For example,
|
||||
\& \-\-pipemess cmd1 \-\-pipemess cmd2 \-\-pipemess cmd3
|
||||
\& is like a Unix pipe:
|
||||
\& "cat message | cmd1 | cmd2 | cmd3"
|
||||
\&
|
||||
\& \-\-disarmreadreceipts : Disarms read receipts (host2 Exchange issue)
|
||||
\&
|
||||
|
@ -422,7 +467,10 @@ You can also pass the passwords in the environment variables
|
|||
.Ve
|
||||
.SS "OPTIONS/flags"
|
||||
.IX Subsection "OPTIONS/flags"
|
||||
.Vb 3
|
||||
.Vb 2
|
||||
\& If you encounter flag problems see also:
|
||||
\& https://imapsync.lamiral.info/FAQ.d/FAQ.Flags.txt
|
||||
\&
|
||||
\& \-\-regexflag reg : Apply the whole regex to each flags list.
|
||||
\& Example: \*(Aqs/"Junk"//g\*(Aq # to remove "Junk" flag.
|
||||
\& \-\-regexflag reg : then this one, etc.
|
||||
|
@ -435,26 +483,33 @@ You can also pass the passwords in the environment variables
|
|||
.Ve
|
||||
.SS "OPTIONS/deletions"
|
||||
.IX Subsection "OPTIONS/deletions"
|
||||
.Vb 10
|
||||
.Vb 9
|
||||
\& \-\-delete1 : Deletes messages on host1 server after a successful
|
||||
\& transfer. Option \-\-delete1 has the following behavior:
|
||||
\& it marks messages as deleted with the IMAP flag
|
||||
\& \eDeleted, then messages are really deleted with an
|
||||
\& EXPUNGE IMAP command. If expunging after each message
|
||||
\& slows down too much the sync then use
|
||||
\& \-\-noexpungeaftereach to speed up.
|
||||
\& \-\-noexpungeaftereach to speed up, expunging will then be
|
||||
\& done only twice per folder, one at the beginning and
|
||||
\& one at the end of a folder sync.
|
||||
\&
|
||||
\& \-\-expunge1 : Expunge messages on host1 just before syncing a folder.
|
||||
\& Expunge is done per folder.
|
||||
\& Expunge aims is to really delete messages marked deleted.
|
||||
\& An expunge is also done after each message copied
|
||||
\& if option \-\-delete1 is set.
|
||||
\& if option \-\-delete1 is set (unless \-\-noexpungeaftereach).
|
||||
\&
|
||||
\& \-\-noexpunge1 : Do not expunge messages on host1.
|
||||
\&
|
||||
\& \-\-delete1emptyfolders : Deletes empty folders on host1, INBOX excepted.
|
||||
\& Useful with \-\-delete1 since what remains on host1
|
||||
\& is only what failed to be synced.
|
||||
\&
|
||||
\& \-\-delete2 : Delete messages in host2 that are not in
|
||||
\& host1 server. Useful for backup or pre\-sync.
|
||||
\& \-\-delete2 implies \-\-uidexpunge2
|
||||
\&
|
||||
\& \-\-delete2duplicates : Delete messages in host2 that are duplicates.
|
||||
\& Works only without \-\-useuid since duplicates are
|
||||
\& detected with an header part of each message.
|
||||
|
@ -462,32 +517,35 @@ You can also pass the passwords in the environment variables
|
|||
\& \-\-delete2folders : Delete folders in host2 that are not in host1 server.
|
||||
\& For safety, first try it like this (it is safe):
|
||||
\& \-\-delete2folders \-\-dry \-\-justfolders \-\-nofoldersizes
|
||||
\&
|
||||
\& \-\-delete2foldersonly reg : Deleted only folders matching regex.
|
||||
\& Example: \-\-delete2foldersonly "/^Junk$|^INBOX.Junk$/"
|
||||
\&
|
||||
\& \-\-delete2foldersbutnot reg : Do not delete folders matching regex.
|
||||
\& Example: \-\-delete2foldersbutnot "/Tasks$|Contacts$|Foo$/"
|
||||
\&
|
||||
\& \-\-expunge2 : Expunge messages on host2 after messages transfer.
|
||||
\& \-\-uidexpunge2 : uidexpunge messages on the host2 account
|
||||
\& that are not on the host1 account, requires \-\-delete2
|
||||
\& \-\-noexpunge2 : Do not expunge messages on host2.
|
||||
\& \-\-nouidexpunge2 : Do not uidexpunge messages on the host2 account
|
||||
\& that are not on the host1 account.
|
||||
.Ve
|
||||
.SS "OPTIONS/dates"
|
||||
.IX Subsection "OPTIONS/dates"
|
||||
.Vb 7
|
||||
.Vb 2
|
||||
\& If you encounter problems with dates, see also:
|
||||
\& https://imapsync.lamiral.info/FAQ.d/FAQ.Dates.txt
|
||||
\&
|
||||
\& \-\-syncinternaldates : Sets the internal dates on host2 same as host1.
|
||||
\& Turned on by default. Internal date is the date
|
||||
\& a message arrived on a host (mtime).
|
||||
\& a message arrived on a host (Unix mtime).
|
||||
\& \-\-idatefromheader : Sets the internal dates on host2 same as the
|
||||
\& "Date:" headers.
|
||||
\& If you encounter problems with dates see also
|
||||
\& https://imapsync.lamiral.info/FAQ.d/FAQ.Dates.txt
|
||||
\& ones in "Date:" headers.
|
||||
.Ve
|
||||
.SS "OPTIONS/message selection"
|
||||
.IX Subsection "OPTIONS/message selection"
|
||||
.Vb 12
|
||||
\& \-\-maxsize int : Skip messages larger (or equal) than int bytes
|
||||
\& \-\-minsize int : Skip messages smaller (or equal) than int bytes
|
||||
\& \-\-maxage int : Skip messages older than int days.
|
||||
\& \-\-maxage int : Skip messages older than int days.
|
||||
\& final stats (skipped) don\*(Aqt count older messages
|
||||
\& see also \-\-minage
|
||||
\& \-\-minage int : Skip messages newer than int days.
|
||||
|
@ -518,17 +576,20 @@ You can also pass the passwords in the environment variables
|
|||
\& \-\-usecache : Use cache to speed up the sync.
|
||||
\& \-\-nousecache : Do not use cache. Caveat: \-\-useuid \-\-nousecache creates
|
||||
\& duplicates on multiple runs.
|
||||
\& \-\-useuid : Use UIDs instead of headers as a criterium to recognize
|
||||
\& \-\-useuid : Use UIDs instead of headers as a criterion to recognize
|
||||
\& messages. Option \-\-usecache is then implied unless
|
||||
\& \-\-nousecache is used.
|
||||
.Ve
|
||||
.SS "OPTIONS/miscellaneous"
|
||||
.IX Subsection "OPTIONS/miscellaneous"
|
||||
.Vb 7
|
||||
.Vb 5
|
||||
\& \-\-syncacls : Synchronizes acls (Access Control Lists).
|
||||
\& \-\-nosyncacls : Does not synchronize acls. This is the default.
|
||||
\& Acls in IMAP are not standardized, be careful.
|
||||
\& \-\-addheader : When a message has no headers to be identified,
|
||||
\& Acls in IMAP are not standardized, be careful
|
||||
\& since one acl code on one side may signify something
|
||||
\& else on the other one.
|
||||
\&
|
||||
\& \-\-addheader : When a message has no headers to be identified,
|
||||
\& \-\-addheader adds a "Message\-Id" header,
|
||||
\& like "Message\-Id: 12345@imapsync", where 12345
|
||||
\& is the imap UID of the message on the host1 folder.
|
||||
|
@ -583,16 +644,25 @@ You can also pass the passwords in the environment variables
|
|||
\& \-\-abort : terminates a previous call still running.
|
||||
\& It uses the pidfile to know what process to abort.
|
||||
\&
|
||||
\& \-\-exitwhenover int : Stop syncing when total bytes transferred reached.
|
||||
\& \-\-exitwhenover int : Stop syncing and exits when int total bytes
|
||||
\& transferred is reached.
|
||||
\&
|
||||
\& \-\-version : Print only software version.
|
||||
\& \-\-noreleasecheck : Do not check for new imapsync release (a http request).
|
||||
\& \-\-releasecheck : Check for new imapsync release (a http request).
|
||||
\& \-\-noreleasecheck : Do not check for new imapsync release
|
||||
\& \-\-releasecheck : Check for new imapsync release.
|
||||
\& it\*(Aqs an http request to
|
||||
\& http://imapsync.lamiral.info/prj/imapsync/VERSION
|
||||
\&
|
||||
\& \-\-noid : Do not send/receive ID command to imap servers.
|
||||
\&
|
||||
\& \-\-justconnect : Just connect to both servers and print useful
|
||||
\& information. Need only \-\-host1 and \-\-host2 options.
|
||||
\& Obsolete since "imapsync \-\-host1 imaphost" alone
|
||||
\& implies \-\-justconnect
|
||||
\&
|
||||
\& \-\-justlogin : Just login to both host1 and host2 with users
|
||||
\& credentials, then exit.
|
||||
\&
|
||||
\& \-\-justfolders : Do only things about folders (ignore messages).
|
||||
\&
|
||||
\& \-\-help : print this help.
|
||||
|
@ -609,15 +679,17 @@ You can also pass the passwords in the environment variables
|
|||
.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
|
||||
password since it is safer. With \-\-password1 option, on Linux,
|
||||
any user on your host can see the password by using the 'ps auxwwww'
|
||||
command. Using a variable (like \s-1IMAPSYNC_PASSWORD1\s0) 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
|
||||
Imapsync activates ssl or tls encryption by default, if possible.
|
||||
.PP
|
||||
What detailed behavior is under this \*(L"if possible\*(R"?
|
||||
.PP
|
||||
Imapsync activates ssl if the well known port imaps port (993) is open
|
||||
on the imap servers. If the imaps port is closed then it open a
|
||||
normal (clear) connection on port 143 but it looks for \s-1TLS\s0 support
|
||||
|
@ -636,6 +708,26 @@ or at https://imapsync.lamiral.info/FAQ.d/FAQ.Security.txt
|
|||
.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.
|
||||
Here is the list of the exit code values (an integer between 0 and 255),
|
||||
the names reflects their meaning:
|
||||
.PP
|
||||
.Vb 10
|
||||
\& EX_OK => 0 ; #/* successful termination */
|
||||
\& EX_USAGE => 64 ; #/* command line usage error */
|
||||
\& EX_NOINPUT => 66 ; #/* cannot open input */
|
||||
\& EX_UNAVAILABLE => 69 ; #/* service unavailable */
|
||||
\& EX_SOFTWARE => 70 ; #/* internal software error */
|
||||
\& EXIT_CATCH_ALL => 1 ; # Any other error
|
||||
\& EXIT_BY_SIGNAL => 6 ; # Should be 128+n where n is the sig_num
|
||||
\& EXIT_PID_FILE_ERROR => 8 ;
|
||||
\& EXIT_CONNECTION_FAILURE => 10 ;
|
||||
\& EXIT_TLS_FAILURE => 12 ;
|
||||
\& EXIT_AUTHENTICATION_FAILURE => 16 ;
|
||||
\& EXIT_SUBFOLDER1_NO_EXISTS => 21 ;
|
||||
\& EXIT_WITH_ERRORS => 111 ;
|
||||
\& EXIT_WITH_ERRORS_MAX => 112 ;
|
||||
\& EXIT_TESTS_FAILED => 254 ; # Like Test::More API
|
||||
.Ve
|
||||
.SH "LICENSE AND COPYRIGHT"
|
||||
.IX Header "LICENSE AND COPYRIGHT"
|
||||
Imapsync is free, open, public but not always gratis software
|
||||
|
@ -653,12 +745,13 @@ In case it is not long enough, I repeat:
|
|||
\& "No limits to do anything with this work and this license."
|
||||
.Ve
|
||||
.PP
|
||||
https://imapsync.lamiral.info/LICENSE
|
||||
Look at https://imapsync.lamiral.info/LICENSE
|
||||
.SH "AUTHOR"
|
||||
.IX Header "AUTHOR"
|
||||
Gilles \s-1LAMIRAL\s0 <gilles@lamiral.info>
|
||||
.PP
|
||||
Feedback good or bad is very often welcome.
|
||||
Good feedback good is always welcome.
|
||||
Bad feedback is very often welcome.
|
||||
.PP
|
||||
Gilles \s-1LAMIRAL\s0 earns his living by writing, installing,
|
||||
configuring and teaching free, open and often gratis
|
||||
|
@ -674,19 +767,6 @@ See https://imapsync.lamiral.info/FAQ.d/FAQ.Reporting_Bugs.txt
|
|||
See https://imapsync.lamiral.info/S/imapservers.shtml
|
||||
.SH "HUGE MIGRATION"
|
||||
.IX Header "HUGE MIGRATION"
|
||||
Pay special attention to options
|
||||
\&\-\-subscribed
|
||||
\&\-\-subscribe
|
||||
\&\-\-delete1
|
||||
\&\-\-delete1emptyfolders
|
||||
\&\-\-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.
|
||||
|
@ -726,10 +806,10 @@ https://imapsync.lamiral.info/examples/
|
|||
.SH "INSTALL"
|
||||
.IX Header "INSTALL"
|
||||
.Vb 1
|
||||
\& Imapsync works under any Unix with perl.
|
||||
\& Imapsync works under any Unix with Perl.
|
||||
\&
|
||||
\& Imapsync works under most Windows (2000, XP, Vista, Seven, Eight, Ten
|
||||
\& and all Server releases 2000, 2003, 2008 and R2, 2012 and R2)
|
||||
\& and all Server releases 2000, 2003, 2008 and R2, 2012 and R2, 2016)
|
||||
\& as a standalone binary software called imapsync.exe,
|
||||
\& usually launched from a batch file in order to avoid always typing
|
||||
\& the options.
|
||||
|
@ -766,36 +846,58 @@ Feel free to hack imapsync as the \s-1NOLIMIT\s0 license permits it.
|
|||
.Vb 2
|
||||
\& See also https://imapsync.lamiral.info/S/external.shtml
|
||||
\& for a better up to date list.
|
||||
\&
|
||||
\& imap_tools : https://github.com/andrewnimmo/rick\-sanders\-imap\-tools
|
||||
\& offlineimap : https://github.com/nicolas33/offlineimap
|
||||
\& Doveadm\-Sync : http://wiki2.dovecot.org/Tools/Doveadm/Sync
|
||||
\& ( Dovecot sync tool )
|
||||
\& 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://www.ardiehl.de/imapcopy/
|
||||
\& 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.
|
||||
Last updated and verified on Thu Apr 11, 2019.
|
||||
.PP
|
||||
.Vb 10
|
||||
\& imapsync : https://github.com/imapsync/imapsync
|
||||
\& (this is an imapsync copy, sometimes delayed,
|
||||
\& with \-\-noreleasecheck by default since release 1.592, 2014/05/22)
|
||||
\& imap_tools : https://web.archive.org/web/20161228145952/http://www.athensfbc.com/imap_tools/
|
||||
\& The imap_tools code is now at
|
||||
\& https://github.com/andrewnimmo/rick\-sanders\-imap\-tools
|
||||
\& imaputils : https://github.com/mtsatsenko/imaputils (very old imap_tools fork)
|
||||
\& Doveadm\-Sync : https://wiki2.dovecot.org/Tools/Doveadm/Sync ( Dovecot sync tool )
|
||||
\& davmail : http://davmail.sourceforge.net/
|
||||
\& offlineimap : http://offlineimap.org/
|
||||
\& mbsync : http://isync.sourceforge.net/
|
||||
\& mailsync : http://mailsync.sourceforge.net/
|
||||
\& mailutil : http://www.washington.edu/imap/ part of the UW IMAP tookit.
|
||||
\& imaprepl : https://bl0rg.net/software/ http://freecode.com/projects/imap\-repl/
|
||||
\& imapcopy (Pascal): http://www.ardiehl.de/imapcopy/
|
||||
\& imapcopy (Java) : https://code.google.com/archive/p/imapcopy/
|
||||
\& imapsize : http://www.broobles.com/imapsize/
|
||||
\& migrationtool : http://sourceforge.net/projects/migrationtool/
|
||||
\& imapmigrate : http://sourceforge.net/projects/cyrus\-utils/
|
||||
\& larch : https://github.com/rgrove/larch (derived from wonko_imapsync, good at Gmail)
|
||||
\& wonko_imapsync : http://wonko.com/article/554 (superseded by larch)
|
||||
\& pop2imap : http://www.linux\-france.org/prj/pop2imap/ (I wrote that too)
|
||||
\& exchange\-away : http://exchange\-away.sourceforge.net/
|
||||
\& SyncBackPro : http://www.2brightsparks.com/syncback/sbpro.html
|
||||
\& ImapSyncClient : https://github.com/ridaamirini/ImapSyncClient
|
||||
\& MailStore : https://www.mailstore.com/en/products/mailstore\-home/
|
||||
\& mnIMAPSync : https://github.com/manusa/mnIMAPSync
|
||||
\& imap\-upload : http://imap\-upload.sourceforge.net/
|
||||
\& (a tool for uploading a local mbox file to IMAP4 server)
|
||||
.Ve
|
||||
.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 in a far
|
||||
away remote imap server, accessible by a low-bandwidth often broken link.
|
||||
The tool imapcp (written in python) could not help me because I had to verify
|
||||
every mailbox was well transferred, and then delete it after a good
|
||||
transfer. Imapsync started its life as a patch of the copy_folder.pl
|
||||
I initially wrote imapsync in July 2001 because an enterprise,
|
||||
basystemes, paid me to install a new imap server
|
||||
without losing huge old mailboxes located in a far
|
||||
away remote imap server, accessible by an
|
||||
often broken low-bandwidth \s-1ISDN\s0 link.
|
||||
.PP
|
||||
I had to verify every mailbox was well transferred, all folders, all messages,
|
||||
without wasting bandwidth or creating duplicates upon resyncs. The design was
|
||||
made with the beautiful rsync command in mind.
|
||||
.PP
|
||||
Imapsync started its life as a patch of the copy_folder.pl
|
||||
script. The script copy_folder.pl comes from the Mail\-IMAPClient\-2.1.3 perl
|
||||
module tarball source (more precisely in the examples/ directory of the
|
||||
Mail-IMAPClient tarball). So many happened since then that I wonder
|
||||
if it remains any lines of the original copy_folder.pl in imapsync source code.
|
||||
Mail-IMAPClient tarball).
|
||||
.PP
|
||||
So many happened since then that I wonder
|
||||
if it remains any lines of the original
|
||||
copy_folder.pl in imapsync source code.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue