You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Matthias Andree 0dd0a8e86c NEWS: move KNOWN BUGS... section up. 3 weeks ago
KAME Merge portability patch from Peter O'Gorman, fetchmail-devel 2007-10-31. 12 years ago
archived-messages More berlios -> sourceforge changes. 6 years ago
beos Add files from ESR's dev directory that weren't under version control 16 years ago
contrib contrib/fetchmail-mode.el: run fetchmail-mode-hook after other settings 1 year ago
dist-tools makerelease.pl: strip LF from $ncpu. 3 weeks ago
images/icons Copy icon here for a more stable build. 10 years ago
libesmtp Remove last traces of gethostbyname(). 3 years ago
m4-local Remove last traces of gethostbyname(). 3 years ago
po Prepare 6.4.12. 3 weeks ago
rh-config Add files from ESR's dev directory that weren't under version control 16 years ago
trio Drop outdated documentation. Can be regenerated with Doxygen. 10 years ago
ucs Align with legacy_6x. 1 year ago
vcs-tools Add description. 10 years ago
website Prepare 6.4.12. 3 weeks ago
.gitignore Align with legacy_6x. 1 year ago
.mailmap Add .mailmap file. 9 years ago
COPYING Do not reference m4/gethostbyname_r.m4, we don't ship it any more. 1 year ago
Doxyfile Minor Doxygen updates/fixes. 1 year ago
IDEAS.txt Add ideas. 13 years ago
INSTALL Update documentation. 1 year ago
Mailbox-Names-UTF7.txt S2.3: Note that the shift changes from +/- to &/- in MUTF-7. 10 years ago
Makefile.am Makefile.am, dist-tools: check for new translations in dist-hook 1 month ago
NEWS NEWS: move KNOWN BUGS... section up. 3 weeks ago
OLDNEWS Add a THANKS file, split older news out to OLDNEWS file. 15 years ago
README README: http:// -> https:// 3 months ago
README.NTLM Add files from ESR's dev directory that weren't under version control 16 years ago
README.SSL "Require" OpenSSL 1.1.1 and tolerate/warn 1.0.2. 6 months ago
README.SSL-SERVER Documentation updates. 1 year ago
README.git Document names of branches. 3 months ago
README.maintainer Add maintainer notes. 11 years ago
README.packaging "Require" OpenSSL 1.1.1 and tolerate/warn 1.0.2. 6 months ago
RELEASE-INSTRUCTIONS Update documentation. 1 year ago
RELEASEVERSIONS Update documentation. 1 year ago
TODO.txt Align with legacy_6x. 1 year ago
autogen.sh Remove debian/ and other cruft. 10 years ago
base64.c Remove register qualifier. 1 year ago
bighand.png Add files from ESR's dev directory that weren't under version control 16 years ago
checkalias.c Align with legacy_6x. 1 year ago
conf.c --configdump: fix quoting RHS of localnames 4 years ago
configure.ac Prepare 6.4.12. 3 weeks ago
cram.c Align with legacy_6x. 1 year ago
daemon.c Align with legacy_6x. 1 year ago
design-notes.html Update documentation. 1 year ago
driver.c fetchmail no longer reports System error during SSL_connect(): Success. 1 year ago
env.c Release 6.4.5-rc1. 5 months ago
esrs-design-notes.html Enable Date replacement. 15 years ago
etrn.c Enforce minimum recommended SMTP timeouts, apply to EHLO/LHLO as well. 11 years ago
fetchmail-EN-2010-03.txt Convert most references from berlios.de to sourceforge.net. 6 years ago
fetchmail-FAQ.book Use --no-strict so PDF build doesn't fail because of unresolvable external links. 13 years ago
fetchmail-FAQ.html Document names of branches. 3 months ago
fetchmail-SA-2005-01.txt Convert most references from berlios.de to sourceforge.net. 6 years ago
fetchmail-SA-2005-02.txt Convert most references from berlios.de to sourceforge.net. 6 years ago
fetchmail-SA-2005-03.txt Convert most references from berlios.de to sourceforge.net. 6 years ago
fetchmail-SA-2006-01.txt Convert most references from berlios.de to sourceforge.net. 6 years ago
fetchmail-SA-2006-02.txt Convert most references from berlios.de to sourceforge.net. 6 years ago
fetchmail-SA-2006-03.txt Convert most references from berlios.de to sourceforge.net. 6 years ago
fetchmail-SA-2007-01.txt Convert most references from berlios.de to sourceforge.net. 6 years ago
fetchmail-SA-2007-02.txt Convert most references from berlios.de to sourceforge.net. 6 years ago
fetchmail-SA-2008-01.txt Convert most references from berlios.de to sourceforge.net. 6 years ago
fetchmail-SA-2009-01.txt Convert most references from berlios.de to sourceforge.net. 6 years ago
fetchmail-SA-2010-01.txt Convert most references from berlios.de to sourceforge.net. 6 years ago
fetchmail-SA-2010-02.txt Convert most references from berlios.de to sourceforge.net. 6 years ago
fetchmail-SA-2011-01.txt Convert most references from berlios.de to sourceforge.net. 6 years ago
fetchmail-SA-2012-01.txt Convert most references from berlios.de to sourceforge.net. 6 years ago
fetchmail-SA-2012-02.txt Convert most references from berlios.de to sourceforge.net. 6 years ago
fetchmail-features.html Revise a bunch of links. 14 years ago
fetchmail.c Make fetchmail -V print SSL/TLS library warnings... 6 months ago
fetchmail.h Add fm_realpath(): a malloc()ating realpath() wrapper. 5 months ago
fetchmail.man Prepare 6.4.12. 3 weeks ago
fetchmail.xpm Add files from ESR's dev directory that weren't under version control 16 years ago
fetchmailconf.man Add trivial fetchmailconf.man. Reported by Miloslav Trmac. 15 years ago
fetchmailconf.py fetchmailconf.py: permit -V and -h while not under X11. 7 months ago
fm_getaddrinfo.c Wrap getaddrinfo() and block SIGALRM where needed. 14 years ago
fm_md5.h Fix compiler aliasing warning. 8 years ago
fm_realpath.c Add fm_realpath(): a malloc()ating realpath() wrapper. 5 months ago
fm_strl.h Fix prototype warnings, remove unused functions. 10 years ago
getopt.c Align with legacy_6x. 1 year ago
getopt.h C++ compatibility hack. 9 years ago
getopt1.c Some configuration cleanup. 23 years ago
getpass.c Remove register qualifier. 1 year ago
gettext.h Update to GNU gettext 0.19.8. 1 year ago
gssapi.c Align with legacy_6x. 1 year ago
history.html Enable Date replacement. 15 years ago
i18n.h Update to GNU gettext 0.19.8. 1 year ago
idle.c Align with legacy_6x. 1 year ago
idlist.c Align with legacy_6x. 1 year ago
imap.c Align with legacy_6x. 1 year ago
interface.c Fix length argument to memset(). 8 years ago
kerberos.c Replace most strncpy() by strlcpy() calls. 1 year ago
kerberos.h Drop #include <com_err.h> from Kerberos 5 header file, fixes compile error on SUSE Linux 10.0. 14 years ago
lock.c 6.4.1, regression fix for default file locations. 1 year ago
lock.h Support lockfiles in non-writable directories. 14 years ago
md5c.c Remove register qualifier. 1 year ago
md5ify.c Further type fixes. 10 years ago
memmove.c Add files from ESR's dev directory that weren't under version control 16 years ago
mx.h Properly check for h_errno declaration and include netdb.h. 10 years ago
mxget.c Fix another compiler warning if compiled without RES_SEARCH. 11 years ago
netrc.c Align with legacy_6x. 1 year ago
netrc.h Implement free_netrc(list). 14 years ago
ntlm.h Validate NTLM challenge fields. 8 years ago
ntlmsubr.c In-depth fix for to64frombits() BASE64 encoder buffer sizing. 2 years ago
odmr.c Fix a few Intel C++ remarks and warnings. 10 years ago
opie.c Align with legacy_6x. 1 year ago
options.c Align with legacy_6x. 1 year ago
pop2.c Fix typo. 14 years ago
pop3.c Align with legacy_6x. 1 year ago
rcfile_l.l Add a STRING_DEBUG facility... 6 months ago
rcfile_y.y Remove yydebug definition, to make C++ compatible. 7 months ago
report.c In-depth robustness. 1 year ago
rfc822.c Align with legacy_6x. 1 year ago
rfc822valid.c Fix ICC warning about meaningless 'const'. 10 years ago
rfc2047e.c Fix lots of warnings, most around string literals... 10 years ago
rpa.c Align with legacy_6x. 1 year ago
sample.rcfile Revise sample.rcfile documentation. 13 years ago
sdump.c Security fix for sdump() (X.509 cert display in verbose mode). 10 years ago
sdump.h Add sdump(), split xmalloc.h out of fetchmail.h 11 years ago
servport.c Wrap getaddrinfo() and block SIGALRM where needed. 14 years ago
sink.c Align with legacy_6x. 1 year ago
smb.h Further cleanups to compile with C++ compiler. 14 years ago
smbbyteorder.h Add files from ESR's dev directory that weren't under version control 16 years ago
smbdes.c Further cleanups to compile with C++ compiler. 14 years ago
smbdes.h Add files from ESR's dev directory that weren't under version control 16 years ago
smbencrypt.c Align with legacy_6x. 1 year ago
smbencrypt.h Further cleanups to compile with C++ compiler. 14 years ago
smbmd4.c Add files from ESR's dev directory that weren't under version control 16 years ago
smbmd4.h Add files from ESR's dev directory that weren't under version control 16 years ago
smbtypes.h Add smbtypes.h. 14 years ago
smbutil.c Align with legacy_6x. 1 year ago
smtp.c Replace most strncpy() by strlcpy() calls. 1 year ago
smtp.h Enforce minimum recommended SMTP timeouts, apply to EHLO/LHLO as well. 11 years ago
socket.c "Require" OpenSSL 1.1.1 and tolerate/warn 1.0.2. 6 months ago
socket.h Align with legacy_6x. 1 year ago
specgen.sh Convert most references from berlios.de to sourceforge.net. 6 years ago
starttls.c STARTTLS enforcement for sslproto != "tls1". 9 months ago
stpcpy.c Add replacement stpcpy. 16 years ago
strcasecmp.c Properly cast arguments of ctype is*()/to*() functions to unsigned char. 15 years ago
strlcat.c Align with legacy_6x. 1 year ago
strlcpy.3 Bring strl* functions into trunk. 15 years ago
strlcpy.c Align with legacy_6x. 1 year ago
strstr.c getopt_long is back for Solaris and HP-UX. 19 years ago
t.rc Add rudimentary autobuild support. 15 years ago
t.realpath Add fm_realpath(): a malloc()ating realpath() wrapper. 5 months ago
t.regression Fix trio self-test. 10 years ago
t.smoke Make t.smoke more robust. FreeBSD Bug#240914. 11 months ago
t.validate-xhtml Add --nonet to xmllint throughout. 1 year ago
t.validate-xhtml10 Add --nonet to xmllint throughout. 1 year ago
t.x509_name_match Add self-test for X.509 name matching. 10 years ago
todo.html Convert most references from berlios.de to sourceforge.net. 6 years ago
transact.c Align with legacy_6x. 1 year ago
tunable.h fetchmail workaround for a bug in Microsoft Exchange 8 years ago
uid.c uid.c: return PS_SUCCESS on successful read of the idfile. 6 months ago
uid_db.c FreeBSD cleanups to header shuffling. 1 year ago
uid_db.h FreeBSD cleanups to header shuffling. 1 year ago
unmime.c Align with legacy_6x. 1 year ago
x509_name_match.c Document source code better. 10 years ago
xmalloc.c Fix portability to C90 and C++. 3 years ago
xmalloc.h Fix portability to C90 and C++. 3 years ago

