Ralph Seichter:
> * Wietse Venema:
> 
> > What problem are you trying to solve?
> 
> Milters A, B and C in my example scenario can trigger asynchronous
> actions in backend systems, the results of which become available only
> after a delay caused by processing, which takes about 3 minutes. These
> results are required by milter D, and it is not feasible to have Postfix
> hold the original sender's session in an active state for this amount of
> time.

Use milter_header_checks to trigger a FILTER action. This will divery
a message to a content_filter that upon re-injection into
Postfix 

    internet -> smtpd(with milters A-C) -> cleanup -> queue

If the message has no magical headeer, it is delivered as usual.

    queue -> smtp -> network
    queue -> local -> mailbox

Otherwise it is sent though a content filter than can be empty

    queoe -> smtp(with large timeout) -> 
        smtpd(with milter D, with large milter timeout) -> cleanup -> queue

and then it is delivered as usual.

This requires that Milter D blocks until the nedessary info is available.

        Wietse

Reply via email to