>>>>> "Ralph" == Ralph Seichter <ra...@ml.seichter.de> writes:
Ralph> * Wietse Venema: >> What problem are you trying to solve? Ralph> Milters A, B and C in my example scenario can trigger Ralph> asynchronous actions in backend systems, the results of which Ralph> become available only after a delay caused by processing, which Ralph> takes about 3 minutes. These results are required by milter D, Ralph> and it is not feasible to have Postfix hold the original Ralph> sender's session in an active state for this amount of time. So what happens if you get 1,000 emails coming into your system? This smells like a Denial of Service problem for you and your incoming email. That 3 minutes is a *long* time to wait for a reply on your milters. Ralph> My idea is to hold the affected messages in a FIFO-queue-like Ralph> component for a configurable amount of time, long enough to Ralph> ensure that the backend processing has finished when milter D Ralph> is called. Other than inducing a delay, the transport queue can Ralph> be "dumb". That whay, I see no need for any form of Ralph> synchronisation between Postfix and the third-party backend Ralph> processes. So basically you want to accept all emails, feed them through a chain of milters which take forever to process, and then deliver or not? Are you're milters filtering out attachements? Or looking inside attachments for spam and/or viruses? Can you go up a level and talk about the problem you're trying to solve, not HOW you're trying to solve it. What email threat are you looking to solve? John