With 31,000 email addresses you'll find that most, if not all, plugins won't be able to run that sort of mail queue. The standard time-out on any PPH script is 30 seconds, and there's no way that you're going to get 31,000 emails out in that time unless you have a truely amazing server/network configured there. This time out can be changed, but you'll be sitting back for a very long time wondering just how far through the queue it will get before it crashes.
You'd also need to look at your hosting package. Most hosting companies these days have very firm limits on the amount of emails that can be sent out in a period of time. Most are around the 500-per-hour mark, and this includes any emails from your users accounts as well. If you hit this limit the email sending is jsut dicarded without any notice or warning so you won't ever know that you're missing out on sending 30,500 messages every time. A lot of hosting companies also don't allow bulk sending from their servers as part of their Terms Of Service, so you would need to check that before doing anything as well. Even if you do send, you're risking your IP address being added to SPAM blacklists, and that won't only affect you, but also any other website that is being run from that same IP address.
The solutions that I've seen use a mail sender like MailChimp (not recommending, just the only one I know off the top of my head) and use their API system to set up emails and then use that company to send them off. There are costs there the same way as there are with any commercial email promotion service, but the costs are there to ensure that it works, ensure that the messages and subscribers are looked after the right way, and most importantly to make sure that the messages are all actually sent out correctly.