Rob,
Thanks for your help so far. I can confirm that I am running a vanilla
fetchmail v6.2.5 which I built from source. I have included a config dump at
the end of the message.
Clearly the return-path is broken, it looks like the Received: header has been
pasted on the end. I would guess a memory corruption somewhere as the closing
">" is missing which would imply something is being overwritten by something
else.
That's very broken. Something strange is going on at your ISP. Either
they're accepting malformed email or they're generating it. No sane mail
server will accept that header.
I agree, the question now remains, is it my ISP's mail server which is broken
or is it fetchmail in its fetching of the mail by POP3.
One thought is that both emails which I have a problem with contain long
return addresses.
fetchmail: SMTP> RCPT
TO:<c615952fff0eb8febd27fbc7b1dd4792bdeb77a3023419e0f4063f69cReceived:
(qmail
22262 invoked from network); 23 Jul 2004 04:01:03 -0000>
<---SNIP--->
That however I would expect to be from your .fetchmailrc, which from what
you posted should be <gary(_at_)localhost>
Well normally yes it would be, but remember here that the first MAIL FROM
failed and then fetchmail starts a new submission. From the log file we read:
fetchmail: forwarding to localhost
fetchmail: SMTP> MAIL
FROM:<c615952fff0eb8febd27fbc7b1dd4792bdeb77a3023419e0f4063f69cReceived:
(qmail 22262 invoked from network); 23 Jul 2004 04:01:03
-0000(_at_)mail(_dot_)rdslink(_dot_)ro> BODY=8BITMIME SIZE=8568
fetchmail: SMTP< 501 Bad address syntax
fetchmail: SMTP error: 501 Bad address syntax
fetchmail: SMTP< 220 exodus.aca-vulcan.ro ESMTP Postfix
This is where the MAIL FROM fails as the return address is broken... But then
look what happens:
fetchmail: SMTP> HELO localhost
fetchmail: SMTP< 250 exodus.aca-vulcan.ro
fetchmail: SMTP> MAIL FROM:<FETCHMAIL-DAEMON(_at_)exodus>
fetchmail: SMTP< 250 Ok
Fetchmail attempts to start a new message this time from the FETCHMAIL-DAEMON.
Here the MAIL FROM is OK, but the RCPT TO is bad as it uses the same broken
return path:
fetchmail: SMTP> RCPT
TO:<c615952fff0eb8febd27fbc7b1dd4792bdeb77a3023419e0f4063f69cReceived: (qmail
22262 invoked from network); 23 Jul 2004 04:01:03 -0000>
fetchmail: SMTP< 501 Bad address syntax
So the RCPT TO which fails is not the normal one which we would expect to be
<gary(_at_)localhost>, but a second one on a new message.
I haven't studied the internals of fetchmail but it looks like it is trying to
create a non delivery report for the sender from the FETCHMAIL-DAEMON.
However the email is still being deleted even though it was not delivered
or non-delivered. Is that behaviour correct?
The email failed at the address syntax - it'll never be accepted so there's
no reason to keep it.
IMHO, I don't actually agree. The mail message was on a POP3 server somewhere
which means it has gone through some sort of processing and has arrived. The
local delivery failed and the NDN failed. In my opinion this message should
be saved to disk and a notification sent to the postmaster. A few years back
I worked on several email gateways including X.400 to SMTP and our golden
rule was that no message should ever be lost. Worse case it should be written
to disk for later examination. Just my opinion.
I will email my ISP and see if they have upgraded their mail server recently
and see if this is the problem.
I will also add the KEEP option to my fetchmailrc so that I can catch these
emails on the POP3 server.
Thanks for you help so far...
Gary
--
Gary Sims (gary(_at_)garysims(_dot_)co(_dot_)uk)
Vulcan, Brasov, Romania
TRUE=1; FALSE=0
os_type = 'linux'
feature_options = ('pop3','imap','etrn','odmr',)
# Start of configuration initializer
fetchmailrc = {
'poll_interval':0,
"logfile":None,
"idfile":"/root/.fetchids",
"postmaster":"postmaster",
'bouncemail':TRUE,
'spambounce':FALSE,
"properties":"",
'invisible':FALSE,
'showdots':TRUE,
'syslog':FALSE,
# List of server entries begins here
'servers': [
# Entry for site `mail.rdslink.ro' begins:
{
"pollname":"mail.rdslink.ro",
'active':TRUE,
"via":None,
"protocol":"POP3",
'port':0,
'timeout':300,
'interval':0,
"envelope":"Received",
'envskip':0,
"qvirtual":None,
"auth":"any",
'dns':TRUE,
'uidl':FALSE,
"aka":[],
"localdomains":[],
"interface":None,
"monitor":None,
"plugin":None,
"plugout":None,
"principal":None,
'tracepolls':FALSE,
'users': [
{
"remote":"gary.sims",
"password":"xxxx",
'localnames':["gary"],
'fetchall':FALSE,
'keep':FALSE,
'flush':FALSE,
'rewrite':TRUE,
'stripcr':FALSE,
'forcecr':FALSE,
'pass8bits':FALSE,
'dropstatus':FALSE,
'dropdelivered':FALSE,
'mimedecode':FALSE,
'idle':FALSE,
"mda":None,
"bsmtp":None,
'lmtp':FALSE,
"preconnect":None,
"postconnect":None,
'limit':0,
'warnings':3600,
'fetchlimit':0,
'fetchsizelimit':100,
'fastuidl':10,
'batchlimit':0,
'expunge':0,
"properties":None,
"smtphunt":["localhost"],
"fetchdomains":[],
"smtpaddress":None,
"smtpname":None,
'antispam':'',
"mailboxes":[],
}
, ]
}
, ]
}
]
}
# End of initializer