Update 2/20/14: I’ve switched to SendGrid. I’ve been using them for a few weeks and am completely satisfied!
Update 10/31/13: Postmark has terminated my account because they aren’t comfortable with the Fake Name Generator. I’m disappointed that they would make this decision, and I can no longer recommend their services.
The Fake Name Generator lets people order (for free!) large lists of fake names, addresses, and other information. It can take a few minutes to generate the data files, so users are required to give me their email address so I can send them an email when their order is ready.
This has caused me a few problems:
To solve this, I’ve done a few things.
First, instead of sending email directly from my server, I’m using Postmark, a service that is specifically designed for transactional emails. Postmark is amazing. With just a few clicks I had a virtual mail server configured with DKIM, SPF, and SenderID. It uses an API instead of clunky SMTP to accept emails. This was easy to integrate using some free code I found online. Because it is only used for transactional emails, deliverability is extremely high.
It also comes with a few additional perks. It lets me see every email I send out, so if I do get a support request, I don’t have to ask anyone to forward me emails or links or wonder if the email was actually delivered.
Postmark helped me solve the bounce problem, too. It lets you use a hook URL to handle bounces. I set up a simple script that grabs the email address for any bounced email and blocks that email from ever ordering from my site again.
There are a lot of alternatives to Postmark out there and some are considerably cheaper, such as Amazon SES and SendGrid. I did a fair amount of research before picking a vendor. To be honest, Postmark just seems better. They are more reliable, they have more features that I’ll actually use, their pricing is pay-as-you-go (no monthly minimums), and their API is lightweight and easy to use.