<HTML>
<HEAD>
<TITLE>The Fetchmail FAQ</TITLE>
-<link rev=made href="mailto:esr@snark.thyrsus.com">
+<link rev=made href="mailto:esr@thyrsus.com">
<meta name="description" content="Frequently asked questions about fetchmail.">
<meta name="keywords" content="fetchmail, POP, POP2, POP3, IMAP, remote mail">
</HEAD>
<table width="100%" cellpadding=0><tr>
<td width="30%">Back to <a href="index.html">Fetchmail Home Page</a>
<td width="30%" align=center>To <a href="/~esr/sitemap.html">Site Map</a>
-<td width="30%" align=right>$Date: 2001/05/29 22:48:04 $
+<td width="30%" align=right>$Date: 2001/09/26 14:28:57 $
</table>
<HR>
<H1>Frequently Asked Questions About Fetchmail</H1>
<p>If you have a question or answer you think ought to be added to
this FAQ list, mail it to fetchmail's maintainer, Eric S. Raymond, at
-<A HREF="mailto:esr@thyrsus.com">esr@snark.thyrsus.com</A>.
+<A HREF="mailto:esr@thyrsus.com">esr@thyrsus.com</A>.
<h1>General questions:</h1>
<a href="#X5">X5. Using POP3, retrievals seems to be fetching too much!</a><br>
<a href="#X6">X6. My mail attachments are being dropped or mangled.</a><br>
<a href="#X7">X7. Some mail attachments are hanging fetchmail.</a><br>
+<a href="#X8">X8. A spurious ) is being appended to my messages.</a><br>
<h1>Other problems:</h1>
agents are as a rule almost equally indifferent to how mail is
delivered into your system mailbox. So any of the popular Unix mail
agents -- <a href="http://www.myxa.com/old/elm.html">elm</a>, <a
-href="http://www.washington.edu/pine/">pine</a> <a
+href="http://www.washington.edu/pine/">pine</a>, <a
href="http://www.cs.indiana.edu/docproject/mail/mh.html">mh</a>, or <a
href="http://www.mutt.org">mutt</a> -- will work fine with fetchmail.
<p>If you are fetching mail from a CompuServe POP3 account, you can use
their RPA authentication (which works much like APOP). See <a
href="#S3">S3</a> for details. If you are fetching mail from
-Microsoft Exchange, you will be able to use NTLM.
+Microsoft Exchange using IMAP, you will be able to use NTLM.
<p>Your POP3 server may have the RFC1938 OTP capability to use one-time
passwords (if it doesn't, you can get OTP patches for the 2.2 version
then you must add "-lresolv" to the LOADLIBS line in your Makefile
once you have installed the `bind' package.
+<p>If you get link errors involving <tt>dcgettext</tt>, like this:
+
+<pre>
+rcfile_y.o: In function `yyparse':
+rcfile_y.o(.text+0x3aa): undefined reference to `dcgettext__'
+rcfile_y.o(.text+0x4f2): undefined reference to `dcgettext__'
+rcfile_y.o(.text+0x5ee): undefined reference to `dcgettext__'
+rcfile_y.o: In function `yyerror':
+rcfile_y.o(.text+0xc7c): undefined reference to `dcgettext__'
+rcfile_y.o(.text+0xcc8): undefined reference to `dcgettext__'
+rcfile_y.o(.text+0xdf9): more undefined references to `dcgettext__' follow
+</pre>
+
+reconfigure with <tt>configure --with-included-gettext</tt>. This is
+due to some brain-damage in the GNU internationalization libraries.
+
<hr>
<h2><a name="F1">F1. Why does my old .fetchmailrc file no longer work?</a></h2>
+<h3>If your file predates 5.8.9</h3>
+
+<p>If you were using ETRN mode, change your <tt>smtphost</tt> option to
+a <tt>fetchdomains</tt> option.
+
<h3>If your file predates 5.8.3</h3>
<p>The `via localhost' special case for use with ssh tunnelling is gone.
<p>Older versions of Exchange are semi-usable.
-<p>Fetchmail supports the proprietary NTLM mode used with M$ Exchange
-servers. To enable this, configure fetchmail with the --enable-NTLM
-option and recompile it. Note: if you specify a user option value
-that looks like `user@domain', the part to the left of the @ will
+<p>Fetchmail using IMAP supports the proprietary NTLM mode used with
+M$ Exchange servers. To enable this, configure fetchmail with the
+--enable-NTLM option and recompile it. Specify a user option value
+that looks like `user@domain': the part to the left of the @ will
be passed as the username and the part to the right as the NTLM domain.
-<p>M$ Exchange violates the POP3 RFCs. Its LIST command does not reveal
-the real sizes of mail in the pop mailbox, but the sizes of the
-compressed versions in the exchange mail database (thanks to Arjan De
-Vet and Guido Van Rooij for alerting us to this problem).
+<p>M$ Exchange violates the POP3 and IMAP RFCs. Its LIST command does
+not reveal the real sizes of mail in the pop mailbox, but the sizes of
+the compressed versions in the exchange mail database (thanks to Arjan
+De Vet and Guido Van Rooij for alerting us to this problem).
<p>Fetchmail works with M$ Exchange, despite this brain damage. Two
features are compromised. One is that the --limit option will not
<ul>
<li>
-Try giving fetchmail a username of "/NTDomain/NTUsername/MailboxName".
-<li>
Get your administrator to configure the server so that
usernames and mailbox names are the same.
<li>
username explicitly to your mailbox name.
</ul>
-But, the best option involves a tactical nuclear weapon (an old
+<p>But, the best option involves a tactical nuclear weapon (an old
ASROC will do), pissing off a lot people who live downwind from
Redmond, and your choice of any Linux, NetBSD, FreeBSD, or
Solaris CD.
have a Received: header added when they enter the maildrop, like this:
<pre>
- Received: from punt-1.mail.demon.net by mailstore.com for fred@xyz.demon.co.uk
+ Received: from punt-1.mail.demon.net by mailstore for fred@xyz.demon.co.uk
id 899963657:10:27896:0; Thu, 09 Jul 98 05:54:17 GMT
</pre>
-To enable multi-drop mode you need to tell fetchmail that 'mailstore.com' is
+To enable multi-drop mode you need to tell fetchmail that 'mailstore' is
the name of the host which accepted the mail, and let it know the
hostname part(s) of your E-mail address. The following example assumes
that your hostname is xyz.demon.co.uk, and that you have also bought
MTA must also be configured to accept mail sent to user@my-company.co.uk)
<pre>
- poll pop3.demon.co.uk proto pop3 aka mailstore.com no dns:
+ poll pop3.demon.co.uk proto pop3 aka mailstore no dns:
localdomains xyz.demon.co.uk my-company.co.uk
user xyz is * fetchall
</pre>
POP (or preferably IMAP) server that isn't brain-dead. OpenMail's
project manager claims these bugs have been fixed in 6.0.
+<hr>
+<h2><a name="S7">S7. How can I use fetchmail with geocities POP3 servers?</a></h2>
+
+Nathan Cutler reports that the the mail.geocities.com POP3 servers
+fail to include the first Received line of the message in the send to
+fetchmail. This can solve problems if your MUA interprets Received
+continuations as body lines and doesn't parse any of the following
+headers.
+
+<p>Workaround is to use "mda" keyword or "-mda" switch:
+<pre>
+mda "sed -e '1s/^\t/Received: /' | formail | /usr/bin/procmail -d <user>"
+</pre>
+Replace \t with exactly one tabulation character.
+
+You should also consider using "fetchall" option because Geocities' servers
+sometimes think that the first 45 messages have already been read.
+
+<p>Fix: Get an email provider that doesn't suck. The pop-up ads on
+Geocities are lame, you should boycott them anyway.
+
<hr>
<h2><a name="S8">S8. How can I use fetchmail with Hotmail?</a></h2>
<p>Alan Schmitt has added a similar --with-socks5 option that may work
better if you have a recent version of the SOCKS library.
-<hr>
-<h2><a name="S7">S7. How can I use fetchmail with geocities POP3 servers?</a></h2>
-
-Nathan Cutler reports that the the mail.geocities.com POP3 servers
-fail to include the first Received line of the message in the send to
-fetchmail. This can solve problems if your MUA interprets Received
-continuations as body lines and doesn't parse any of the following
-headers.
-
-<p>Workaround is to use "mda" keyword or "-mda" switch:
-<pre>
-mda "sed -e '1s/^\t/Received: /' | formail | /usr/bin/procmail -d <user>"
-</pre>
-Replace \t with exactly one tabulation character.
-
-You should also consider using "fetchall" option because Geocities' servers
-sometimes think that the first 45 messages have already been read.
-
-<p>Fix: Get an email provider that doesn't suck. The pop-up ads on
-Geocities are lame, you should boycott them anyway.
-
<hr>
<h2><a name="K2">K2. How can I use fetchmail with IPv6 and IPsec?</a></h2>
discovery on the mailserver. Or, if there's a modem in the link,
it may be because the attachment contains the Hayes mode escape "+++".
+<hr>
+<h2><a name="X8">X8. A spurious ) is being appended to my messages.</a></h2>
+
+<p>Blame it on that rancid pile of dung and offal called Microsoft
+Exchange. Due to the problem described in <a href="#S2">S2</a>, the
+IMAP support in fetchmail cannot follow the IMAP protocol 100%. Most
+of the time it doesn't matter, but if you combine it with an SMTP
+server that behaves unusually, you'll get a spurious ) at message end.
+
+<p>One piece of software that can trigger this is the Interchange mail
+server, as used by, e.g., mailandnews.com. Here's what happens:
+
+<p>1. Someone sends mail to your account. The last line of the message
+contains text. So at the SMTP level, the message ends with, e.g.
+"blahblah\r\n.\r\n"
+
+<p>2. The SMTP handler sees the final "\r\n.\r\n" and recognizes the
+end of the message. However, instead of doing the normal thing, which
+is tossing out the ".\r\n" and leaving the first '\r\n' as part of the
+email body, Interchange throws out the whole "\r\n.\r\n", and leaves
+the email body without any line terminator at the end of it. RFC821
+does not forbid this, though it probably should.
+
+<p>3. Fetchmail, or some other IMAP client, asks for the message. IMAP
+returns it, but it's enclosed inside parentheses, according to the
+protocol. The message size in bytes is also present. Because the
+message doesn't end with a line terminator, the IMAP client sees:
+
+ ....blahblah)...
+
+where the ')' is from IMAP.
+
+<p>4. Fetchmail only deals with complete lines, and can't trust the
+stated message size because Microsoft Exchange fscks it up.
+
+<p>5. As a result, fetchmail takes the final 'blahblah)' and puts it
+at the end of the message it forwards on. If you have verbosity on,
+you'll get a message about actual != expected.
+
+<p>There is no fix for this. The nuke mentioned in <a
+href="#S2">S2</a> looks more tempting all the time.
+
<hr>
<h2><a name="O1">O1. The --logfile option doesn't work if the logfile doesn't exist.</a></h2>
<table width="100%" cellpadding=0><tr>
<td width="30%">Back to <a href="index.html">Fetchmail Home Page</a>
<td width="30%" align=center>To <a href="/~esr/sitemap.html">Site Map</a>
-<td width="30%" align=right>$Date: 2001/05/29 22:48:04 $
+<td width="30%" align=right>$Date: 2001/09/26 14:28:57 $
</table>
-<ADDRESS>Eric S. Raymond <A HREF="mailto:esr@thyrsus.com"><esr@snark.thyrsus.com></A></ADDRESS>
+<ADDRESS>Eric S. Raymond <A HREF="mailto:esr@thyrsus.com"><esr@thyrsus.com></A></ADDRESS>
</BODY>
</HTML>
<!--