README

fetchmail README
================

Introduction
------------

Fetchmail is a free, 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 retrieves mail from remote mail
servers and forwards it to your local (client) machine's delivery system, so it
can then be be read by normal mail user agents such as mutt(1), elm(1) or
Mail(1).

Fetchmail supports all standard mail-retrieval protocols in use on the
Internet: POP3 (including some variants such as RPOP, APOP, KPOP), IMAP4rev1
(also IMAP4, IMAP2bis), POP2, IMAP4, ETRN, and ODMR. On the output side,
fetchmail supports ESMTP/SMTP, LMTP, and invocation of a local delivery agent.

Fetchmail also fully supports authentication via GSSAPI, Kerberos 4 and 5,
RFC1938 one-time passwords, Compuserve's POP3 with RPA, Microsoft's NTLM, Demon
Internet's SDPS, or CRAM-MD5 authentication a la RFC2195.

Fetchmail supports end-to-end encryption with OpenSSL, do read README.SSL for
details on fetchmail's configuration and README.SSL-SERVER for server-side
requirements. NOTE! To be compatible with earlier releases, fetchmail 6.4
default behaviour is more relaxed than dictated by recommendations - while it
does away with SSLv2, only negotiates SSLv3 if forced to, it will by default
still negotiate TLS v1.0.

