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