logo: a hand presenting an envelope

Fetchmail

NEWS: FETCHMAIL 6.5.0.rc2 release

On 2024-09-28, fetchmail 6.5.0.rc2 has been released (click this link to download, or to see recent changes). It is a release candidate for fetchmail 6.5 and also the basis for translations, and we already have seven up-to-date message translations. Several consistency fixes for documentation and SSL error checking and portability to OpenBSD have been made. It supports being built by meson 1.3.0 or newer, and mentions that POP3 LAST errors aren't a bug. It can also be built with wolfSSL 5.7.2 or newer. OpenSSL versions before 3.0.9 are no longer supported.

HISTORIC: FETCHMAIL 6.4.39 RELEASE

As of 2024-09-24, fetchmail 6.4 releases are no longer supported. Use fetchmail 6.5.

On 2024-07-20, fetchmail 6.4.39 has been released. It fixes two bugs, one in the RFC-2047 MIME header encoder for localized locally-originating warning messages.

OpenSSL 3.0.9, 3.1.4, 3.2.0 and wolfSSL 5.6.2 (or newer on the respective compatible branches) remain supported.

6.4.38 updated translations, and tightened OpenSSL/wolfSSL version requirements in order to track their security fixes and deprecations.

6.4.37 updated translations.

6.4.36 updated translations.

6.4.35 updated translations and bumped SSL/TLS library version requirements.

6.4.34 fixed a critical softbounce bug (courtesy of Horváth Zsolt) and updates translations.

6.4.33 updated translations.

6.4.32 updated translations and finds both rst2html5 with and without .py suffix when rebuilding the distribution.

6.4.31 updated the configure script for --with-ssl properly identifying the right OpenSSL on a system with multiple OpenSSL versions installed, and updates the manual page and its HTML conversion process, and adds some error checking to the .netrc parser.

6.4.30 updated the Romanian translation (courtesy of Remus-Gabriel Chelu).

6.4.29 updated the Vietnamese translation (courtesy of Trần Ngọc Quân).

6.4.28 updated the Spanish translation (courtesy of Cristian Othón Martínez Vera) and added a fix to the manual page (courtesy of Jeremy Petch).

6.4.26 added a wolfSSL compatibility workaround and updated the Serbian translation (courtesy of Miroslav Nikolić).

6.4.25 (released 2021-12-10) updated translations and the manual page and several other documentation files, adds preliminary wolfSSL 5.0 support on systems that provide a C99 compiler, fixed up a specific fix for a compatibility issue with the end-of-life OpenSSL 1.0.2 around the expiry of the DST Root CA X3 certificate which impairs connectivity to Let's-Encrypt-certified sites. Supported OpenSSL versions 1.1.1 and newer are unaffected.

Note that you should use a supported OpenSSL version, currently 1.1.1 or 3.0. wolfSSL 5.0 support is currently considered experimental.

Also note that OpenSSL's licensing changed between 1.1.1 and 3.0.0, the latter now uses the Apache License 2.0. See the file COPYING for details.

NEWS: SOURCEFORGE Open Source Excellence award received

On 2024-05-14, SOURCEFORGE has recognized fetchmail with the Open Source Excellence award for reaching 100,000 downloads from their site. The SOURCEFORGE project page now displays a relevant badge.

Note that this neither counts downloads from the prior BerliOS hosting, personal homepages of the maintainer, nor installations via redistributions, mirror sites, binary packages.

SECURITY ALERTS

These have been moved to a separate page (click here for security information) to unclutter the front page.

Please update to the newest fetchmail version.

What fetchmail does:

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 protection against password-sniffing 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 open-source and free software.

Where to find out more about fetchmail:

See the Fetchmail Feature List for more about what fetchmail does.

See the on-line manual page for basics.

See the HTML Fetchmail FAQ for troubleshooting help.

See the Fetchmail Design Notes for discussion of some of the design choices in fetchmail.

See the project's To-Do list for indications of known problems and requested features.

The developers use Git for revision control. To browse the repository or to get the latest development version, find the instructions at https://gitlab.com/fetchmail/fetchmail. The fetchmail FAQ in section G2 lists the widely-known and active branches.

See the project page for more, including downloads.

Getting help with fetchmail:

Before submitting a question anywhere, please read the FAQ (especially item G3 on how to report problems). We tend to get the same three newbie questions over and over again. The FAQ covers them like a blanket.

There is a fetchmail-users list for help and other user discussion of fetchmail. It's a MailMan list, which you can sign up for at fetchmail-users@lists.sourceforge.net.
There is also a fetchmail-devel list for people who want to discuss fixes and improvements in fetchmail and help co-develop it. That one is at fetchmail-devel@lists.sourceforge.net.
Finally, there is a low-traffic announcements-only list, fetchmail-announce@lists.sourceforge.net.

Maintainer History

Fetchmail originated as a program called popclient, written by Carl Harris. In 1996, Eric S. Raymond took over; he soon renamed the program to fetchmail after adding IMAP support.

In 2004 a new team took over, led by Rob Funk, Graham Wilson, and Matthias Andree. Since then, Graham Wilson has retreated, and Sunil Shetye has contributed several important pieces of code.

You can help improve fetchmail:

We welcome your code contributions. But even if you don't write code, you can help fetchmail improve.

If you administer a site that runs a post-office server, you may be able help improve fetchmail by lending us a test account on your site. Note that we do not need a shell account for this purpose, just a mailbox and a mail address. Nor are we interested in collecting maildrops per se -- what we're collecting is different kinds of servers.

Before each release, we run a test harness that sends date-stamped test mail to each site on our regression-test list, then tries to retrieve it. Please take a look at the list of test servers. If you can lend us an account on a kind of server that is not already on this list, please do.

Where you can use fetchmail:

The fetchmail code was developed under Linux, but has also been extensively tested under 4.4BSD, SunOS, Solaris, AIX, and NEXTSTEP. It should be readily portable to other Unix variants (it requires only POSIX plus BSD sockets, and uses GNU autoconf).

Fetchmail is supported only for Unix by its official maintainers. However, it is reported to build and run correctly under BeOS, AmigaOS, Rhapsody, and QNX as well. There is a CygWin port.

Related works

Similar software

fdm: A software package that integrates basic filtering is Nicholas Marriott's fdm.

getmail: When fetchmail's development was stalled before the latest team took over, Charles Cazabon's getmail came along as an intended replacement. It still doesn't do everything that fetchmail does, and often suffers from Python library shortcomings, for instance when it comes to SSL, but it's close enough to give us a bit of competition.
There is also an inofficial unsanctioned fork called getmail6 with adaptations to work with Python 3.

animail: Another contender with integrated filtering was, but is currently unmaintained, Juanjo Álvarez Martínez's Animail.

Complementary and extension software

GetLive, a successor to the discontinued Gotmail. (Gotmail was a script to fetch mail from Hotmail, written by Peter Hawkins, which used to live at the now defunct http://linux.cudeso.be/linuxdoc/gotmail.php)

There's a program called mailfilter which can be used to do spam filtering, that works particularly well called from fetchmail's preconnect directive.