Portability
-----------

The fetchmail code was developed under Linux, but has also been extensively
tested under the BSD variants, AIX, HP-UX versions 9 and 10, SunOS, Solaris,
NEXTSTEP, OSF 3.2, IRIX, and Rhapsody once upon a time.

The current maintainer does not have access to these systems, and assumes that
the system is at least Single-Unix-Specification V2 compatible, yet fetchmail
should be compilable by a C89 compiler. It currently ships with a copy of the
trio library for systems that lack snprintf(). A further requirement is that
either realpath() permits its 2nd argument to be NULL for auto-allocation,
or that otherwise PATH_MAX be defined.

Fetchmail should be able to be compiled with C89, C99, C11, C++98, C++03,
C++11, C++14 compilers, but not C++17 because the "register" keyword is
used in some parts of the code.

Future fetchmail releases will require modern language features such as
"long long" and others, so this release is the last to support C89.

Further reading
---------------

The INSTALL file describes how to configure and install fetchmail.

See the distribution files FEATURES for a full list of features, NEWS for
detailed information on recent changes, NOTES for design notes, and TODO for
a list of things that still need doing. If you want to hack on this code,
a list of known bugs and to-do items can be found in the file todo.html.

Status, source code
-------------------

The fetchmail code appears to be stable and free of bugs affecting normal
operation (that is, retrieving from POP3 or IMAP in single-drop mode and
forwarding via SMTP to a local mail transfer agent).

You can get the code from the fetchmail home page:

https://www.fetchmail.info/
https://fetchmail.sourceforge.io/

Enjoy!

-- esr, ma