Mailgun offers pretty easy integration and 10'000 free emails a month. Plus the customer service is amazing.
DigitalOcean can host a pretty cheap and comfortable cloud server.
Setting up Mailgun
1. Register account
2. Add your domain
The registering process should take you right to the button. If it doesn't just go to the control panel and click on Add Domain.
Enter a domain you own. Please note that you can use this one domain with many services.
NOTE: I'm using "mailgun.domain.com" subdomain just to separate concerns. It's actually easier and more practical to just use your main "domain.com" instead.
3. DNS settings
Now Mailgun should have directed you to the DNS settings page. To find it manually, go to the Domains tab and select your domain. Here's my info (image is cropped):
Log into DigitalOcean and select the Networking tab on the left.
Select your mydomain.com (no need to create separate subdomain).
Use the "Add record" button to add all the necessary information.
Basically you need to convert the Mailgun provided data into this:
Things to notice when entering data
- the txt details may need to be in double quotes: "v=spf...".
- Domain values need dots at the end (DigitalOcean will tell you this)
v=spfpart needs an
@in front, not your domain, as Mailgun instructs.
- Mailgun domains use the extension .org!
4. Wait for DNS records to update
Usually this takes about 24 hours. If you're in a hurry you're welcome to go insane with the "Check DNS Records Now" button.
5. Ready to use
Did your domain get verified? Feel free to ask questions in the comments.