+1 for Sendgrid.
There's an extremely interesting post by Jeff Atwood about sending email programmatically. It's a good read - explains why a lot of mail ends up in spam. ( http://www.codinghorror.com/blog/2010/04/so-youd-like-to-sen... )
SendGrid takes care of everything in Jeff's post and it handles both bulk and transactional email, so it's a great pick.