ietf-smtp
[Top] [All Lists]

RE: Abort data transfer?

2009-11-15 14:53:02

Sorry about the late reply...

This isn't how Sendmail works.  The entire message is cached to the queue
before milter is told anything about the headers or body.  There's no "a few
seconds ahead", it's all the way ahead.  Milter has no opportunity to say
REJECT in the middle of the SMTP DATA phase because the filter doesn't even
know that's where the MTA is.

Interesting... Our milter implementation actually sends the message to the
client as it is received. Of course any REJECTs or ACCEPTs or whatever that
occur along the way are noted and further output to the milter is blocked.
The status is then considered after the message is complete.

Implementing it the way we did was something of a PITA; I certainly  can
understand why sendmail opted for the collect then send approach.

The sendmail way has the advantage of being more efficient if you have
slow clients and/or heavy milter processes. Because it runs milters as
fast as they will go, it doesn't require as much milter concurrency to
deal with a given volume of mail.

(I thought the milter protocol was designed to be implemented the way you
did it, Ned, so I'm surprised that Sendmail doesn't do it that way too.)

Tony.
-- 
f.anthony.n.finch  <dot(_at_)dotat(_dot_)at>  http://dotat.at/
GERMAN BIGHT HUMBER: SOUTHWEST 5 TO 7. MODERATE OR ROUGH. SQUALLY SHOWERS.
MODERATE OR GOOD.

<Prev in Thread] Current Thread [Next in Thread>