To get my web app's emails through the Gmail spam filter, I had to:
1) Set up DKIM on mail server and sign all outgoing emails
2) Set up SPF records
3) Make sure emails are multipart (contain both HTML and plaintext), not just HTML
4) Make sure HTML email is formatted correctly (html open and close tags, etc.).
5) Ensure mail server's reverse DNS is set up properly
It was a long night for me getting all of that crud set up. But, these steps appeared to earn me enough "maybe-not-spam" points to get through. There are also third-party email hosts you can use that specialize in making sure web-app related email gets delivered.