man isync (Commandes) - synchronize IMAP4 and maildir mailboxes
NAME
isync - synchronize IMAP4 and maildir mailboxes
SYNOPSIS
isync [options...] mailbox [mailbox ...]
isync [options...] -a
isync [options...] -l
DESCRIPTION
isync is a command line application which synchronizes a local maildir-style mailbox with a remote IMAP4 mailbox, suitable for use in IMAP-disconnected mode. Multiple copies of the remote IMAP4 mailbox can be maintained, and all flags are synchronized.
OPTIONS
- -c, --config file
- Read configuration from file. By default, the configuration is read from ~/.isyncrc if it exists.
- -1, --one-to-one
- Instead of using the mailbox specifications in ~/.isyncrc, isync will pick up all mailboxes from the local directory and remote folder and map them 1:1 onto each other according to their names.
- -I, --inbox mailbox
- Exception to the 1:1 mapping created by -1: the special IMAP mailbox INBOX is mapped to the local mailbox (relative to the maildir).
- -a, --all
- Synchronize all mailboxes (either specified in ~/.isyncrc or determined by the 1:1 mapping).
- -l, --list
- Don't synchronize anything, but list all mailboxes and exit.
- -L, --create-local
- Automatically create the local maildir-style mailbox if it doesn't already exist.
- -R, --create-remote
- Automatically create the remote IMAP mailbox if it doesn't already exist.
- -C, --create
- Automatically create any mailboxes if they don't already exist. This is simply a combination of -L and -R.
- -d, --delete
- Causes isync to delete messages from the local maildir mailbox which do not exist on the IMAP server. By default, dead messages are not deleted.
- -e, --expunge
- Causes isync to permanently remove all messages marked for deletion in both the local maildir mailbox and the remote IMAP mailbox. By default, deleted messages are not expunged.
- -f, --fast
- Causes isync to skip the step of synchronzing message flags between the local maildir mailbox and the IMAP mailbox. Only new messages existing on the server will be fetched into the local mailbox.
- -h, --help
- Displays a summary of command line options
- -p, --port port
- Specifies the port on the IMAP server to connect to (default: 143)
- -q, --quiet
- Suppress informational messages. If specified twice, suppress warning messages as well.
- -r, --remote box
- Specifies the name of the remote IMAP mailbox to synchronize with (Default: INBOX)
- -s, --host [imaps:]host
- Specifies the hostname of the IMAP server
- -u, --user user
- Specifies the login name to access the IMAP server (default: $USER)
- -M, --maildir dir
- Specifies the location for your local mailboxes.
- -F, --folder folder/
- Specifies the location for your remote mailboxes.
- -v, --version
- Displays isync version information.
- -V, --verbose
- Enables verbose mode, which displays the IMAP4 network traffic.
CONFIGURATION
isync reads ~/.isyncrc to load default configuration data. Each line of the configuration file consists of a command. The following commands are understood:
- Mailbox path
- Defines a local maildir mailbox. All configuration commands following this line, up until the next Mailbox command, apply to this mailbox only.
- Host [imaps:]name
- Defines the DNS name or IP address of the IMAP server. If the hostname is prefixed with imaps: the connection is assumed to be a SSL connection to port 993 (though you can change this by placing a Port command after the Host command. Note that some servers support SSL on the default port 143. isync will always attempt to use SSL if available.
- Port port
- Defines the TCP port number on the IMAP server to use (Default: 143)
- Box mailbox
- Defines the name of the remote IMAP mailbox associated with the local maildir mailbox (Default: INBOX)
- User username
- Defines the login name on the IMAP server (Default: current user)
- Pass password
- Defines the password for username on the IMAP server. Note that this option is NOT required. If no password is specified in the configuration file, isync will prompt you for it.
- Alias string
- Defines an alias for the mailbox which can be used as a shortcut on the command line.
- CopyDeletedTo mailbox
- Specifies the remote IMAP mailbox to copy deleted messages prior to expunging (Default: none).
- Delete yes|no
- Specifies whether messages in the local copy of the mailbox which don't exist on the server are automatically deleted. (Default: no). NOTE: The -d command line option overrides this setting when set to no.
- Expunge yes|no
- Specifies whether deleted messages are expunged by default (Default: no). NOTE: The -e command line option overrides this setting when set to no.
- MailDir directory
- Specifies the location of your local mailboxes if a relative path is specified in a Mailbox command (Default: ~). NOTE: This directive is only meaningful in the global section (see below).
- Folder directory/
- Specifies the location of your IMAP mailboxes specified in Box commands (Default: ""). NOTE: You must append the hierarchy delimiter (usually a slash) to this specification. NOTE 2: This directive is only meaningful in the global section (see below).
- MaxMessages count
- Sets the number of messages isync should keep in a mailbox. This is useful for mailboxes where you keep a complete archive on the server, but want to mirror only the last messages (for instance, for mailing lists.) The messages that were the first to arrive in the mailbox (independent of the actual date of the message) will automatically be deleted if you pass isync the delete (-d, --delete) flag. Messages that are flagged (marked as important) will not be automatically deleted. If count is 0, the maximum number of messages is unlimited (Default: 0).
- MaxSize bytes
- Sets a threshold for the maximum message size (in bytes) for which isync should transfer over the wire. This is useful for weeding out messages with large attachments. If bytes is 0, the maximum file size is unlimited.
- Tunnel command
- Specify a command to run to establish a connection rather than opening a TCP socket. This allows you to run an IMAP session over an SSH tunnel, for example.
- UseNamespace yes|no
- Selects whether isync should select mailboxes using the namespace given by the NAMESPACE command. This is useful with broken IMAP servers. (Default: yes)
- RequireCRAM yes|no
- If set to yes, isync will require that the server accept CRAM-MD5 intead of PLAIN to authenticate the user.
- RequireSSL yes|no
- isync will abort the connection if a TLS/SSL session to the IMAP server can not be established. (Default: yes)
- CertificateFile path
- File containing X.509 CA certificates used to verify server identities.
- UseSSLv2 yes|no
- Should isync use SSLv2 for communication with the IMAP server over SSL? (Default: yes if the imaps port is used, otherwise no)
- UseSSLv3 yes|no
- Should isync use SSLv3 for communication with the IMAP server over SSL? (Default: yes if the imaps port is used, otherwise no)
- UseTLSv1 yes|no
- Should isync use TLSv1 for communication with the IMAP server over SSL? (Default: yes)
- OneToOne
- isync will ignore any Mailbox specifications and instead pick up all mailboxes from the local MailDir and remote Folder and map them 1:1 onto each other according to their names. NOTE: This directive is only meaningful in the global section (see below).
- Inbox mailbox
- Exception to the OneToOne mapping: the special IMAP mailbox INBOX is mapped to the local mailbox (relative to the MailDir). NOTE: This directive is only meaningful in the global section (see below).
Configuration commands that appear prior to the first Mailbox command are considered to be global options which are used as defaults when those specific options are not specifically set for a defined Mailbox. For example, if you use the same login name for several IMAP servers, you can put a User command before the first Mailbox command, and then leave out the User command in the sections for each mailbox. isync will then use the global value by default.
MAIL USER AGENT INTERACTION
To use isync effectively, you need a mail client that sets the T (trashed) flag when it deletes a message from a maildir mailbox, instead of just removing it altogether. Without such a client, isync will refetch the locally deleted messages from the server since they will never get expunged. Mutt (starting with version 1.3.27) is known to support this. Be sure to put
- set maildir_trash
in your ~/.muttrc when using Mutt.
isync can be integrated into Mutt fairly easily with a few hooks:
-
folder-hook ~A bind index $ <sync-mailbox>
folder-hook +mdir 'macro index $ "<sync-mailbox>!isync -e mdir\n"'
where mdir is the name of the local mailbox (or its alias). This works well so long as you are not modifying the IMAP mailbox outside of Mutt. However, if you are using another mail program simultaneously Mutt will have the wrong idea of the local mailbox flags and messages will start disappearing from its index display (don't worry, they are still on disk).
FILES
- ~/.isyncrc
- Default configuration file
BUGS
No support for IMAP subfolders.
isync does not use NFS-safe locking. It will correctly prevent concurrent synchronization of a mailbox on the same host, but not across NFS.
When synchronizing multiple mailboxes on the same IMAP server, it is not possible to select different SSL options for each mailbox. Only the options from the first mailbox are applied since the SSL session is reused.
If new mail arrives in the IMAP mailbox after isync has retrieved the initial message list, the new mail will not be fetched until the next time isync is invoked.
It is currently impossible to unset the \Flagged attribute of a message once it is set. It has to be manually unset everywhere since isync doesn't have enough information to know which was the last status of the message.
The ndbm database created for each mailbox is not portable across different architectures. It currently stores the UID in host byte order.
The configuration file takes precedence over command line options.
Use -c /dev/null to work around.
SEE ALSO
AUTHOR
Written by Michael R. Elkins <me@mutt.org>,
maintained by Oswald Buddenhagen <ossi@users.sf.net>.