Next: Evolution
Up: Clients
Previous: Clients
  Contents
Fetchmail is a full-featured, robust, well-documented remote-mail
retrieval and forwarding utility intended to be used over on-demand
TCP/IP links (such as SLIP or PPP connections). It supports every
remote-mail protocol now in use on the Internet: POP2, POP3, RPOP,
APOP, KPOP, all flavors of IMAP, ETRN, and ODMR. It can even support
IPv6 and IPSEC.
Fetchmail retrieves mail from remote mail servers and forwards it via
SMTP, so it can then be read by normal mail user agents such as mutt,
elm(1) or BSD Mail. It allows all your system MTA's filtering,
forwarding, and aliasing facilities to work just as they would on
normal mail.
Fetchmail offers better security than any other Unix remote-mail
client. It supports APOP, KPOP, OTP, Compuserve RPA, Microsoft NTLM,
and IMAP RFC1731 encrypted authentication methods including CRAM-MD5
to avoid sending passwords en clair. It can be configured to support
end-to-end encryption via tunneling with ssh, the Secure Shell.
Fetchmail can be used as a POP/IMAP-to-SMTP gateway for an entire DNS
domain, collecting mail from a single drop box on an ISP and
SMTP-forwarding it based on header addresses. (We don't really
recommend this, though, as it may lose important envelope-header
information. ETRN or a UUCP connection is better.)
Fetchmail can be started automatically and silently as a system daemon
at boot time. When running in this mode with a short poll interval, it
is pretty hard for anyone to tell that the incoming mail link is not a
full-time "push" connection.
Fetchmail is easy to configure. You can edit its dotfile directly, or
use the interactive GUI configurator (fetchmailconf) supplied with the
fetchmail distribution. It is also directly supported in linuxconf
versions 1.16r8 and later.
Fetchmail is fast and lightweight. It packs all its standard features
(POP3, IMAP, and ETRN support) in 196K of core on a Pentium under
Linux.
fetchmail is a mail-retrieval and forwarding utility; it fetches mail
from remote mailservers and forwards it to your local (client)
machine’s delivery system. You can then handle the retrieved mail
using normal mail user agents such as mutt(1), elm(1) or Mail(1). The
fetchmail utility can be run in a daemon mode to repeatedly poll one or
more systems at a specified interval.
The fetchmail program can gather mail from servers supporting any of
the common mail-retrieval protocols: POP2, POP3, IMAP2bis, IMAP4, and
IMAPrev1. It can also use the ESMTP ETRN extension and ODMR. (The
RFCs describing all these protocols are listed at the end of this manual
page.)
While fetchmail is primarily intended to be used over on-demand TCP/IP
links (such as SLIP or PPP connections), it may also be useful as a
message transfer agent for sites which refuse for security reasons to
permit (sender-initiated) SMTP transactions with sendmail.
As each message is retrieved fetchmail normally delivers it via SMTP to
port 25 on the machine it is running on (localhost), just as though it
were being passed in over a normal TCP/IP link. The mail will then be
delivered locally via your system’s MDA (Mail Delivery Agent, usually
sendmail(8) but your system may use a different one such as smail,
mmdf, exim, or qmail). All the delivery-control mechanisms (such as
.forward files) normally available through your system MDA and local
delivery agents will therefore work.
If no port 25 listener is available, but your fetchmail configuration
was told about a reliable local MDA, it will use that MDA for local
delivery instead. At build time, fetchmail normally looks for exe-
cutable procmail(1) and sendmail(1) binaries.
If the program fetchmailconf is available, it will assist you in set-
ting up and editing a fetchmailrc configuration. It runs under X and
requires that the language Python and the Tk toolkit be present on your
system. If you are first setting up fetchmail for single-user mode, it
is recommended that you use Novice mode. Expert mode provides complete
control of fetchmail configuration, including the multidrop features.
In either case, the ‘Autoprobe’ button will tell you the most capable
protocol a given mailserver supports, and warn you of potential problems
with that server.
The behavior of fetchmail is controlled by command-line options and a
run control file, /.fetchmailrc, the syntax of which we describe in a
later section (this file is what the fetchmailconf program edits).
Command-line options override /.fetchmailrc declarations.
Each server name that you specify following the options on the command
line will be queried. If you don’t specify any servers on the command
line, each ‘poll’ entry in your /.fetchmailrc file will be queried.
To facilitate the use of fetchmail in scripts and pipelines, it returns
an appropriate exit code upon termination - see EXIT CODES below.
Next: Evolution
Up: Clients
Previous: Clients
  Contents
root
2004-03-16