On Sat, 6 Oct 2001, Jonnie wrote:
> Clearly what I need to do is split the message with a huge recipient list
> into a number of messages which will route in parallel.
>
> I've been puzzling over this for some time now and I wonder if something
> like this should work:
>
> ** in the main config **
>
> message_filter = /path/to/filter/file
> message_filter_pipe_transport = bendy_batch_transport
Not really because it won't have all the recipients correctly in the
SMTP commands. You want to arrange for the normal recipients to be
delivered in a magic way, not for a filter to override with a different
delivery.
I made this suggestion to somebody else. I don't know if it works; I
haven't tried it. An alternative might be to use a pipe transport and
the -bS option (i.e. a combination of your idea and my idea).
# Router: If a message has more than 100 recipients, send it to ourself
# over an smtp transport that sends only 100 at a time. This should be
# the first router.
split_up_big:
driver = domainlist
condition = ${if > {$recipients_count}{100}{yes}{no}}
transport = loopback_smtp
route_list = * 127.0.0.1 byname
self = send
# Transport
loopback_smtp:
driver = smtp
max_rcpt = 100 <= actually, this is the default
This is a horrible hack, but I think it should work (modulo any typos
etc. that I've made). I have no idea how it will work out speed-wise,
though.
--
Philip Hazel University of Cambridge Computing Service,
ph10@??? Cambridge, England. Phone: +44 1223 334714.