I recently moved my personal websites from a shared hosting provider to my own VPS at Digital Ocean (use that link, create a account and you’ll get $10 free credit!). I’m doing this a while now for customers but never found the time to do it for my own websites. As mentioned earlier I’m using Serverpilot (use that link too, create a account and you’ll also get $10 free credit!) to configure and maintain my servers. But at the shared hosting provider, everything was taken care of, including email. At my own server I’ve to do it myself (but gives me way more flexibility and options). Serverpilot installs Postfix to send email but doesn’t configure anything else like a SPF and DKIM records so it’s possible that emails are marked as spam. But what about receiving emails?
Use G suite, or previously: Google Apps
For 99% of my customers G suite is the way to go and they love it. But I’ve a personal Google account with a Gmail address and why should I pay for G suite just for mail? I don’t need the rest. At the shared hosting company I just had some email forwarders setup in the Direct Admin control panel. That’s what I want! Just some simple mail forwarders…
Setup mail forwarders with Postfix
I’ll spare you the details, but configuring Postfix to forward emails isn’t that hard. But we’re still missing the SPF and DKIM records to make sure our emails will not be marked as spam, that’s taking some more time but I don’t like to repeat these steps on multiple servers and for multiple domains…
Use a email service to send emails
To make sure our emails will not be marked as spam we could use a email service like SendGrid, Mandrill, Amazon SES, etc. I’ve created a account at SendGrid, configured the DNS records, installed the WordPress plugin for my blog and it’s working perfectly! Not one email was marked as spam! But that’s for sending emails, I still need those email forwarders…
Catch-all email forwarding with Improvmx
Improvmx makes it possible to create a catch-all email forwarder very easily. Change your DNS MX records, fill-in your domain and email address and you’re done! How awesome is that? But what if I want to be explicit about my email forwarders or don’t want a catch-all one…
With Mailgun it’s also possible to receive emails, not as a inbox (which I don’t need) but as a forwarder or parser! So I’ve deleted my SendGrid account, removed the SendGrid WordPress plugin, created a Mailgun account, added my domain, configured the DNS records, installed the Mailgun WordPress plugin and created some “routes” to forward my email. Awesome!
Things to keep in mind
By using a email service you’ll have to make sure you configure it at all your applications/websites. For WordPress there is a Mailgun plugin, Laravel supports it out of the box and for other platforms who don’t have anything like that you can use the SMTP credentials provided by Mailgun. Also the title of the article is “free email forwarding”, yes it’s free up to 10.000 email a month, you need more? Check out the Mailgun pricing. And a quick tip for testing your mail forwarder: http://send-email.org.
Once in a while I receive emails with suggestions for other services, I’m trying to list them here: