[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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



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 4.1.1.4 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.

-- 
regards,
Kjetil T.