Hello,
I have received this as
http://bugs.debian.org/237947
On 2004-03-14 "Steinar H. Gunderson" <sgunderson@???> wrote:
> While implementing greylisting in exim4 we came across an interesting
> possibility: Reject not _after_ DATA, but actually on the DATA command
> itself. (Most greylisting implementations seem to reject on RCPT, but
> that potentially breaks callouts etc. in all sorts of ugly ways.) Ie.
> something like:
> 220 exim4 blabla
> EHLO domain
> 250 OK
> MAIL FROM: <foo@bar>
> 250 OK
> RCPT TO: <bar@foo>
> 250 Accepted
> DATA
> 401 Sorry, greylisted, try again later.
> Thus, one doesn't have to waste bandwidth and processing power on
> something that will only be thrown away later, but one doesn't break
> callouts either.
> The simplest way to achieve this would probably be adding an
> acl_smtp_predata ACL, run at the DATA command. Would this be possible to
> implement?
[...]
It sounds like a logical additions, I am just not sure how other MTAs
would interact, rejecting the DATA command itself seems rather unual.
For reference RFC2821 says about this:
| The DATA command can fail at only two points in the protocol exchange:
| - If there was no MAIL, or no RCPT, command, or all such commands
| were rejected, the server MAY return a "command out of sequence"
| (503) or "no valid recipients" (554) reply in response to the DATA
| command. If one of those replies (or any other 5yz reply) is
| received, the client MUST NOT send the message data; more
| generally, message data MUST NOT be sent unless a 354 reply is
| received.
[The second point is the answer to the data the client sent, when
exim's data ACL runs.]
cu andreas
--
"See, I told you they'd listen to Reason," [SPOILER] Svfurlr fnlf,
fuhggvat qbja gur juveyvat tha.
Neal Stephenson in "Snow Crash"