]> Pileus Git - ~andy/fetchmail/blobdiff - fetchmail.man
Ready to ship.
[~andy/fetchmail] / fetchmail.man
index 2ab32ab160dba5ad20084140bfe368ad4fec11e9..a9b8a21e66fcc799845d231f193a811a6cc772ef 100644 (file)
@@ -221,6 +221,12 @@ news drop for a group of users.
 The port option permits you to specify a TCP/IP port to connect on. 
 This option will seldom be necessary as all the supported protocols have
 well-established default port numbers.
+.TP
+.B \--principal <principal>
+(Keyword: principal)
+The principal option permits you to specify a service principal for
+mutual authentication.  This is applicable to POP3 or IMAP with Kerberos
+authentication.
 .TP 
 .B \-t, --timeout <seconds>
 (Keyword: timeout)
@@ -236,13 +242,15 @@ succession, fetchmail will consider it wedged and stop retrying,
 the calkling user will be notified by email if this happens.
 .TP
 .B \--plugin <command>
-(Keyword: plugin)
-The plugin option allows you to use an external program to establish the
-TCP connection.  This is useful if you want to use socks or need some
-special firewalling setup.  The program will be looked up in $PATH and
-it will be passed two arguments: the name of the server and the name of
-the port.  Fetchmail will write to the plugin's stdin and read from
-the plugin's stdout.
+(Keyword: plugin) The plugin option allows you to use an external
+program to establish the TCP connection.  This is useful if you want
+to use socks, SSL, ssh, or need some special firewalling setup.  The
+program will be looked up in $PATH and can optionally be passed the
+hostname and port as arguments using "%h" and "%p" respectively (note
+that the interpolation logic is rather promitive, and these token must
+be bounded by whitespace or beginning of string or end of string).
+Fetchmail will write to the plugin's stdin and read from the plugin's
+stdout.
 .TP
 .B \--plugout <command>
 (Keyword: plugout)
@@ -319,6 +327,11 @@ Specify the domain to be put in RCPT TO lines shipped to SMTP. The
 name of the SMTP server (as specified by --smtphost, or defaulted to
 "localhost") is used when this is not specified.
 .TP
+.B --smtpname <user@domain>
+(Keyword: smtpname) 
+Specify the domain and user to be put in RCPT TO lines shipped to SMTP.
+The default user is the current local user.
+.TP
 .B \-Z <nnn>, --antispam <nnn[, nnn]...>
 (Keyword: antispam) 
 Specifies the list of numeric SMTP errors that are to be interpreted
@@ -365,14 +378,15 @@ MAILBOXES below apply.
 .B \-l <maxbytes>, --limit <maxbytes>
 (Keyword: limit)
 Takes a maximum octet size argument.  Messages larger than this size
-will not be fetched, not be marked seen, and will be left on the
-server (in foreground sessions, the progress messages will note that
-they are "oversized").  An explicit --limit of 0 overrides any limits
-set in your run control file. This option is intended for those
-needing to strictly control fetch time due to expensive and variable
-phone rates.  In daemon mode, oversize notifications are mailed to the
-calling user (see the --warnings option).  This option does not work
-with ETRN.
+will not be fetched and will be left on the server (in foreground
+sessions, the progress messages will note that they are "oversized").
+If the fetch protocol permits (in particular, under IMAP or POP3
+without the fetchall option) the message will not be marked seen An
+explicit --limit of 0 overrides any limits set in your run control
+file. This option is intended for those needing to strictly control
+fetch time due to expensive and variable phone rates.  In daemon mode,
+oversize notifications are mailed to the calling user (see the
+--warnings option).  This option does not work with ETRN.
 .TP
 .B \-w <interval>, --warnings <interval>
 (Keyword: warnings)
@@ -891,13 +905,20 @@ the machine fetchmail itself is running on.  If the invisible option
 is on, the Received header is suppressed and fetchmail tries to spoof
 the MTA it forwards to into thinking it came directly from the
 mailserver host.
+.PP
+The 
+.B --showdots
+option (keyword: set showdots) forces fetchmail to show progress dots
+even if the current tty is not stdout (for example logfiles).
+Starting with fetchmail version 5.3.0, 
+progress dots are only shown on stdout by default.
 
 .SH RETRIEVAL FAILURE MODES
 The protocols \fIfetchmail\fR uses to talk to mailservers are next to
 bulletproof.  In normal operation forwarding to port 25, no message is
 ever deleted (or even marked for deletion) on the host until the SMTP
 listener on the client has acknowledged to \fIfetchmail\fR that the
-message has been accepted for delivery or rejected due to a apam
+message has been accepted for delivery or rejected due to a spam
 block.  When forwarding to an MDA, however, there is more possibility
 of error (because there's no way for fetchmail to get a reliable
 positive acknowledgement from the MDA).
@@ -1116,6 +1137,9 @@ proto[col]        -p      T{
 Specify protocol (case insensitive):
 POP2, POP3, IMAP, IMAP-K4, IMAP-GSS, APOP, KPOP
 T}
+local[domains] \&      T{
+Specify domain(s) to be regarded as local
+T}
 port           -P      T{
 Specify TCP/IP service port
 T}
@@ -1209,6 +1233,9 @@ T}
 smtpaddress    -D      T{
 Specify the domain to be put in RCPT TO lines
 T}
+smtpname               T{
+Specify the user and domain to be put in RCPT TO lines
+T}
 antispam       -Z      T{
 Specify what SMTP returns are interpreted as spam-policy blocks
 T}
@@ -1248,6 +1275,9 @@ T}
 dropstatus     \&      T{
 Strip Status and X-Mozilla-Status lines out of incoming mail
 T}
