Marcus:
> Based on the recipient, send that message down a custom transport (defined in
> master.cf) and this should be applied to outbound messages only.
> By outbound messages I mean messages sent to domains other than $mydomain.

Use transport_maps.

> So I tried transport_maps. And it works, but ...
[..]
> I have two extra queues (anti-virus and secret-biz-sauce) and that means
> transport_maps is queried a several times for every message and as result the
> time spent on lookups became a problem.

You need to use a more efficient implementation. Why do you need a
UNIX-domain server in the first place? Have you considered the
following:

- You can specify MULTIPLE maps in the transport_maps parameter
value.  Specify a hash: map (for easy lookups) before other maps.

- PCRE tables can do the pattern matching without sending things
across a socket and doing pattern matching in a different program.

- Use a persistent server. Do not use fork() or exec() or system()
for every query.

        Wietse

Reply via email to