]> Pileus Git - ~andy/fetchmail/blobdiff - fetchmail-FAQ.html
Eliminate spurious protocol error messages.
[~andy/fetchmail] / fetchmail-FAQ.html
index 152b76828d2a82bd8f9b66de47acb0a98078e013..0f15679f0299df282ca1e4c1ba5a32b8bd768608 100644 (file)
@@ -2,7 +2,7 @@
 <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>
@@ -10,7 +10,7 @@
 <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>
@@ -21,7 +21,7 @@ as quickly as possible.
 
 <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>
 
@@ -141,6 +141,7 @@ my Received headers as it should.</a><br>
 <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>
 
@@ -422,7 +423,7 @@ programs</a>.  It also doesn't care which user agent you use, and user
 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.
 
@@ -508,7 +509,7 @@ for AUTH=KERBEROS_V4 in the CAPABILITY response.
 <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
@@ -705,9 +706,30 @@ make: *** [fetchmail] Error 1
 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.
@@ -1355,16 +1377,16 @@ RFC-compliant server.  IMAP is alleged to work OK, though.
 
 <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
@@ -1444,8 +1466,6 @@ our friends in Redmond.
 
 <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>
@@ -1453,7 +1473,7 @@ Get your administrator to add an alias that maps your
 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.
@@ -1523,11 +1543,11 @@ Demon Internet's SDPS service is an implementation of POP3. All messages
 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
@@ -1535,7 +1555,7 @@ 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>
@@ -1607,6 +1627,27 @@ headers.
 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 &lt;user&gt;"
+</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>
 
@@ -1694,27 +1735,6 @@ containing the Rconnect library.
 <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 &lt;user&gt;"
-</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>
 
@@ -2645,6 +2665,48 @@ packet sizes.  It may also be caused by malfunctioning path-MTU
 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>
 
@@ -2859,10 +2921,10 @@ date from the last Received header.<p>
 <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">&lt;esr@snark.thyrsus.com&gt;</A></ADDRESS>
+<ADDRESS>Eric S. Raymond <A HREF="mailto:esr@thyrsus.com">&lt;esr@thyrsus.com&gt;</A></ADDRESS>
 </BODY>
 </HTML>
 <!--