You might also want to consider having it process the emails in batches along the lines that blenard suggested. IE create a temp table, copy over say 100 addresses, send out the emails, delete the temp table, copy over the next 100 address, etc.
Also look into sorting those addresses and sending one email to all the email addresses in one domain. IE all the aol.com's, all yahoo.com's, etc. This way, ONE email message goes out, uses fewer resources both on your end and on the receiving mail server end. They will thank you. Though if your email message that gets sent out is personalized, then you're SOL and will have to send out each email seperately.