hello
although that most ppl ( including myself) are against SPAM but I am sure that you are not SPAMing ppl
I faced the same situation few weeks ago and my solution was simple , while you are going to BCC all the recipent ....
use PERL ,, it is simple to write a shell script in PERL to send emails , use PHP to store the message in DB or whatever you want ( i.e file ) or just use the script it self to get the message by STDIN
I assume that you store the addresses in DB , let the perl script retreive the message + email addresses and do the process
if you want , you can devide the process to send X emails in each turn , so you don't kill the server
use sleep(X) where X is a number..
I know this might not be the best solution ,, but its a proper one
good luck and all the best wishes.