Is setting up a (free!) google apps account on your domain, and then using google (gmail) a viable option? (as long as you are within gmails limits on sending emails)
Not a very good option in my experience. Google has some pretty complicated abuse detection algorithms in place. For example, if an account sends email through SMTP, but never receives any email, logs in via POP, or through the web interface, the account may get shut down. Also, Google's tolerance for "Mark as Spam" on the email you send is very, very low. It boils down to this: Google Apps isn't the same as SendGrid, Postmark, etc. Google Apps is intended for use by people, not web apps.
Having said all that, these are my experiences. I've tried it on three separate occasions in the past, and every time, I ended up fighting deliverability problems until I finally moved to a different solution. The most common is that the Google Apps user through which you send email gets disabled for "abuse", and you have to log in through the web interface in order to re-enable it.
I do this for a variety of reasons (including that not all my dev machines have working email), and it works well for us. Not a massive amount of email being sent, but seems to work well. Any horror stories?
I used Google AppEngine for a mobile game that sent email to notify players. While there was a link to turn off emails in every email and a setting in the app, enough people clicked "mark as spam" that we got shut off.
It happened a couple of times and each time Google turned us back on. My general experience is that Google is more heavy handed than a true ESP like Sendgrid or Postmark. ESPs take spam seriously, but they also know spam reports are a fact of life.
Having said all that, these are my experiences. I've tried it on three separate occasions in the past, and every time, I ended up fighting deliverability problems until I finally moved to a different solution. The most common is that the Google Apps user through which you send email gets disabled for "abuse", and you have to log in through the web interface in order to re-enable it.