Have you looked into what SES or other email services provide? Sending emails is easy, while actually getting them delivered is harder. You have to make sure you're not getting flagged as spam, can handle bouncebacks, etc.
Here's one discussion:
https://stackoverflow.com/questions/371/how-do-you-make-sure...