aboutsummaryrefslogtreecommitdiffstats
path: root/INSTALL
blob: c332fc11fe4bb02a4644467ce248453c2459adde (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
		INSTALL Instructions for fetchmail

If you have installed binaries (e.g. from an RPM) you can skip to step 5.

If you are a Linux system packager, be aware that the build process generates
an RPM spec file at fetchmail.spec, and you can "make rpm" to generate an
RPM and SRPM.

The Frequently Asked Questions list, included as the file FAQ in this
distributions, answers the most common questions about configuring and 
running fetchmail.

1. USEFUL THINGS TO INSTALL FIRST

If you want support for RFC1938-compliant one-time passwords, you'll
need to install Craig Metz's OPIE libraries first and *make sure
they're on the normal library path* where configure will find them.  Then
configure with --enable-OPIE, and fetchmail build process will detect
them and compile appropriately.

Note: there is no point in doing this unless your server is
OTP-enabled.  To test this, telnet to the server port and give it
a valid USER id.  If the OK response includes the string "otp-",
you should install OPIE.  You need version 2.32 or better.

The OPIE library sources are available at http://www.inner.net/pub/opie/
You can also find OPIE and IPV6-capable servers there.

Building in IPv6 support *requires* glibc 2.1.1 (or newer) or 
that Craig Metz's inet6-apps kit be installed.
The IPsec patches *requires* inet6-apps kit.;
the IPsec patches require that the kit be built with network
security API support enabled. The kit can be gotten from
ftp.ipv6.inner.net:/pub/ipv6 (via IPv6) or ftp.inner.net
/pub/ipv6 (via IPv4).

Fetchmail has had serious grief from buggy versions of the gettext suite.
If your version is older than 1.10.40, you should use the configure
option `--with-included-gettext'.

2. CONFIGURE

Installing fetchmail is easy.  From within this directory, type:

	./configure

(If your getext is old, you need to include the --with-included-gettext
option, which I recommend anyway). 

The autoconfiguration script will spend a bit of time figuring out the
specifics of your system.  If you want to specify a particular compiler
(e.g. you have gcc but want to compile with cc), set the environment 
variable CC before you run configure.  

The configure script accepts certain standard configuration options.
These include --prefix, --exec-prefix, --bindir, --infodir, --mandir,
and --srcdir.  Do `configure --help' for more.

POP2 support is no longer compiled in by default, as POP2 is way obsolete
and there don't seem to be any live servers for it anymore.  You can
configure it back in if you want with `configure --enable-POP2', but
leaving it out cuts the executable's size slightly.

Support for CompuServe's RPA authentication method (rather similar to
APOP) is available but also not included in the standard build.  You
can compile it in with `configure --enable-RPA'.

Support for Microsoft's NTLM authentication method is also available
but also not included in the standard build.  You can compile it in
with `configure --enable-NTLM'.

Support for authentication using RFC1731 GSSAPI is available
but also not included by default.  You can compile it in with
`configure --with-gssapi', which looks for GSSAPI support in standard
locations (/usr, /usr/local).  If you set --with-GSSAPI=DIR
you can direct the build to look for GSSAPI support under DIR.

Hooks for the OpenSSL library (see http://www.openssl.org/) are
included in the distribution.  To enable these, configure with
--with-ssl; they are not included in the standard build.

If you want to build for debugging, 

	CFLAGS=-g LDFLAGS=" " ./configure

will do that.

To specify a fallback MUA in case local port 25 doesn't respond, do one of:

	configure --enable-fallback=procmail
	configure --enable-fallback=sendmail

A disadvantage of using procmail is that local alias expansion
according to /etc/aliases won't get done if we fall back to it.

Advanced configuration:

Specifying --with-kerberos=DIR or --with-kerberos5=DIR will tell the
fetchmail build process to look in DIR for Kerberos support.
Configure normally looks in /usr/kerberos and /usr/athena; if you
specify this option with an argument it will look in DIR first.

Unfortunately, there doesn't seem to be good standardization of where
Kerberos lives.  If your configuration doesn't match one of the four
that fetchmail's configure.in knows about, you may find you have to
hand-hack the Makefile a bit.

You may also want to hand-hack the Makefile if you're writing a custom
or bleeding-edge resolver library.  In that case you will probably
want to add -lresolv or whatever to the definition of LOADLIBS.

It is also possible to explicitly condition out the support for
POP3, IMAP, and ETRN (with configure arguments of --disable-POP3,
--disable-IMAP, and --disable-ETRN respectively).  However, none
of these wins back more that 3 to 4K on an Intel box.

If you're running QNX, edit the distributed Makefile directly.  The
QNX values for various macros are there but commented out; all you
have to do is uncomment them.

3. MAKE 

You may find you need flex at version 2.5.3 or greater to build
fetchmail.  The stock lex distributed with some versions of Linux does
not work -- it yields a parser which core-dumps on syntax errors.  You
can get flex at the GNU ftp site, ftp://prep.ai.mit.edu/pub/gnu.

Run

	make

This should compile fetchmail for your system.  If fetchmail fails to build
properly, see the FAQ section B on build-time problems.  Note: parallelized
make (e.g. make -j 4) fails due to some weirdness in the yacc productions.

4. INSTALL

Lastly, become root and run

	make install

This will install fetchmail.  By default, fetchmail will be installed
in /usr/local/bin, with the man page in /usr/local/man/man1.  You can
use the configure options --bindir and --mandir to change these.

NOTE: If you are using an MTA other than sendmail (such as qmail,
exim, or smail), see the FAQ (section T) for discussion of any special
configuration steps that may be necessary.

5. SET UP A RUN CONTROL FILE

See the man page for a description of how to configure your individual
preferences.

If you're upgrading from popclient, see question F4 in the FAQ file.

6. TEST

I strongly recommend that your first fetchmail run use the -v, -a and -k
options, in case there is something not quite right with your server,
your local delivery configuration or your port 25 listener.  Also,
beware of aliases that direct your local mail back to the server host!

This software is known to work with the qpop/popper series of freeware
POP3 servers; also with the IMAP2bis and IMAP4 servers that are
distributed with Pine from the University of Washington; also with the
Cyrus IMAP server from CMU.  This covers all the servers commonly
hosted on Linux and *BSD systems.  It also works with the IMAP service
of Microsoft Exchange, despite the fact that Microsoft Exchange is
extremely broken (returns incorrect message lengths in LIST
responses).  

See the FAQ, section S, for detailed advice on running with various
servers.

7. REPORTING BUGS

You should read the FAQ file question G3 before reporting a bug.

8. USE IT

Once you've verified your configuration, you can start fetchmail to
run in background and forget about it.  Enjoy!
lt;hr> <a href="index.html" title="Main">Main</a><br> <a href="fetchmail-features.html">Features</a><br> <a href="fetchmail-man.html">Manual</a><br> <a href="fetchmail-FAQ.html" title="Fetchmail FAQ">FAQ</a><br> <a href="fetchmail-FAQ.pdf" title="Fetchmail FAQ as PDF">FAQ (PDF)</a><br> <a href="design-notes.html">Design Notes</a><br> <a href="http://developer.berlios.de/project/showfiles.php?group_id=1824">Download</a><br> <a href="security.html">Security/Errata</a><br> <a href="http://gitorious.org/fetchmail/fetchmail/">Development</a><br> <a href="http://developer.berlios.de/projects/fetchmail/">Project Page</a><br> <hr> </div> <div id="Content"> <img src="bighand.png" width="100" height="71" alt="logo: a hand presenting an envelope" align="right"> <h1>Fetchmail</h1> <div style="background-color:#c0ffc0;color:#000000;"> <h1>NEWS: FETCHMAIL 6.3.19 RELEASE</h1> <p>On 2010-10-16, <a href="fetchmail-EN-2010-03.txt">an erratum notice was issued</a> to document important fixes made in the 6.3.18 release. Distributors are advised to upgrade their packages to 6.3.19 (which fixes a few more bugs than 6.3.18 did).</p> <p>On 2010-12-10, <a href="http://developer.berlios.de/project/showfiles.php?group_id=1824">fetchmail-6.3.19 has been released (this is the download link),</a> fixing a Yahoo incompatibility (that was fetchmail's fault), improves configuration for multidrop settings, restores --antispam function on the command line, allows forcing SSL/TLS/STARTTLS negotiation, and reduces GSSAPI verbose/debug chatter in syslog. <br>It is a recommended update for all users and distributors. <a href="http://developer.berlios.de/project/shownotes.php?group_id=1824&amp;release_id=18137">Click here to see the change details.</a> </p> <h1>UTF7 in mailbox names (developer document)</h1> <p>There is a <a href="Mailbox-Names-UTF7.html">new document about mailbox name encoding in IMAP,</a> an invited contribution by Mark Crispin. It applies to all IMAP clients and servers and is not limited to fetchmail, and arose after a discussion on the getmail mailing list. Note that as of 2010-05-25, neither fetchmail nor getmail currently supports this directly; for the nonce, you need to manually encode the mailbox name in UTF-7 for both applications.</p> <h1>SSL issues after upgrade to OpenSSL 1.0.0?</h1> <p>If your fetchmail upgrade entails an upgrade of the OpenSSL library to 1.0.0, remember to re-run <kbd>c_rehash /path/to/certs</kbd>, where the last part is whatever argument you give to fetchmail's <code>sslcertpath</code> option. Details: please <a href="fetchmail-FAQ.html#R14">see fetchmail's FAQ item R14.</a>.</p> </div> <div style="background-color:#ffe0c0;color:#000000;font-size:85%"> <h1>SECURITY ALERTS</h1> <p>These have been moved <a href="security.html">to a separate page (click here for security information)</a> to unclutter the front page. <p style="font-size:100%"><strong>Please <a href="http://developer.berlios.de/project/showfiles.php?group_id=1824">update to the newest fetchmail version</a>.</strong></p> </div> <h1>What fetchmail does:</h1> <p>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 <a href="http://www.imap.org">IMAP</a>, ETRN, and ODMR. It can even support IPv6 and IPSEC.</p> <p>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 <a href="http://www.mutt.org/">mutt</a>, 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.</p> <p>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 <a href="http://www.openssh.com/">ssh, the Secure Shell</a>.</p> <p>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.)</p> <p>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.</p> <p>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.</p> <p>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.</p> <p>Fetchmail is <a href="http://www.opensource.org">open-source</a> and <a href="http://www.gnu.org/philosophy/free-sw.html">free software</a>.</p> <h1>Where to find out more about fetchmail:</h1> <p>See the <a href="fetchmail-features.html">Fetchmail Feature List</a> for more about what fetchmail does.</p> <p>See the on-line <a href="fetchmail-man.html">manual page</a> for basics.</p> <p>See the <a href="fetchmail-FAQ.html">HTML Fetchmail FAQ</a> for troubleshooting help.</p> <p>See the <a href="design-notes.html">Fetchmail Design Notes</a> for discussion of some of the design choices in fetchmail.</p> <p>See the project's <a href="todo.html">To-Do list</a> for indications of known problems and requested features.</p> <p>The developers use <a href="http://git-scm.com/">Git</a> for revision control. To browse the repository or to get the latest development version, find the instructions at <a href="http://gitorious.org/fetchmail/fetchmail">http://gitorious.org/fetchmail/fetchmail</a>.</p> <p>See the <a href="http://developer.berlios.de/projects/fetchmail/">project page</a> for more, including <a href="http://developer.berlios.de/project/showfiles.php?group_id=1824">downloads</a>.</p> <h1>Getting help with fetchmail:</h1> <p>Before submitting a question anywhere, <strong>please read the <a href="fetchmail-FAQ.html">FAQ</a></strong> (especially item <a href="fetchmail-FAQ.html#G3">G3</a> 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.</p> <p>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 <a href="http://lists.berlios.de/mailman/listinfo/fetchmail-users"> fetchmail-users@lists.berlios.de</a>. <br>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 <a href="http://lists.berlios.de/mailman/listinfo/fetchmail-devel"> fetchmail-devel@lists.berlios.de</a>. <br>Finally, there is an announcements-only list, <a href="http://lists.berlios.de/mailman/listinfo/fetchmail-announce"> fetchmail-announce@lists.berlios.de</a>.</p> <h1>Maintainer History</h1> <p>Fetchmail originated as a program called <i>popclient</i>, written by Carl Harris. In 1996, <a href="http://www.catb.org/~esr/">Eric S. Raymond</a> took over; he soon renamed the program to fetchmail after adding IMAP support.</p> <p>In 2004 a new team took over, led by <a href="http://developer.berlios.de/users/rfunk/">Rob Funk</a>, <a href="http://developer.berlios.de/users/bob/">Graham Wilson</a>, and <a href="http://developer.berlios.de/users/m-a/">Matthias Andree</a>. Since then, Graham Wilson has retreated, and <a href="http://developer.berlios.de/users/shetye/">Sunil Shetye</a> has contributed several important pieces of code.</p> <h1>You can help improve fetchmail:</h1> <p>We welcome your code contributions. But even if you don't write code, you can help fetchmail improve.</p> <p><strong>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 <em>kinds of servers</em>.</strong></p> <p>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 <a href="testservers.html"> list of test servers</a>. If you can lend us an account on a kind of server that is <em>not</em> already on this list, please do.</p> <h1>Where you can use fetchmail:</h1> <p>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).</p> <p>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.</p> <h1>Related works</h1> <h2>Similar software</h2> <p><strong>fdm:</strong> A recently appeared software package that integrates basic filtering is <a href="http://fdm.sourceforge.net/">Nicholas Marriott's fdm</a>. <p><strong>getmail:</strong> When fetchmail's development was stalled before the latest team took over, <a href="http://pyropus.ca/software/getmail/">Charles Cazabon's getmail</a> 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.</p> <p><strong>animail:</strong> Another contender with integrated filtering is <a href="http://juanjoalvarez.net/animaileng">Juanjo �lvarez Mart�nez's Animail</a>.</p> <h2>Complementary and extension software</h2> <p>Jochen Hayek is developing a set of <a href="http://www.b.shuttle.de/hayek/JHimap_utils/"> IMAP tools in Python</a> that read your .fetchmailrc file and are designed to work with fetchmail. Jochen's tools can report selected header lines, or move incoming messages to named mailboxes based on the contents of headers.</p> <!-- no longer true <p>Donncha O Caoihm has written a Perl script called <a href="http://blogs.linux.ie/xeer/install-sendmail/">install-sendmail</a> that assists you in installing sendmail and fetchmail together.</p> --> <p>Peter Hawkins has written a script called <a href="http://linux.cudeso.be/linuxdoc/gotmail.php">gotmail</a> that can retrieve Hotmail. Another script, <a href="http://yosucker.sourceforge.net">yosucker</a>, can retrieve Yahoo webmail.</p> <p>There's a program called <a href="http://mailfilter.sourceforge.net/">mailfilter</a> which can be used to do spam filtering, that works particularly well called from fetchmail's <code>preconnect</code> directive.</p> <p>A hacker identifying himself simply as 'Steines' has written a filter which rewrites the to-line with a line which only includes receipients for a given domain and renames the old to-line. It also rewrites the domain-part of addresses if the offical domain is different from the local domain. You can find it <a href="http://www.steines.com/mailf/">here</a>.</p> </div> <p align="right"> <a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-html401-blue" alt="Valid HTML 4.01 Transitional" height="31" width="88"></a> <a href="http://jigsaw.w3.org/css-validator/"> <img style="border:0;width:88px;height:31px" src="http://jigsaw.w3.org/css-validator/images/vcss-blue" alt="Valid CSS"> </a> <a href="http://developer.berlios.de"> <img src="http://developer.berlios.de/bslogo.php?group_id=1824&amp;type=1" width="124" height="32" border="0" alt="BerliOS Logo"></a> </p> </body> </html>