[Top] [All Lists]

Re: draft-ietf-sieve-refuse-reject-07.txt

2008-06-20 01:57:28

On Thu, 2008-06-19 at 12:43 -0700, Matthew Elvey wrote:
This is how a conforming system implementation would work:

Step 1) SMTP client connects to receiving system, which consists of an 
ingress MTA sitting on the Internet  in front of (and protecting) an MDA 
(store) with which it communicates over LMTP.  The system (the MDA in 
particular) contains and processes Sieve scripts.

Step 2) SMTP client continues the SMTP conversation to the point that 
the system receives a message to one recipient and the character 
sequence "<CRLF>.<CRLF>".  (See DATA (DATA) of RFC 2821)

"one recipient".  check.  do you have a document where best practice for
ensuring this is documented?  (please don't say "Everyone switch to
Qmail" :-)

Step 3) The system does NOT need to IMMEDIATELY reply,  instead, it may 
perform some processing, as RFC 2821 indicates.  RFC 2821 says 
specifically that the SMTP client SHOULD wait a minimum of at least 10 
minutes for the "250 OK" reply.  This processing should include:

Step 4) The MTA immediately connects to the MDA and attempts to pass on 
the message. If the MDA decides to 'ereject' the message, the MTA will 
pass along the message to the SMTP client by sending a failure message, 
instead of "250 OK".

I believe all or at least nearly all multi-component implementations can 
and should work this way.

I'm not aware of any open source systems where this is possible, so
please enlighten me.  I was going to extend Exim's callout mechanism to
do a full body callout so that it could be combined with Cyrus' LMTP,
but didn't get that far before switching to non-mail related employment.

Kjetil T.

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