On Mon, 11 Aug 2008, Hector Santos wrote:
....
> Lets checks out existing software to see how their clients and server
> behave in the area of dealing with retries:
>
> In SendMail (8.14.1), first without PIPELINING enabled.
...
> The key point, is that here is SendMail, one of he more popular SMTP
> systems in the world actually following the specifications for retries.
> It marks the address BAD for a DATA <EOT> 5yz response.
You appear to be claiming that the sendmail MTA, when acting as an SMTP
client, will permanently fail an address that was temp failed (4xy) at the
RCPT time if other RCPT commands succeeded and the DATA command failed
after the final dot with a 5xy response. You base this on a brief
examination of the source.
If that is *NOT* what you are claiming, please state your claim more
clearly.
If that *IS* what you are claiming, it is quite clearly WRONG.
My proof is simple: rather than trying to deduce what code would do by
reading it, I actually ran it! I set up an SMTP test server that for the
addresses [EMAIL PROTECTED], [EMAIL PROTECTED], and [EMAIL PROTECTED] would
return, respectively, 250, 451, and 550, and that would respond to the
final dot after DATA with 550. After directing sendmail to send messages
for example.com to that test server, I sent a message to those three
addresses. Here's the transcript of the SMTP conversation:
< 220 localhost hybrid sink ready
EHLO vanye.mho.net
< 250-pleased to meet you; your protocol today will be SMTP (Exchange).
< 250-EXPN
< 250-VERB
< 250-8BITMIME
< 250-SIZE
< 250-DSN
< 250-ONEX
< 250-ETRN
< 250-XUSR
< 250 HELP*
MAIL From:<[EMAIL PROTECTED]> SIZE=35
< 250 2.1.0 Originator OK
RCPT To:<[EMAIL PROTECTED]>
< 451
RCPT To:<[EMAIL PROTECTED]>
< 250 2.1.5 Recipient OK
RCPT To:<[EMAIL PROTECTED]>
< 550
DATA
< 354 Start message; end with <CRLF>.<CRLF>
< 550
Received: (from [EMAIL PROTECTED])
by vanye.mho.net (8.14.3/8.14.3) id m7C5PwKS013186;
Mon, 11 Aug 2008 23:25:58 -0600 (MDT)
Date: Mon, 11 Aug 2008 23:25:58 -0600 (MDT)
From: Philip Guenther <[EMAIL PROTECTED]>
Message-Id: <[EMAIL PROTECTED]>
To: people:;
Subject: test
dskjfh
.
QUIT
< 221 2.0.0 Be seeing you.
Here's the message/delivery-status part of the DSN that I then received:
------
Reporting-MTA: dns; vanye.mho.net
Arrival-Date: Mon, 11 Aug 2008 23:25:58 -0600 (MDT)
Final-Recipient: RFC822; [EMAIL PROTECTED]
Action: failed
Status: 5.1.1
Remote-MTA: DNS; localhost.mho.net
Diagnostic-Code: SMTP; 550
Last-Attempt-Date: Mon, 11 Aug 2008 23:26:10 -0600 (MDT)
Final-Recipient: RFC822; [EMAIL PROTECTED]
Action: failed
Status: 5.2.0
Remote-MTA: DNS; localhost.mho.net
Diagnostic-Code: SMTP; 550
Last-Attempt-Date: Mon, 11 Aug 2008 23:26:11 -0600 (MDT)
------
...and here's the mailq output showing that delivery to [EMAIL PROTECTED]
will be retried:
/var/spool/mqueue (1 request)
-----Q-ID----- --Size-- -----Q-Time----- ------------Sender/Recipient-----------
m7C5PwKS013186 7 Mon Aug 11 23:25 guenther
(Service unavailable)
[EMAIL PROTECTED]
Total requests: 1
You'll note the test server did not advertise the PIPELINING extension in
that run. So I turned it on to see if it had any effect. The only change
was in the ordering of the SMTP conversation; there was no effect on what
was retried and what was reported as permanently failed in the DSN.
Philip Guenther
[EMAIL PROTECTED]