+dropdelivered  \&      T{
+Strip Delivered-To lines out of incoming mail
+T}
 mimedecode     \&      T{
 Convert quoted-printable to 8-bit in MIME messages
 T}
@@ -1278,6 +1308,9 @@ T}
 no dropstatus  \&      T{
 Don't drop Status headers (default)
 T}
+no dropdelivered       \&      T{
+Don't drop Delivered-To headers (default)
+T}
 no mimedecode  \&      T{
 Don't convert quoted-printable to 8-bit in MIME messages (default)
 T}
@@ -1297,7 +1330,7 @@ fetchlimit        -B      T{
 Max # messages to fetch in single connect
 T}
 expunge        -e      T{
-Perform an expunge on every #th message (IMAP only)
+Perform an expunge on every #th message (IMAP and POP3 only)
 T}
 properties     \&      T{
 String value is ignored by fetchmail (may be used by extension scripts)
@@ -1322,8 +1355,9 @@ All options correspond to the obvious command-line arguments, except
 the following: `via', `interval', `aka', `is', `to', `dns'/`no dns',
 `checkalias'/`no checkalias', `password', `preconnect', `postconnect',
 `localdomains', `stripcr'/`no stripcr', `forcecr'/`no forcecr',
-`pass8bits'/`no pass8bits' `dropstatus/no dropstatus', `mimedecode/no
-mimedecode', `idle/no idle', and `no envelope'.
+`pass8bits'/`no pass8bits' `dropstatus/no dropstatus',
+`dropdelivered/no dropdelivered', `mimedecode/no mimedecode', `idle/no
+idle', and `no envelope'.
 .PP
 The `via' option is for use with ssh, or if you want to have more
 than one configuration pointing at the same site.  If it is present,
@@ -1472,6 +1506,12 @@ confuse some new-mail notifiers, which assume that anything with a
 Status line in it has been seen.  (Note: the empty Status lines
 inserted by some buggy POP servers are unconditionally discarded.)
 .PP
+The `dropdelivered' option controls wether Delivered-To headers will
+be kept in fetched mail (the default) or discarded. These headers are 
+added by Qmail and Postfix mailservers in order to avoid mail loops but
+may get in your way if you try to "mirror" a mailserver within the same
+domain. Use with caution.
+.PP
 The `mimedecode' option controls whether MIME messages using the
 quoted-printable encoding are automatically converted into pure 8-bit
 data. If you are delivering mail to an ESMTP-capable, 8-bit-clean
@@ -1690,6 +1730,16 @@ poll mailhost.net via localhost port 1234 with proto pop3:
                mailhost.net sleep 20 </dev/null >/dev/null";
 .fi
 
+.PP
+Here's an another example configuration using ssh and the plugin option.
+The queries are made directly on the stdin and stdout of imapd via ssh.
+Note that in this setup, IMAP authentication can be skipped.
+
+.nf
+poll mailhost.net with proto imap and preauth ssh:
+        plugin "ssh %h /usr/sbin/imapd";
+.fi
+
 .SH THE USE AND ABUSE OF MULTIDROP MAILBOXES
 Use the multiple-local-recipients feature with caution -- it can bite.
 Also note that all multidrop features are ineffective in ETRN mode.
@@ -1840,7 +1890,8 @@ on the server but not selected for retrieval.)
 .IP 2
 An error was encountered when attempting to open a socket to retrieve
 mail.  If you don't know what a socket is, don't worry about it --
-just treat this as an 'unrecoverable error'.
+just treat this as an 'unrecoverable error'.  This error can also be
+because a protocol fetchmail wants to use is not listed in /etc/services.
 .IP 3
 The user authentication step failed.  This usually means that a bad 
 user-id, password, or APOP id was specified.  Or it may mean that you 
@@ -1925,12 +1976,14 @@ lock file to help prevent concurrent runs (root mode, Linux systems).
 lock file to help prevent concurrent runs (root mode, systems without /var/run).
 
 .SH ENVIRONMENT
-If either the LOGNAME or USER variable is correctly set
-(e.g. the corresponding UID matches the session user ID) then that
-name is used as the default local name.  Otherwise \fBgetpwuid\fR(3)
-must be able to retrieve a password entry for the session ID (this
-elaborate logic is designed to handle the case of multiple names per
-userid gracefully).
+If the FETCHMAILUSER variable is set, it is used as the name of the
+calling user (default local name) for purposes such as mailing error
+notifications.  Otherwise, if either the LOGNAME or USER variable is
+correctly set (e.g. the corresponding UID matches the session user ID)
+then that name is used as the default local name.  Otherwise
+\fBgetpwuid\fR(3) must be able to retrieve a password entry for the
+session ID (this elaborate logic is designed to handle the case of
+multiple names per userid gracefully).
 
 If the environment variable FETCHMAILHOME is set to a valid and
 existing directory name, the .fetchmailrc and .fetchids and
@@ -1999,6 +2052,17 @@ The RFC 2177 IDLE support is flaky.  It sort of works, but may generate
 spurious socket error messages or silently hang in the presence of
 various network or server errors.
 .PP
+The combination of using a remote name with embedded spaces and POP3
+UIDs will not work; the UIDL-handling code will core-dump while trying
+to read in what it sees as malformed .fetchids lines, typically
+on the second poll after startup.
+.PP
+The UIDL code is generally flaky and tends to lose its state on errors
+and line drops (so that old messages are re-seen).  If this happens to
+you, switch to IMAP4.
+.PP
+The `principal' option only handles Kerberos IV, not V.
+.PP
 Send comments, bug reports, gripes, and the like to the
 fetchmail-friends list <fetchmail-friends@ccil.org>.  An HTML FAQ is
 available at the fetchmail home page; surf to