X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=fetchmail-FAQ.html;h=5433220e8f4b7f03f532f948182ee254d5d1890a;hb=87bcf29364c4640edb87cc2186b965d1a564d70c;hp=5abc4656e6fc1ccda934bd60a780362d28195247;hpb=259e2ff74c50d240b99e46c3ec6326ca8f98a0a2;p=~andy%2Ffetchmail diff --git a/fetchmail-FAQ.html b/fetchmail-FAQ.html index 5abc4656..5433220e 100644 --- a/fetchmail-FAQ.html +++ b/fetchmail-FAQ.html @@ -17,7 +17,7 @@ a much better one. The Fetchmail FAQ - + @@ -35,7 +35,7 @@ Page href="#G3">G3 for what information is required to get your problem solved as quickly as possible.

-

Note that this FAQ is occasionally updated from the SVN repository +

Note that this FAQ is occasionally updated from the Git repository and speaks in the past tense ("since") about a fetchmail release that is not yet available. Please try a release candidate for that version in case you need the new option.

@@ -186,7 +186,9 @@ messages but before deleting them
R11. My server is hanging or emitting errors on CAPA.
R12. Fetchmail isn't working and reports getaddrinfo errors.
-R13. What does "Interrupted system call" mean? +R13. What does "Interrupted system call" mean?
+R14. Since upgrading fetchmail/OpenSSL, I can no longer connect!
+R15. Help, I'm getting Authorization failure!

Hangs and lockups

@@ -246,6 +248,9 @@ fetchmail.
messages.
X9. Missing "Content-Transfer-Encoding" header with Domino IMAP
+X10. Fetchmail delivers partial messages
+ +

Other problems

O1. The --logfile option doesn't work if the logfile @@ -317,8 +322,10 @@ fetchmail's code for years, which is a hint that open source code does not audit itself.

Fetchmail is licensed under the GNU General Public -License.

+href="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html">GNU General Public +License v2. Details, including an exception that allows linking +against OpenSSL, are in the COPYING file in the fetchmail +distribution.

If you found this FAQ in the distribution, see the README for fetchmail's full feature list.

@@ -347,7 +354,9 @@ save us both time if you upgrade and test with the latest

Bugs will be fixed, provided you include enough diagnostic information for me to go on. Send bugs to fetchmail-users. -When reporting bugs, please include the following:

