it sets its userid to that of the target user while delivering mail
through an MDA. Some possible MDAs are "/usr/sbin/sendmail -oem -f %F
%T", "/usr/bin/deliver" and "/usr/bin/procmail -d %T" (but the latter
-is usually redundant as). it's what SMTP listeners usually forward
+is usually redundant as it's what SMTP listeners usually forward
to). Local delivery addresses will be inserted into the MDA command
wherever you place a %T; the mail message's From address will be
inserted where you place an %F. Do \fInot\fR use an MDA invocation
This option does not work with ETRN.
.TP
.B -e, --expunge
-(keyword: expunge)
-When talking to an IMAP server,
+(keyword: expunge)
+Arrange for deletions to be made final after a given number of
+messages. Under POP2 or POP3, fetchmail cannot make deletions final
+without sending QUIT and ending the session -- with this option on,
+fetchmail will break a long mail retrieval session into multiple
+subsessions, sending QUIT after each sub-session. This is a good
+defense against line drops on POP3 servers that do not do the
+equivalent of a QUIT on hangup. Under IMAP,
.I fetchmail
normally issues an EXPUNGE command after each deletion in order to
force the deletion to be done immediately. This is safest when your
expunges less frequently. If you specify this option to an integer N,
it tells
.I fetchmail
-to only issue expunges on every Nth delete. An argument
-of zero suppresses expunges entirely (so no expunges at all will be
-done until the end of run).
-This option does not work with ETRN, POP2, or POP3.
+to only issue expunges on every Nth delete. An argument of zero
+suppresses expunges entirely (so no expunges at all will be done until
+the end of run). This option does not work with ETRN.
.SS Authentication Options
.TP
.B \-u name, --username name
from your principal name using the standard \fB--user\fR command or by
the \fI.fetchmailrc\fR option \fBuser\fR.
.PP
+If your IMAP daemon returns the PREAUTH response in its greeting line,
+fetchmail will notice this and skip the normal authentication step.
+This could be useful, e.g. if you start imapd explicitly using ssh.
+.PP
If you are using POP3, and the server issues a one-time-password
challenge conforming to RFC1938, \fIfetchmail\fR will use your
password as a pass phrase to generate the required response. This
avoids sending secrets over the net unencrypted.
.PP
-Compuserve's RPA authentication (similar to APOP) is supported. If
-you are using POP3, and the RPA code has been compiled into your
-binary, and you query a server in the Compuserve csi.com domain,
-\fIfetchmail\fR will try to perform an RPA pass-phrase authentication
-instead of sending over the password en clair.
+Compuserve's RPA authentication (similar to APOP) is supported. If you
+compile in the support, \fIfetchmail\fR will try to perform an RPA pass-phrase
+authentication instead of sending over the password en clair if it
+detects "@compuserve.com" in the hostname.
+.PP
+Microsoft's NTLM authentication (used by Microsoft Exchange) is
+supported. If you compile in the support, \fIfetchmail\fR will try to
+perform an NTLM authentication (instead of sending over the
+password en clair) whenever the server returns AUTH=NTLM in its
+capability response.
.PP
If you are using IPsec, the -T (--netsec) option can be used to pass
an IP security request to be used when outgoing IP connections are
If the invoking user is root, then the default of this option is
the user `postmaster'.
.PP
+The
+.B --nobounce
+option suppresses the normal action of bouncing errors back to the
+sender in an RFC1894-conformant error message. If nobounce is on, the
+message will go to the postmaster instead.
+.PP
The
.B --invisible
option (keyword: set invisible) tries to make fetchmail invisible.
The
.I fetchmail
code recognizes and discards the message on any of a list of responses
-that defaults to [571, 550, 501] but can be set with the `antispam'
+that defaults to [571, 550, 501, 554] but can be set with the `antispam'
option. This is one of the
.I only
-two circumstance under which fetchmail ever discards mail (the others
-are the 552 and 553 errors described below).
+three circumstance under which fetchmail ever discards mail (the others
+are the 552 and 553 errors described below, and the suppression of
+multidropped messages with a message-ID already seen).
.PP
If
.I fetchmail
set postmaster \& T{
Give the name of the last-resort mail recipient
T}
+set no bouncemail \& T{
+Direct error mail to postmaster rather than sender
+T}
set logfile \& T{
Name of a file to dump error and status messages to
T}
Strip Status and X-Mozilla-Status lines out of incoming mail
T}
mimedecode \& T{
-Convert quoted-printable to 8-bit in MIME messages
+Convert quoted-printable to 8-bit in MIME messages (default)
T}
no keep -K T{
Delete seen messages from server (default)
Don't drop Status headers (default)
T}
no mimedecode \& T{
-Don't convert quoted-printable to 8-bit in MIME messages (default)
+Don't convert quoted-printable to 8-bit in MIME messages
T}
limit -l T{
Set message size limit
Set message size warning interval
T}
batchlimit -b T{
-Max # messages to fetch in single connect
+Max # messages to forward in single connect
T}
fetchlimit -B T{
-Max # messages to forward in single connect
+Max # messages to fetch in single connect
T}
expunge -e T{
Perform an expunge on every #th message (IMAP only)
matching addresses are handled.
.PP
If \fIfetchmail\fR cannot match any mailserver usernames or
-localdomain addresses, the default recipient is the value of the
-`postmaster' global option if that has been set; otherwise it's the
-calling user (as set by the USER or LOGNAME variable in the
-environment).
+localdomain addresses, the mail will be bounced.
+Normally it will be bounced to the sender, but if `nobounce' is on
+it will go to the postmaster (which in turn defaults to being the
+calling user).
.PP
The `dns' option (normally on) controls the way addresses from
multidrop mailboxes are checked. On, it enables logic to check each
inserted by some buggy POP servers are unconditionally discarded.)
.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 listener (that includes all of the major programs
-like sendmail), then this will automatically convert quoted-printable
-message headers and data into 8-bit data, making it easier to
-understand when reading mail. If your e-mail programs know how to
-deal with MIME messages, then this option is not needed.
+quoted-printable encoding are automatically converted into pure 8-bit
+data. If you are delivering mail to an ESMTP-capable, 8-bit-clean
+listener (that includes all of the major MTAs like sendmail), then
+this will automatically convert quoted-printable message headers and
+data into 8-bit data, making it easier to understand when reading
+mail. If your e-mail programs know how to deal with MIME messages,
+then this option is not needed (but does no harm). The mimedecode
+option is on by default.
.PP
The `properties' option is an extension mechanism. It takes a string
argument, which is ignored by fetchmail itself. The string argument may be
Example:
.nf
- poll pop.provider.net protocol pop3 username jsmith password secret1
+ poll pop.provider.net protocol pop3 username "jsmith" password "secret1"
.fi
.PP
Or, using some abbreviations:
.nf
- poll pop.provider.net proto pop3 user jsmith password secret1
+ poll pop.provider.net proto pop3 user "jsmith" password "secret1"
.fi
.PP
Multiple servers may be listed:
.nf
- poll pop.provider.net proto pop3 user jsmith pass secret1
- poll other.provider.net proto pop2 user John.Smith pass My^Hat
+ poll pop.provider.net proto pop3 user "jsmith" pass "secret1"
+ poll other.provider.net proto pop2 user "John.Smith" pass "My^Hat"
.fi
Here's a version of those two with more whitespace and some noise words:
.nf
poll pop.provider.net proto pop3
- user jsmith, with password secret1, is jsmith here;
+ user "jsmith", with password secret1, is "jsmith" here;
poll other.provider.net proto pop2:
- user John.Smith, with password My^Hat, is John.Smith here;
+ user "John.Smith", with password "My^Hat", is "John.Smith" here;
.fi
This version is much easier to read and doesn't cost significantly
.nf
poll mail.provider.net with proto pop3:
- user jsmith there has password "u can't krak this"
+ user "jsmith" there has password "u can't krak this"
is jws here and wants mda "/bin/mail"
.fi
.nf
defaults proto pop3
- user jsmith
+ user "jsmith"
poll pop.provider.net
- pass secret1
+ pass "secret1"
poll mail.provider.net
- user jjsmith there has password secret2
+ user "jjsmith" there has password "secret2"
.fi
It's possible to specify more than one user per server (this is only
.nf
poll pop.provider.net proto pop3 port 3111
- user jsmith with pass secret1 is smith here
- user jones with pass secret2 is jjones here
+ user "jsmith" with pass "secret1" is "smith" here
+ user jones with pass "secret2" is "jjones" here
.fi
This associates the local username `smith' with the pop.provider.net
Use the multiple-local-recipients feature with caution -- it can bite.
Also note that all multidrop features are ineffective in ETRN mode.
+Also, note that in multidrop mode duplicate mails are suppressed.
+A piece of mail is considered duplicate if it has the same message-ID
+as the message immediately preceding. Such runs of messages may
+be generated when copies of a message addressed to multiple
+users are delivered to a multidrop box.
+
.SS Header vs. Envelope addresses
The fundamental problem is that by having your mailserver toss several
peoples' mail in a single maildrop box, you may have thrown away
a DNS lookup at startup and could not proceed.
.IP 12
BSMTP batch file could not be opened.
+.IP 13
+Poll terminated by a fetch limit (see the --fetchlimit option).
.IP 23
Internal error. You should see a message on standard error with
details.
lock file to help prevent concurrent runs (root mode, systems without /var/run).
.SH ENVIRONMENT
-For correct initialization,
-.I fetchmail
-requires either that both the USER and HOME environment variables are
-correctly set, or that \fBgetpwuid\fR(3) be able to retrieve a password
-entry from your user ID.
+If either the LOGNAME or USER and the 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)
+mudst 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).
.SH SIGNALS
If a
RFC 937
.TP 5
POP3:
-RFC 1081, RFC 1225, RFC 1460, RFC 1725, RFC 1939
+RFC 1081, RFC 1225, RFC 1460, RFC 1725, RFC 1939, RFC 2449
.TP 5
APOP:
RFC 1460, RFC 1725, RFC 1939
RFC 1176, RFC 1732
.TP 5
IMAP4:
-RFC 1730, RFC 1731, RFC 1732, RFC 2060, RFC 2061
+RFC 1730, RFC 1731, RFC 1732, RFC 2060, RFC 2061, RFC 2195
.TP 5
ETRN:
RFC 1985