The limitation is that many email servers can't accept email requests as fast as universal email will send them... also many service providers explicitly set a limit much lower than what that actual breaking point might be to prevent potential problems.
A solution is to contact your service provider and find out if they have any set limits to number of emails per second, minute, hour, day... then instead of sending all of your emails at once, use a recordset results set with a limited number of records... say they tell you that you can only send 100 per minute... show 100 records on the page and have a send button to send to those 100 users... then click the next button and wait a minute to send to the next 100 users.
This is a manual technique, but will work. Programatically you could probably write code to do the equivalent of this automatically by writing code by hand, but the above solution would be doable by just applying existing server behavior functionality in the correct way.