My database contains 20,000+ verified email-addresses. These are user's emails with permission (users set in options) to receive newsletters, updates, etc... from website. I actually never used their email addresses for any purpose but now I want users to get some updates from website periodically (once per month or two months). My wonder is more about how to send same email to 20K of users as fast as possible and what restrictions I might face doing this?
I have some ideas how to do this using Cron and PHP build-in mail() function but I can't send 20K emails at once (may I?). Also, I know that emails will most probably end up in junk/trash/spam folder at receiver's (that's fine) but not sure is there some law against sending mass-emails or restrictions (defined by hosting service).
What I need is answer how I can do it and what's best way to accomplish this task? This is not "give me solution" question, just need some tips because I've never sent more than 5 emails at once in my life and couldn't find answer to this question. Wonder how large services, such as Facebook, Twitter, Youtube inform their users (probably millions of them at once)?
Note: Sorry if this is not right place to ask this question, I had second thoughts about where to post it, here or at StackOverflow, but according to how my problem looks like (I don't provide or ask for code), guess it would be closed at SO as "not constructive" or even "off topic".