]> Pileus Git - ~andy/fetchmail/blob - fetchmail-features.html
First round ofmlong-delayed bug fixes.
[~andy/fetchmail] / fetchmail-features.html
1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
3     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4 <html xmlns="http://www.w3.org/1999/xhtml">
5 <head>
6 <title>Fetchmail Feature List</title>
7 <link rev="made" href="mailto:esr@snark.thyrsus.com" />
8 <meta name="description" content="The fetchmail brag sheet." />
9 <meta name="keywords" content="fetchmail, POP, POP3, IMAP, IMAP2bis, IMAP4" />
10 <style type="text/css">
11 /*<![CDATA[*/
12  h1.c1 {text-align: center}
13 /*]]>*/
14 </style>
15 </head>
16 <body>
17 <table width="100%" cellpadding="0" summary="Canned page header">
18 <tr>
19 <td width="30%">Back to <a href="index.html">Fetchmail Home Page</a></td>
20 <td width="30%" align="center">To <a href="/~esr/sitemap.html">Site Map</a></td>
21 <td width="30%" align="right">$Date: 2003/07/17 00:55:17 $</td>
22 </tr>
23 </table>
24
25 <hr />
26 <h1 class="c1">Fetchmail Feature List</h1>
27
28 <h2>Since 5.0:</h2>
29
30 <ul>
31 <li>STARTTLS is supported in both POP and IMAP. 
32
33 <li>ESMTP AUTH (RFC 2554) is supported.</li>
34
35 <li>Has the capability of adding trace information to the Received
36 header to faciliate mail filtering by mailserver and remote
37 account.</li>
38
39 <li>Fetchmail now has options to handle SSL certificate
40 validation.</li>
41
42 <li>Fetchmail can be told to fall back to delivering via local
43 sendmail if it can't open port 25.</li>
44
45 <li>Support for AUTH=CRAM-MD5 under POP3, a la RFC2195.</li>
46
47 <li>Support for ODMR (On-Demand Mail Relay), RFC 2645.</li>
48
49 <li>It's now easy to deliver mail to a local LMTP socket.</li>
50
51 <li>The interface option now checks both local and remote interface
52 IPs.</li>
53
54 <li>The plugin facility has been enhanced; %h and %p options are
55 now available to pass in the hostname and service port number.</li>
56
57 <li>Added a dropdelivered option to discard Delivered-To headers.
58 This addresses a problem with using fetchmail and postfix as a
59 relay inside a domain; when postfix sees incoming messages with
60 delivered-to headers looking exactly the same as the ones it adds
61 himself, it bounces the message.</li>
62
63 <li>Added --smtpname to set username and domain portion of SMTP
64 "RCPT TO" command. &lt;fetchmail@mail.julianhaight.com&gt;.</li>
65
66 <li>Added "from" server's IP address to inserted Received line
67 &lt;fetchmail@mail.julianhaight.com&lt;.</li>
68
69 <li>Fetchmail now runs on BeOS, thanks to David Reid
70 &lt;david@jetnet.co.uk&gt;.</li>
71
72 <li>In IMAP, unseen-message counting and indexing is now done by
73 SEARCH UNSEEN at the beginning of each poll or re-poll (rather than
74 with the UNSEEN and RECENT responses and FLAGS queries on
75 individual messages). This significantly cuts down on traffic to
76 and from the server, and gives more reliable results.</li>
77
78 <li>The aka option now matches hostname suffixes, so (for example)
79 saying `aka netaxs.com' will match not just netaxs.com but also
80 (say) pop3.netaxs.com and mail.netaxs.com.</li>
81
82 <li>Fetchmail can optionally use the RFC 2177 IDLE extension on an
83 IMAP server that supports it.</li>
84
85 <li>Fetchmail now recognizes the RFC 2449 extended responses
86 [IN-USE] and [LOGIN-DELAY].</li>
87
88 <li>Fetchmail running in daemon mode now restarts itself quietly
89 when the rc file is touched.</li>
90
91 <li>Following recent court decisions and changes in U.S. federal
92 regulatory policy, hooks for Secure Sockets Layer (SSL) are now
93 part of the main fetchmail distribution. The distribution still
94 contains no actual cryptographic code.</li>
95
96 <li>NTLM support under IMAP, so fetchmail can query Microsoft
97 Exchange servers.</li>
98
99 <li>Expunge option can now be used to break POP3 retrieval into
100 subsessions.</li>
101
102 <li>Support for AUTH=CRAM-MD5 under IMAP, a la RFC2195.</li>
103 </ul>
104
105 <h2>Since 4.0:</h2>
106
107 <ul>
108 <li>The interface and monitor options now work with freeBSD.</li>
109
110 <li>Fetchmail now sends RFC1894-conformant bouncemail on SMTP and
111 LMTP errors.</li>
112
113 <li>Full support for LMTP according to RFC2033.</li>
114
115 <li>True multi-language support using GNU gettext.</li>
116
117 <li>Support for use of HESIOD with Kerberos.</li>
118
119 <li>The --bsmtp option supports recording fetched mail as a BSMTP
120 batch.</li>
121
122 <li>The --limit option can now be used in daemon mode, with
123 oversized-message notifications being mailed to the calling
124 user.</li>
125
126 <li>Configurable support for the <a
127 href="http://www.demon.net/info/helpdesk/demon_products/mail/sdps-tech.shtml">
128 SDPS extensions</a> in <a
129 href="http://www.demon.net/">www.demon.net</a>'s POP3 service.</li>
130
131 <li>There is now an interactive GUI fetchmail configurator,
132 fetchmailconf.</li>
133
134 <li>Code is 64-bit clean and Y2K-safe.</li>
135
136 <li>Automatically decodes armored 7-bit MIME into 8 bits (this can
137 be suppressed).</li>
138
139 <li>You can specify which SMTP error is recognized as a spam
140 block.</li>
141
142 <li>Support for Kerberos V authentication.</li>
143
144 <li>Support for IMAP-OTP authentication using Craig Metz's patches
145 for UW IMAP.</li>
146
147 <li>Support for IPv6 (using glibc or Craig Metz's inet6-apps
148 library).</li>
149
150 <li>Support for IPSEC (using Craig Metz's inet6-apps library).</li>
151
152 <li>Support for IMAP with RFC1731-conformant GSSAPI
153 authentication.</li>
154
155 <li>Fixed and verified support for Cyrus IMAP server, M$ Exchange,
156 and Post Office/NT.</li>
157
158 <li>Support for responding with a one-time password when a POP3
159 server issues an RFC1938-conforming OTP challenge.</li>
160
161 <li>Support for Compuserve's RPA authentication protocol for POP3
162 (not compiled in by default, but configurable).</li>
163 </ul>
164
165 <h2>Since 3.0:</h2>
166
167 <ul>
168 <li>Support for IMAP RFC 1731 authentication with Kerberos v4.</li>
169
170 <li>Support for multiple-folder retrieval in a single session under
171 IMAP.</li>
172
173 <li>Following SMTP 571 response to a From line, fetchmail no longer
174 downloads the bodies of spam messages.</li>
175
176 <li>Support for a `hunt list' of SMTP hosts.</li>
177
178 <li>Support for ESMTP 8BITMIME and SIZE options.</li>
179
180 <li>Support for ESMTP ETRN command.</li>
181
182 <li>The stripcr &amp; forcecr options to explicitly control
183 carriage-return stripping and LF-&gt;CRLF mapping before mail
184 forwarding.</li>
185 </ul>
186
187 <h2>Since 2.0:</h2>
188
189 <ul>
190 <li>Support for secure use with ssh.</li>
191
192 <li>Mailserver passwords can be parsed out of your .netrc
193 file.</li>
194
195 <li>When forwarding mail via SMTP, fetchmail respects the 571 "spam
196 filter" response and discards any mail that triggers it.</li>
197
198 <li>Transaction and error logging may optionally be done via
199 syslog.</li>
200
201 <li>(Linux only) Security option to permit fetchmail to poll a host
202 only when a point-to-point link to a particular IP address is
203 up.</li>
204
205 <li>RPOP support (restored; had been removed in 1.8).</li>
206 </ul>
207
208 <h2>2.0 and earlier versions:</h2>
209
210 <ul>
211 <li>Support POP2, APOP, RPOP, IMAP2, IMAP2bis, IMAP3, IMAP4,
212 IMAP4rev1. .</li>
213
214 <li>Support for Kerberos V4 user authentication (either MIT or
215 Cygnus).</li>
216
217 <li>Host is auto-probed for a working server if no protocol is
218 specified for the connection. Thus you don't need to know what
219 servers are running on your mail host in advance; the verbose
220 option will tell you which one succeeds.</li>
221
222 <li>Delivery via SMTP to the client machine's port 25. This means
223 the retrieved mail automatically goes to the system default MDA as
224 if it were normal sender-initiated SMTP mail.</li>
225
226 <li>Configurable timeout to detect if server connection is
227 dropped.</li>
228
229 <li>Support for retrieving and forwarding from multi-drop mailboxes
230 that is guaranteed not to cause mail loops.</li>
231
232 <li>Large user community -- fetchmail has a large user base (the
233 author's beta list includes well over two hundred people). This
234 means feedback is rapid, bugs get found and fixed rapidly.</li>
235
236 <li>Carefully written, comprehensive and up-to-date man page
237 describing not only modes of operation but also how to diagnose the
238 most common kinds of problems and what to do about deficient
239 servers.</li>
240
241 <li>Rugged, simple, and well-tested code -- the author relies on it
242 every day and it has never lost mail, not even in experimental
243 versions. (In the project's entire history there has only been one
244 recorded instance of lost mail, and that was due to a quirk in some
245 Microsoft code.)</li>
246
247 <li>Strict conformance to relevant RFCs and good debugging options.
248 You could use fetchmail to test and debug server
249 implementatations.</li>
250
251 <li>For anybody who cares, fetchmail is Y2K safe.</li>
252 </ul>
253
254 <h2>Features in common with other remote-mail retrieval
255 programs:</h2>
256
257 The other programs I have checked include fetchpop1.9,
258 PopTart-0.9.3, get-mail, gwpop, pimp-1.0, pop-perl5-1.2, popc,
259 popmail-1.6 and upop. 
260
261 <ul>
262 <li>Support for POP3.</li>
263
264 <li>Easy control via command line or free-format run control
265 file.</li>
266
267 <li>Daemon mode -- fetchmail can be run in background to poll one
268 or more hosts at a specified interval.</li>
269
270 <li>From:, To:, Cc:, and Reply-To: headers are rewritten so that
271 usernames relative to the fetchmail host become fully-qualified
272 Internet addresses. This enables replies to work correctly. (Would
273 be unique to fetchmail if I hadn't added it to fetchpop.)</li>
274
275 <li>Message and header processing are 8-bit clean.</li>
276 </ul>
277
278 <hr />
279 <table width="100%" cellpadding="0" summary="Canned page footer">
280 <tr>
281 <td width="30%">Back to <a href="index.html">Fetchmail Home Page</a></td>
282 <td width="30%" align="center">To <a href="/~esr/sitemap.html">Site Map</a></td>
283 <td width="30%" align="right">$Date: 2003/07/17 00:55:17 $</td>
284 </tr>
285 </table>
286
287 <br clear="left" />
288 <address>Eric S. Raymond <a href="mailto:esr@thyrsus.com">&lt;esr@snark.thyrsus.com&gt;</a></address>
289 </body>
290 </html>
291