fetchmail-friends
[Top] [All Lists]

[fetchmail]fetchmail doesn't fully handle 553 error

2001-07-18 17:42:17
1. Saw a problem in sink.c running Mac OS X Server v10.0.4 using fetchmail
v5.8.14 compiled under same. First time I have used fetchmail so I don't
have past history. At line 658 in sink.c there is a check on the listener's
response to "MAIL FROM:" sent from fetchmail. If the listener responds with
a error (553 in my case), fetchmail does a RSET before calling
handle_smtp_report. The response to the REST clears the error code and
therefore fetchmail doesn't handle any error from the "MAIL FROM:" response
and fails to delete the message, repeating this of course on all following
queries.

I did a quick hack that seems to work.

[macosxserver:~/fetchmail-5.8.14] root# diff sink.c.orig sink.c
592a593
      char            original_response;
659a661
            original_response = handle_smtp_report(ctl, msg);
661c663
<           return(handle_smtp_report(ctl, msg));
---
          return(original_response);

2. I'm not sure there is a clean solution, but Earthlink servers adding
"Received: from" lines never put in their fully qualified hostnames, and it
doesn't appear that reasonable completions of the name are listed in their
DNS anyway. So any attempt by fetchmail to parse the lines in transact.c
fails to locate the "for <xxx(_at_)yyy(_dot_)zzz>" portions because the 
Earthlink
server is incognito. I hacked out the checks for now and it works, but this
is not a wonderful solution. An example from Earthlink is shown:

Received: from 24.51.45.74 ([24.51.45.74])^M    
by eagle (EarthLink SMTP Server) with SMTP id tlaodp.f7.37tiu0o^M       
for <xxxx(_at_)earthlink(_dot_)com>; Wed, 18 Jul 2001 03:15:20 -0700 (PDT)^M 

Anyway this is my -V output:

[macosxserver:~/fetchmail-5.8.14] root# fetchmail -V -f /etc/fetchmail.conf
This is fetchmail release 5.8.14+NLS
Darwin MacOSXServer 1.3.7 Darwin Kernel Version 1.3.7: Sat Jun  9 11:12:48
PDT 2001; root:xnu/xnu-124.13.obj~1/RELEASE_PPC  Power Macintosh powerpc
Taking options from command line and /etc/fetchmail.conf
Poll interval is 60 seconds
Idfile is /private/var/root/.fetchids
Progress messages will be logged via syslog
Fetchmail will forward misaddressed multidrop messages to unknown.
Options for retrieving from xxxx(_at_)mail(_dot_)earthlink(_dot_)net:
  True name of server is mail.earthlink.net.
  Protocol is APOP.
  All available authentication methods will be tried.
  Server nonresponse timeout is 60 seconds.
  Default mailbox selected.
  Only new messages will be retrieved (--all off).
  Fetched messages will not be kept on the server (--keep off).
  Old messages will not be flushed before message retrieval (--flush off).
  Rewrite of server-local addresses is enabled (--norewrite off).
  Carriage-return stripping is disabled (stripcr off).
  Carriage-return forcing is disabled (forcecr off).
  Interpretation of Content-Transfer-Encoding is enabled (pass8bits off).
  MIME decoding is disabled (mimedecode off).
  Idle after poll is disabled (idle off).
  Nonempty Status lines will be kept (dropstatus off)
  Delivered-To lines will be kept (dropdelivered off)
  Messages will be SMTP-forwarded to: mail.xxxx.com
  Recognized listener spam block responses are: 571 550 501 554
  Multi-drop mode: 3 local name(s) recognized.
  DNS lookup for multidrop addresses is disabled.
  Envelope header is assumed to be: Received
  Predeclared mailserver aliases: xxxx.com earthlink.com earthlink.net
  Local domains: xxxx.com
  No UIDs saved from this host.
Options for retrieving from yyyy(_at_)mail1(_dot_)zzzz(_dot_)com:
  True name of server is mail1.zzzz.com.
  Protocol is POP3.
  All available authentication methods will be tried.
  Server nonresponse timeout is 60 seconds.
  Default mailbox selected.
  Only new messages will be retrieved (--all off).
  Fetched messages will not be kept on the server (--keep off).
  Old messages will not be flushed before message retrieval (--flush off).
  Rewrite of server-local addresses is enabled (--norewrite off).
  Carriage-return stripping is disabled (stripcr off).
  Carriage-return forcing is disabled (forcecr off).
  Interpretation of Content-Transfer-Encoding is enabled (pass8bits off).
  MIME decoding is disabled (mimedecode off).
  Idle after poll is disabled (idle off).
  Nonempty Status lines will be kept (dropstatus off)
  Delivered-To lines will be kept (dropdelivered off)
  Messages will be SMTP-forwarded to: mail.xxxx.com
  Recognized listener spam block responses are: 571 550 501 554
  Multi-drop mode: 3 local name(s) recognized.
  DNS lookup for multidrop addresses is disabled.
  Envelope header is assumed to be: Received
  Predeclared mailserver aliases: zzzz.com
  Local domains: xxxx.com
  No UIDs saved from this host.






<Prev in Thread] Current Thread [Next in Thread>
  • [fetchmail]fetchmail doesn't fully handle 553 error, Mark Derbyshire <=