Over the years as I write code and configure systems, I have mostly exclusively selected free and or open-source approaches to getting things done. Many open-source and sometimes just freemium setups would yield the same professional result as other paid alternatives, you should just be able to set it up. For example, I have secured dozens of sites including stacknerds.com with SSL certificates but I have never paid for an SSL because I found Let's Encrypt which is a is a non-profit certificate authority run by the Internet Security Research Group. Yet, lots of developers just add an SSL certificate to their cart when buying domains despite having the ability to configure one in a few minutes, although mostly cheap, configuring yours for $0 does not hurt and saves you a couple of dollars.
Also, apart from time, one thing that prevents many people from doing some basic things on their own is simply that they don't know how to do it. In this article, I am going to show you how one of such "free and simple" setups work.
How do you use an email like email@example.com or firstname.lastname@example.org with the convenience of receiving and replying to mails from your already familiar Gmail? On a normal day, you would just pay for G-Suite to have that out of the box. Worst, you can just stick to that C-Panel configuration with a mail client like WebMail.
Well, I bet you don't want to pay and also do not want to login to webmail every time to check new mails so let's go this free setup.
Pros of this setup;
- It's super simple for the users; be it you or members of your organization, It would be fun to receive a notification as you would for any other normal emails in your Gmail account with your business emails as well. You won't have to manually "go check" for mails in some obscure email client.
- The Gmail app is great and offers and good user experience, you might just want to stick to such an experience for all your mails.
- It's free
Cons of this setup;
- You need to set it up yourself
What you need
- A domain name with due access to domain name records settings to add special mail records.
- A mail relay service or mail servers such as
Mailgunor SendPulse, SendPulseoffers 12000 free mails a month if you use up all of that then you should indeed be paying, Mailgunused to give 10000 but now has a different strategy which still boils down to free for a few thousand mails. You can find an alternative, so long as it has support for email routing.
- A Gmail account.
I am sorry that's impossible
So I have been using the setup I was planning to show you for years and procrastinating on writing this article, upon logging into Mailgun the mail routing service has been made a premium feature and as a result, a paid one however all my previous setups are working. Additionally, other services such as SendPulse use webhooks to forward email, even though it's free, it ceases to be a "minimal setup" costing time. That invalidated this entire article.
So I contemplated whether I should go ahead and make the tutorial with Mailgun's paid feature and remove free from the title. (It's cheap though, and tutorials are made for paid services too), but then it dawned on me that if I removed free from the title you and me (oh no!) would have to pay for a minimal setup, I have nothing against paying for services but when you are a single developer or a young startup trying to dish-out MVPs you want to find out every way to cut cost.
Let's fix it.
So I found another way to get this done! In addition to the pro's listed before, this is even better as it's open-source! We would use fowardemail.net's free-email-forwarding to set up our professional email and GMAIL. check out their repo on GitHub.
Before I dive into the pretty simple set up, what is email forwarding and how does it work? Email forwarding generally refers to the act of re-sending an email message delivered to one email address to other email addresses. In this case, we want to simply forward mails sent to your domain work addresses to designated Gmail addresses, we would also set up "reply as" that would enable you to reply to your professional mails.
Like I mentioned earlier for this to work, we need to add MX (Mail eXchange) records to your domain name settings (records). These MX records would essentially show mail services the server that is in charge of handling (receiving and perhaps forwarding) your mails. In this case, our chosen server is fowardemail.net. You could set up the mail server on your domain if you want, but using fowardemail.net servers is just fine!
Watch me do it, already.
Leave questions/comments on YouTube and on Twitter and Facebook @stacknerds.