On Sun, 2007-21-01 at 00:19 +0100, Michael Holzt wrote: > > Bernstein claims that this is a requirement of RFC 821. > > Now, i'm not sure what Bernstein wrote, but i doubt he wrote that > a MTA is not allowed to reject a mail at SMTP level.
Sorry, I'm probably SMTP-confused ... let me look up what he wrote ... http://cr.yp.to/smtp/client.html [...] The client then sends a DATA request, and waits for the response: DATA 354 go ahead If the server does not accept the request, the client quits. At this point the mail is accepted. But we don't know if it has been delivered until "the final dot" (see below) AND the response from the server. The client then sends the encoded message, waits for the response, and quits: Date: 8 Aug 1998 04:10:45 -0000 From: [EMAIL PROTECTED] To: [EMAIL PROTECTED] Subject: chariot is back in service I patched up the wheel. It's as good as new. . 250 ok 902549473 qp 24035 QUIT 221 heaven.af.mil If the client encounters a message I/O error, it closes the connection immediately, without sending a final dot and without sending a QUIT request. At this point (the 250) the mail has been received and qmail-queue has written it to disk and read it back. However, if qmail-queue cannot queue the mail then a 4xx response is sent and the client keeps the message and retries. My reading of rfc 2821 (and DJB) is that the MTA may send a 250 and then a *subsequent* bounce message ... but that qmail will not do this. -- --gh