Maybe this is more for the archives than anything.
I was able to send huge amounts of email successfully using php by
1) setting a high time out in php (4 minutes)
(for each message)
2) opening a pipe to exim
3) using command line option -t -odq
4) sending the message down the pipe
5) occasionally flushing progress to the browser
I also modified the following config option in exim:
smtp_accept_queue_per_connection = 5000
(not sure if it was necessary)
Using this method, I was able to push 8,000 emails through a web based
system (in blocks of 1,000).
For the future, I like the idea of writing a bsmtp file and then passing
that file to a Perl script to actually handle the batching.
Thanks to everyone who provided help to me.
James.