All of my emails get queued up in a mySQL database and then about 100 are sent out every half hour. This includes password reminder emails requested by people that can't login. The problem I'm seeing is that some people email to complain they never got the password reminder when, in reality, they just didn't wait long enough to get it.

What do most people do for confirmation emails and password reminder emails? Do you guys send them instantly using SMTP or do you queue them up in a database and use a cron job to send the next batch of emails?