+When sending bugs or asking for help, please do not make up + information except your password and please +report the following:

  1. Your operating system.
  2. @@ -519,11 +528,11 @@ paper on the Web with a search for that title.

    G8. What is the best server to use with fetchmail?

    -

    Fetchmail will work with any POP, IMAP, ETRN, or ODMR server +

    Fetchmail will work with any POP3, IMAP, ETRN, or ODMR server that conforms to the relevant standards/RFCs (and even some outright broken ones like Microsoft Exchange and Novell GroupWise). This doesn't mean it works equally -well with all, however. POP2 servers, and POP3 servers without UIDL, +well with all, however. POP3 servers without UIDL limit fetchmail's capabilities in various ways described on the manual page.

    @@ -535,16 +544,7 @@ minority also feature IMAP (you can detect IMAP support by using the utility - unfortunately it does not detect SSL-wrapped variants).

    If you have the option, we recommend using or installing an -IMAP4rev1 or UIDL- and TOP-capable POP3 server. IMAP enables some -significant performance optimizations.

    - -

    Don't be fooled by NT/Exchange propaganda. M$ Exchange is just -plain broken (see item S2) and NT cannot handle -the sustained load of a high-volume remote mail server. Even -Microsoft itself knows better than to try this; their own Hotmail -service runs over Solaris! For extended discussion, see John -Kirch's excellent white -paper on Unix vs. NT performance.

    +IMAP4rev1 or UIDL-capable POP3 server.

    A decent POP3/IMAP server that has recently become popular is Dovecot.

    @@ -1595,34 +1595,47 @@ so broken that it's unusable. One symptom is that messages without a terminating newline get the POP3 message termination dot emitted -- you guessed it -- right after the last character of the message, with no terminating newline added. This will hang fetchmail or any -other RFC-compliant server. IMAP is alleged to work OK, though.

    +other RFC-compliant client. IMAP is alleged to work OK, though.

    + +

    Exchange 2003 SP2 has been observed to alter MIME boundary +lines in multipart messages between one IMAP FETCH command and the next +under some circumstances -- for instance, when the top-level +Content-Transfer-Encoding is "binary" (which is commonplace with Perl's +MIME::Lite module). This causes MUAs to not detect attachments, but +render the whole message body as one lump of hardly legible to +unintelligible text, rather than nicely presenting text part and +attachments or images separately. The cause is that Exchange uses its +own message store and needs to convert back to MIME message format +on-the-fly, and apparently this is sometimes subject to such +inconsistencies. +

    -

    Older versions of Exchange are semi-usable. They randomly drop -attachments on the floor, though. Microsoft acknowledges this -as a known bug and apparently has no plans to fix it.

    +

    Fetchmail using IMAP usually supports the proprietary NTLM mode used +with Microsoft Exchange servers. "Usually" here means that it fails on some +servers for reasons that we haven't been able to debug yet, perhaps it's +related to the NTLM domain.

    -

    Fetchmail using IMAP supports the proprietary NTLM mode used -with M$ Exchange servers. To enable this, configure fetchmail with +

    To enable this NTLM mode, 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.

    -

    M$ Exchange violates the POP3 and IMAP RFCs. Its LIST command +

    Microsoft 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).

    -

    Fetchmail works with M$ Exchange, despite this brain damage. Two -features are compromised. One is that the --limit option will not +

    Fetchmail works with Microsoft Exchange, despite this brain damage. +Two features are compromised. One is that the --limit option will not work right (it will check against compressed and not actual sizes). The other is that a too-small SIZE argument may be passed to your ESMTP listener, assuming you're using one (this should not be a problem unless the actual size of the message is above the listener's configured length limit).

    -

    Somewhat belatedly, I've learned that there's supposed to be a +

    ESR learned that there's supposed to be a registry bit that can fix this breakage:

    @@ -1686,7 +1699,7 @@ reported in KB Q168109)
     deleted.
     
     
    -

    The Microsoft pod-person who revealed this information to me +

    The Microsoft employee who revealed this information to ESR admitted that he couldn't find it anywhere in their public knowledge base.

    @@ -1694,7 +1707,7 @@ knowledge base.

    as its symptom a response to LOGIN that says "NO Ambiguous Alias". Grant Edwards writes:

    -

    This means that Exchange Server is too f*&#ing stupid to +

    This means that Exchange Server is too [...] stupid to figure out which mailbox belongs to you. Instead of actually keeping track of which inbox belongs to which user, it uses some half-witted, guess-o-matic heuristic to try to guess your mailbox @@ -1702,9 +1715,7 @@ name from your username.

    In your case it doesn't work because your username maps to more than one mailbox. For some people it doesn't work because their -username maps to zero mailboxes. This is yet another inept, lame, -almost criminally negligent design decision from our friends in -Redmond.

    +username maps to zero mailboxes.

    You've got several options:

    @@ -1715,9 +1726,7 @@ usernames and mailbox names are the same.
  3. Get your administrator to add an alias that maps your username explicitly to your mailbox name.
  4. - -

    But, the best option involves finding a server that runs better -software.

    +

    S3. How can I use fetchmail with HP OpenMail?

    @@ -1728,10 +1737,7 @@ href="#S2">Microsoft Exchange. The message sizes it gives in the LIST are rounded to the nearest 1024 bytes. It also has a nasty habit of discarding headers it doesn't recognize, such as X- and Resent- headers.

    - -

    As with M$ Exchange, the only real fix for these problems is to -get a POP (or preferably IMAP) server that isn't brain-dead. -OpenMail's project manager claims these bugs have been fixed in +

    OpenMail's project manager claims these bugs have been fixed in 6.0.

    We've had a more recent report (December 2001) that the TOP @@ -1740,13 +1746,11 @@ on something identifying itself as "OpenMail POP3 interface".

    S4. How can I use fetchmail with Novell GroupWise?

    -

    The Novell GroupWise IMAP server would be better named -GroupFoolish; it is (according to the designer of IMAP) unusably -broken. Among other things, it doesn't include a required content -length in its BODY[TEXT] response.

    +

    The Novell GroupWise IMAP server is (according to the designer of +IMAP) unusably broken. Among other things, it doesn't include a required +content length in its BODY[TEXT] response.

    -

    Fetchmail works around this problem, but we strongly recommend -voting with your dollars for a server that isn't brain-dead.

    +

    Fetchmail works around this problem to some extent, but no guarantees.

    S5. How can I use fetchmail with InterChange?

    @@ -1757,9 +1761,9 @@ attachments. InterChange has a bug similar to the MailMax server ( -

    On Jan 9 2001, the people at InfiniteMail sent me mail informing -me that their new 3.61.08 release of InterChange fixes this -problem. I don't have any reports one way or the other yet.

    +

    On Jan 9 2001, the people at InfiniteMail sent ESR mail informing +him that their new 3.61.08 release of InterChange fixed this +problem.

    S6. How can I use fetchmail with MailMax?

    @@ -2005,6 +2009,15 @@ sorts of strange effects, for instance, your sent mail may show up in the mail that fetchmail fetches. It's best to avoid fetching mail from Google until they are using standards-compliant software.

    +

    If you still need to use Google's mail service, these links may help (valid as of 2011-04-13):

    + +

    How to set up well-known security and authentication methods

    @@ -2077,13 +2090,15 @@ IMAP-GSS protocol?

    Fetchmail can use RFC1731 GSSAPI authorization to safely identify you to your IMAP server, as long as you can share Kerberos V credentials with your mail host and you have a GSSAPI-capable -IMAP server - those are few.

    +IMAP server.

    fetchmail does not compile in support for GSS by -default, since it requires libraries from the Kerberos V -distribution (available via FTP at athena-dist.mit.edu). -If you have these, compiling in GSS support is simple: add a +default, since it requires libraries from a Kerberos V +distribution, such as MIT + Kerberos or Heimdal + Kerberos.

    + +

    If you have these, compiling in GSS support is simple: add a --with-gssapi=[/path/to/krb5/root] option to configure. For instance, I have all of my Kerberos V libraries installed under /usr/krb5 so I run configure @@ -2111,7 +2126,7 @@ SSL?

    You'll need to have the OpenSSL libraries installed, and they -should at least be version 0.9.6. +should at least be version 0.9.7. Configure with --with-ssl. If you have the OpenSSL libraries installed in commonly-used default locations, this will suffice. If you have them installed in a non-default location, @@ -2480,6 +2495,64 @@ declaration auth password in your .fetchmailrc.

    interrupt long-running functions and will then be reported as "Interrupted system call". These can sometimes be timeouts.

    +

    R14. Since upgrading fetchmail/OpenSSL, I can no longer connect!

    + +

    If the upgrade you did encompassed an upgrade to OpenSSL 1.0.0 or newer, you +may need to run c_rehash on your certificate directories, +particularly if you are using local certs directories (f. i. through fetchmail's --sslcertpath option).

    + +

    Reason: OpenSSL 1.0.0, relative to earlier versions, uses a different hash +for the symbolic links (symlinks) in its certs/ directory, so you +need to recreate the symlinks by running c_rehash + /etc/ssl/certs (adjust this to where your installation keeps its +certificates), and you cannot easily share this certs directory with +applications linked against older OpenSSL versions.

    + +

    Note: OpenSSL's c_rehash script is broken in several versions, +which can cause malfunction if several OpenSSL tools versions are installed in +parallel in separate directories. In such cases, you may need a workaround to +get things going. Assuming your OpenSSL 1.0.0 is installed in +/opt/openssl1.0.0 and your certificates are in +/home/hans/certs, you'd do this (the corresponding fetchmail +option is --sslcertpath /home/hans/certs on the commandline and +sslcertpath /home/hans/cert in the rcfile):

    + +
    +env PATH=/opt/openssl1.0.0/bin /opt/openssl1.0.0/bin/c_rehash /home/hans/certs
    +
    + +

    R15. Help, I'm getting Authorization failure!

    + +

    First, try upgrading to fetchmail 6.3.18 or newer. Release 6.3.18 has +received a considerable number of bug fixes for the authentication +feature (AUTH, AUTHENTICATE, SASL). Most notably, fetchmail aborts SASL +authentication attempts properly with an asterisk if it detects that it +cannot make progress with a particular authentication scheme. This fixes +issues where GSSAPI-enabled fetchmail cannot authenticate against +Microsoft Exchange 2007 and 2010. Note that this is a +bug in old fetchmail versions!

    + +

    Fetchmail by default attempts to authenticate using various schemes. +Fetchmail tries these schemes in order of descending security, meaning +the most secure schemes are tried first.

    + +

    However, sometimes the server offers a secure authentication scheme +that is not properly configured, or an authentication scheme such as +GSSAPI that requires credentials to be acquired externally. In some +situations, fetchmail cannot know that the scheme will fail beforehand, +without trying it. In most cases, fetchmail should proceed to the next +authentication scheme automatically, but this sometimes does not +work.

    + +

    Solution: Configure the right authentication scheme +explicitly, for instance, with --auth cram-md5 or --auth + password on the command line or auth "cram-md5" or + auth "password" in the rcfile. Details can be found + in the manual page.
    + Note that auth password should only be used + across secure links (see the sslcertck and ssl/sslproto options). +

    +

    Hangs and lockups

    H1. Fetchmail hangs when used with @@ -2535,7 +2608,7 @@ configuration of sendmail. You must enable the 'nodns' and

    H3. Fetchmail hangs while fetching mail.

    -

    The symption: 'fetchmail -v' retrieves the first few messages, +

    Symptom: 'fetchmail -v' retrieves the first few messages, but hangs returning:

    @@ -3148,9 +3221,8 @@ mailtool's format.

    X7. Some mail attachments are hanging fetchmail.

    -

    This isn't fetchmail's problem either; fetchmail doesn't know -anything about mail attachments and doesn't treat them any -differently from plain message data.

    +

    Fetchmail doesn't know anything about mail attachments and doesn't +treat them any differently from plain message data.

    The most usual cause of this problem seems to be bugs in your network transport layer's capability to handle the very large @@ -3171,51 +3243,49 @@ Hayes mode escape "+++".

    X8. A spurious ) is being appended to my messages.

    -

    Blame it on that rancid pile of dung and offal called Microsoft -Exchange. Due to the problem described in S2, the -IMAP support in fetchmail cannot follow the IMAP protocol 100%. +

    Due to the problem described in S2, 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.

    +the message end.

    One piece of software that can trigger this is the Interchange mail server, as used by, e.g., mailandnews.com. Here's what happens:

    -

    1. Someone sends mail to your account. The last line of the +

    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"

      +e.g. "blahblah\r\n.\r\n"
    2. -

      2. The SMTP handler sees the final "\r\n.\r\n" and recognizes +

    3. 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.

      +should.
    4. -

      3. Fetchmail, or some other IMAP client, asks for the message. +

    5. 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:

      +sees:
      -
        ....blahblah)...
       
      -

      where the ')' is from IMAP.

      +

      where the ')' is from IMAP.

    6. -

      4. Fetchmail only deals with complete lines, and can't trust the -stated message size because Microsoft Exchange fscks it up.

      +
    7. Fetchmail only deals with complete lines, and can't trust the +stated message size because Microsoft Exchange goofs it up.
    8. -

      5. As a result, fetchmail takes the final 'blahblah)' and puts +

    9. 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.

      +on, you'll get a message about actual != expected.
    10. +
    -

    There is no fix for this. The nuke mentioned in S2 looks more tempting all the time.

    +

    There is no fix for this.

    X9. Missing "Content-Transfer-Encoding" header with Domino IMAP

    @@ -3231,6 +3301,24 @@ MIME". Solution: switch Domino to "Keep in Sender's format".

    Kim's list post

    +

    X10. Fetchmail delivers partial + messages

    + +

    Fetchmail is sometimes reported to deliver partial messages. This +is usually related to network outages that occur while fetchmail is +downloading a message body. In such cases, fetchmail has downloaded a +complete header, so your header will be intact. The message body will be +truncated, and fetchmail will later attempt to redownload the +message (providing the server is standards conformant).

    + +

    The reason for the truncation is that fetchmail streams the body +directly from the POP3/IMAP server into the SMTP/LMTP server or MDA (in +order to save memory), so fetchmail has already written a part of the +message before it notices it will be incomplete, and fetchmail cannot +abort a transaction it has started, and it's unclear if it ever will be +able to, because this is not standardized and the outcome will depend on +the receiving software (be it SMTP/LMTP or MDA).

    +

    Other problems

    O1. The --logfile option doesn't work if @@ -3467,7 +3555,7 @@ oversized mails or both when a user specifies both first message in your mailbox. This usually stems from a message like the one shown below, which is automatically created on your server. This message shows up if the University of Washington IMAP or PINE software -is used on the server together with a POP2 or POP3 daemon that is not +is used on the server together with a POP3 daemon that is not aware of these messages, such as some versions of Qualcomm Popper (QPOP):