aboutsummaryrefslogtreecommitdiffstats
path: root/pullimap.md
diff options
context:
space:
mode:
Diffstat (limited to 'pullimap.md')
-rw-r--r--pullimap.md216
1 files changed, 107 insertions, 109 deletions
diff --git a/pullimap.md b/pullimap.md
index 54c6ce5..494bfae 100644
--- a/pullimap.md
+++ b/pullimap.md
@@ -32,44 +32,44 @@ Options
`--config=`*FILE*
-: Specify an alternate configuration file. Relative paths start from
- *$XDG_CONFIG_HOME*, or *~/.config* if the `XDG_CONFIG_HOME`
- environment variable is unset.
+: Specify an alternate configuration file. Relative paths start from
+ *$XDG_CONFIG_HOME*, or *~/.config* if the `XDG_CONFIG_HOME`
+ environment variable is unset.
`--idle`[`=`*seconds*]
-: Don't exit after a successful poll. Instead, keep the connection open
- and issue `IDLE` commands (require an IMAP server supporting [RFC
- 2177]) to watch for updates in the mailbox. This also enables
- `SO_KEEPALIVE` on the socket. Each `IDLE` command is terminated after
- at most *seconds* (29 minutes by default) to avoid being logged out
- for inactivity.
+: Don't exit after a successful poll. Instead, keep the connection open
+ and issue `IDLE` commands (require an IMAP server supporting [RFC
+ 2177]) to watch for updates in the mailbox. This also enables
+ `SO_KEEPALIVE` on the socket.
+ Each `IDLE` command is terminated after at most *seconds* (29
+ minutes by default) to avoid being logged out for inactivity.
`--no-delivery`
-: Update the *statefile*, but skip SMTP/LMTP delivery. This is mostly
- useful for initializing the *statefile* when migrating to
- `pullimap` from another similar program such as [`fetchmail`(1)] or
- [`getmail`(1)].
+: Update the *statefile*, but skip SMTP/LMTP delivery. This is mostly
+ useful for initializing the *statefile* when migrating to `pullimap`
+ from another similar program such as [`fetchmail`(1)] or
+ [`getmail`(1)].
`-q`, `--quiet`
-: Try to be quiet.
+: Try to be quiet.
`--debug`
-: Turn on debug mode. Debug messages are written to the error output.
- Note that this include all IMAP traffic (except literals). Depending
- on the chosen authentication mechanism, this might include
- authentication credentials.
+: Turn on debug mode. Debug messages are written to the error output.
+ Note that this include all IMAP traffic (except literals).
+ Depending on the chosen authentication mechanism, this might include
+ authentication credentials.
`-h`, `--help`
-: Output a brief help and exit.
+: Output a brief help and exit.
`--version`
-: Show the version number and exit.
+: Show the version number and exit.
Configuration file
@@ -86,158 +86,156 @@ Valid options are:
*statefile*
-: State file to use to keep track of the *mailbox*'s `UIDVALIDITY` and
- `UIDNEXT` values. Relative paths start from
- *$XDG_DATA_HOME/pullimap*, or *~/.local/share/pullimap* if the
- `XDG_DATA_HOME` environment variable is unset.
- (Default: the parent section name of the option.)
+: State file to use to keep track of the *mailbox*'s `UIDVALIDITY` and
+ `UIDNEXT` values. Relative paths start from
+ *$XDG_DATA_HOME/pullimap*, or *~/.local/share/pullimap* if the
+ `XDG_DATA_HOME` environment variable is unset.
+ (Default: the parent section name of the option.)
*mailbox*
-: The IMAP mailbox to pull messages from.
- Support for persistent message Unique Identifiers (UID) is required.
- (Default: `INBOX`.)
+: The IMAP mailbox to pull messages from. Support for persistent
+ message Unique Identifiers (UID) is required. (Default: `INBOX`.)
*deliver-method*
-: `PROTOCOL:[ADDRESS]:PORT` where to deliver messages. Both [SMTP][RFC
- 5321] and [LMTP][RFC 2033] servers are supported, and [SMTP
- pipelining][RFC 2920] is used when possible.
- (Default: `smtp:[127.0.0.1]:25`.)
+: `PROTOCOL:[ADDRESS]:PORT` where to deliver messages. Both
+ [SMTP][RFC 5321] and [LMTP][RFC 2033] servers are supported, and
+ [SMTP pipelining][RFC 2920] is used when possible.
+ (Default: `smtp:[127.0.0.1]:25`.)
*deliver-ehlo*
-: Hostname to use in `EHLO` or `LHLO` commands.
- (Default: `localhost.localdomain`.)
+: Hostname to use in `EHLO` or `LHLO` commands.
+ (Default: `localhost.localdomain`.)
*deliver-rcpt*
-: Message recipient.
- (Default: the username associated with the effective uid of the
- `pullimap` process.)
+: Message recipient.
+ (Default: the username associated with the effective uid of the
+ `pullimap` process.)
*purge-after*
-: Retention period (in days), after which messages are removed from the
- IMAP server. (The value is at best 24h accurate due to the IMAP
- `SEARCH` criterion ignoring time and timezone.)
- If *purge-after* is set to `0` then messages are deleted immediately
- after delivery. Otherwise `pullimap` issues an IMAP `SEARCH` command
- to list old messages; if `--idle` is set then the `SEARCH` command is
- issued again every 12 hours.
+: Retention period (in days), after which messages are removed from
+ the IMAP server. (The value is at best 24h accurate due to the IMAP
+ `SEARCH` criterion ignoring time and timezone.)
+ If *purge-after* is set to `0` then messages are deleted immediately
+ after delivery. Otherwise `pullimap` issues an IMAP `SEARCH`
+ command to list old messages; if `--idle` is set then the `SEARCH`
+ command is issued again every 12 hours.
*type*
-: One of `imap`, `imaps` or `tunnel`.
- `type=imap` and `type=imaps` are respectively used for IMAP and IMAP
- over SSL/TLS connections over a INET socket.
- `type=tunnel` causes `pullimap` to open a pipe to a *command* instead
- of a raw socket.
- (Default: `imaps`.)
+: One of `imap`, `imaps` or `tunnel`.
+ `type=imap` and `type=imaps` are respectively used for IMAP and IMAP
+ over SSL/TLS connections over a INET socket.
+ `type=tunnel` causes `pullimap` to open a pipe to a *command*
+ instead of a raw socket.
+ (Default: `imaps`.)
*host*
-: Server hostname, for `type=imap` and `type=imaps`.
- (Default: `localhost`.)
+: Server hostname, for `type=imap` and `type=imaps`.
+ (Default: `localhost`.)
*port*
-: Server port.
- (Default: `143` for `type=imap`, `993` for
- `type=imaps`.)
+: Server port.
+ (Default: `143` for `type=imap`, `993` for `type=imaps`.)
*proxy*
-: An optional SOCKS proxy to use for TCP connections to the IMAP server
- (`type=imap` and `type=imaps` only), formatted as
- `PROTOCOL://[USER:PASSWORD@]PROXYHOST[:PROXYPORT]`.
- If `PROXYPORT` is omitted, it is assumed at port 1080.
- Only [SOCKSv5][RFC 1928] is supported (with optional
- [username/password authentication][RFC 1929]), in two flavors:
- `socks5://` to resolve *hostname* locally, and `socks5h://` to let the
- proxy resolve *hostname*.
+: An optional SOCKS proxy to use for TCP connections to the IMAP
+ server (`type=imap` and `type=imaps` only), formatted as
+ `PROTOCOL://[USER:PASSWORD@]PROXYHOST[:PROXYPORT]`.
+ If `PROXYPORT` is omitted, it is assumed at port 1080.
+ Only [SOCKSv5][RFC 1928] is supported (with optional
+ [username/password authentication][RFC 1929]), in two flavors:
+ `socks5://` to resolve *hostname* locally, and `socks5h://` to let
+ the proxy resolve *hostname*.
*command*
-: Command to use for `type=tunnel`. Must speak the [IMAP4rev1
- protocol][RFC 3501] on its standard output, and understand it on its
- standard input.
+: Command to use for `type=tunnel`. Must speak the [IMAP4rev1
+ protocol][RFC 3501] on its standard output, and understand it on its
+ standard input.
*STARTTLS*
-: Whether to use the [`STARTTLS`][RFC 2595] directive to upgrade to a
- secure connection. Setting this to `YES` for a server not advertising
- the `STARTTLS` capability causes `pullimap` to immediately abort the
- connection.
- (Ignored for *type*s other than `imap`. Default: `YES`.)
+: Whether to use the [`STARTTLS`][RFC 2595] directive to upgrade to a
+ secure connection. Setting this to `YES` for a server not
+ advertising the `STARTTLS` capability causes `pullimap` to
+ immediately abort the connection.
+ (Ignored for *type*s other than `imap`. Default: `YES`.)
*auth*
-: Space-separated list of preferred authentication mechanisms.
- `pullimap` uses the first mechanism in that list that is also
- advertised (prefixed with `AUTH=`) in the server's capability list.
- Supported authentication mechanisms are `PLAIN` and `LOGIN`.
- (Default: `PLAIN LOGIN`.)
+: Space-separated list of preferred authentication mechanisms.
+ `pullimap` uses the first mechanism in that list that is also
+ advertised (prefixed with `AUTH=`) in the server's capability list.
+ Supported authentication mechanisms are `PLAIN` and `LOGIN`.
+ (Default: `PLAIN LOGIN`.)
*username*, *password*
-: Username and password to authenticate with. Can be required for non
- pre-authenticated connections, depending on the chosen authentication
- mechanism.
+: Username and password to authenticate with. Can be required for non
+ pre-authenticated connections, depending on the chosen
+ authentication mechanism.
*compress*
-: Whether to use the [`IMAP COMPRESS` extension][RFC 4978] for servers
- advertising it. (Default: `YES`.)
+: Whether to use the [`IMAP COMPRESS` extension][RFC 4978] for servers
+ advertising it. (Default: `YES`.)
*null-stderr*
-: Whether to redirect *command*'s standard error to `/dev/null` for type
- `type=tunnel`. (Default: `NO`.)
+: Whether to redirect *command*'s standard error to `/dev/null` for
+ type `type=tunnel`. (Default: `NO`.)
*SSL_protocols*
-: A space-separated list of SSL protocols to enable or disable (if
- prefixed with an exclamation mark `!`. Known protocols are
- `SSLv2`, `SSLv3`, `TLSv1`, `TLSv1.1`, and `TLSv1.2`. Enabling a
- protocol is a short-hand for disabling all other protocols.
- (Default: `!SSLv2 !SSLv3`, i.e., only enable TLSv1 and above.)
+: A space-separated list of SSL protocols to enable or disable (if
+ prefixed with an exclamation mark `!`. Known protocols are `SSLv2`,
+ `SSLv3`, `TLSv1`, `TLSv1.1`, and `TLSv1.2`. Enabling a protocol is
+ a short-hand for disabling all other protocols.
+ (Default: `!SSLv2 !SSLv3`, i.e., only enable TLSv1 and above.)
*SSL_cipher_list*
-: The cipher list to send to the server. Although the server determines
- which cipher suite is used, it should take the first supported cipher
- in the list sent by the client. See [`ciphers`(1ssl)] for more
- information.
+: The cipher list to send to the server. Although the server
+ determines which cipher suite is used, it should take the first
+ supported cipher in the list sent by the client. See
+ [`ciphers`(1ssl)] for more information.
*SSL_fingerprint*
-: Fingerprint of the server certificate (or its public key) in the form
- `ALGO$DIGEST_HEX`, where `ALGO` is the used algorithm (default
- `sha256`).
- Attempting to connect to a server with a non-matching certificate
- fingerprint causes `pullimap` to abort the connection during the
- SSL/TLS handshake.
+: Fingerprint of the server certificate (or its public key) in the
+ form `ALGO$DIGEST_HEX`, where `ALGO` is the used algorithm (default
+ `sha256`).
+ Attempting to connect to a server with a non-matching certificate
+ fingerprint causes `pullimap` to abort the connection during the
+ SSL/TLS handshake.
*SSL_verify*
-: Whether to verify the server certificate chain.
- Note that using *SSL_fingerprint* to specify the fingerprint of the
- server certificate is an orthogonal authentication measure as it
- ignores the CA chain.
- (Default: `YES`.)
+: Whether to verify the server certificate chain.
+ Note that using *SSL_fingerprint* to specify the fingerprint of the
+ server certificate is an orthogonal authentication measure as it
+ ignores the CA chain.
+ (Default: `YES`.)
*SSL_CApath*
-: Directory to use for server certificate verification if
- `SSL_verify=YES`.
- This directory must be in “hash format”, see [`verify`(1ssl)] for
- more information.
+: Directory to use for server certificate verification if
+ `SSL_verify=YES`.
+ This directory must be in “hash format”, see [`verify`(1ssl)] for
+ more information.
*SSL_CAfile*
-: File containing trusted certificates to use during server certificate
- authentication if `SSL_verify=YES`.
+: File containing trusted certificates to use during server
+ certificate authentication if `SSL_verify=YES`.
Control flow
============