Cheap Email API: Mailgun Flex Plan
In this post I'll illustrate how to pay next-to-nothing for email sending by using the Mailgun FLEX plan, if you complete the maze of design dark patterns, that is the mailgun web application.
I was recently in need of a developer friendly email plan to facilitate signup confirmation and password reset emails for a project and one of the services that sprung to mind was mailgun!
Obviously not the only mail sending service on the market, but they do in fact offer a pretty good price! It's 1000 mails free and after that about 1 USD per 1000 mails, which is great for not having to host your own email infrastructure that would probably get insta-spam blocked by the big email players anyways.
The honorable Mr. Wixfort, when we were debugging a server issue, alerted me that I was in fact on a trial that would charge me 35$ a month for about 50 emails (instead of the first 5000) free ones, because my sending volume is VERY low, so I started digging around for alternatives.
I was sure there was some cheap low volume option, but I couldn't see anything on their pricing page:
As I was about to cancel my mailgun account I did find the option to pay as you go with 1000 free emails sends a month! The shady thing is that you need to complete the following steps first:
- Sign up on a free trial for the Foundation Plan
- Enter your credit card information
- Complete cell number verification
- UNSUBSCRIBE from the trial (this is not actually relevant for you if you just want to send transactional emails, your domain stays verified as well)
I have illustrated the steps below, starting in the billing interface:
Finished! You're now "unsubscribed", yet on a "pay as you go" PLAN and you can still send emails.
This must have been the worst UX experience I've had in recent times and the business desire here STRONGLY outweighs the user experience by several orders of magnitude.
You can read about the flex plan in the mailgun help center, which doesn't exactly show you how you get there, but at least it tells you how to set a global sending limit for your account.