Setting up a Professional-Looking Email Address with a Custom Domain for Free (Well, Almost Free)
When I was creating this website, I wanted to publish an email address for readers to contact me. However, I did not want to spend money on an email service provider like Google Workspace, publish my personal email for the world to see, or create another *@gmail.com account. Rather, I wanted a professional-looking email using a custom domain at a cheap (or free) price.
After some research, I came across a product called Zoho that fit my needs. Zoho is an all-in-one software as a service (SaaS) platform for small businesses, and an email service is part of their suite. The features I needed from their email service was included in their free version. Note, I am not affiliated with Zoho nor am I getting paid to talk about them.
I proceeded setting up my email account so I can send and receive emails from connect@joshuacmin.com. After completing the setup, I realized unless you are an IT professional, the DNS record setup may look foreign and confusing. Therefore, I wanted to explain why these DNS records are required and give general instructions on how to set up the DNS records. That way, anyone can confidently set up a professional-looking email address at no cost (except for domain registration and hosting fees).
Purchasing Your Domain
I personally use AWS to register and host domains, but it’s not the cheapest. Some other popular places to register a domain are Bluehost, Namecheap, and Cloudflare. Namecheap looks to be the cheapest if that is your priority. So the first step is to pick a domain registrar, sign up for the services, and start searching for an available domain.
Once you find a domain name that you like and is available, register it! Congratulations, you are now the proud owner of a new domain.
Signing Up for Zoho (or another mail provider)
I won’t go into too much detail for this step, but you can sign up for Zoho Mail here. I want to reiterate I have no affiliation with Zoho; I just found their product was free and sufficient for my current needs. If you decide to use another email provider, the steps for setting up DNS records remain generally the same.
Setting Up DNS Records for Email
Once you sign up for Zoho mail, you’ll be bombarded with requests for creating DNS records for your newly purchased domain. Before going through how to create these DNS records, I will walk you through what each DNS record is used for.
Walking Through Each DNS Record
Domain Verification: The email hosting provider will need to verify if you own the domain before creating an email account. This prevents people from creating fraudulent email accounts. After all, email hosting providers have a reputation to maintain, and they do not want their mail servers to be blacklisted. Domain verification records are typically TXT records but they can occasionally be CNAMEs. If you don’t know what that means, a TXT record is just like a note on your domain while a CNAME maps a domain or subdomain to another domain.
MX Records: MX Records tell email other email hosts if I want to send an email to *@joshuacmin.com, where do I need to send the email to? Therefore, setting up MX records is required for receiving emails to your business email address.
The next three DNS records are related to email authentication. What does that mean? I’ll explain with an example.
When you receive an email from tim.cook@apple.com, how can you or your email server know that it was actually sent from apple.com and not some hacker pretending to be Tim Apple? This is where SPF, DKIM, and DMARC records come into play. The combination of these three records help prevent fraud and impersonation in the email world. Setting up these records is not only best practice for security but is also very important for email deliverability. Google recently came out with new rules that they will reject emails from domains that don’t have email authentication implemented.
SPF Record: The SPF record on a domain specifies who are authorized senders for a domain address. To some extent, it tells email servers who are authorized senders of *@joshuacmin.com emails. If you receive an email sent by connect@joshuacmin.com that originated from Zoho mail servers and the SPF record specifies that Zoho mail servers are authorized senders, then you can be confident the email is legitimate. The SPF record is a TXT record on the domain and can specify multiple authorized sender addresses. Sender addresses can be domains or IP addresses.
DKIM Record: The DKIM record on a domain is a public key used to determine if an email is cryptographically signed by a mail server with the correct private key. This helps not only verify the email is signed by a legitimate party but also prevents tampering of the email contents itself. I won’t get into the details of how it works, but it’s another effective method to prove legitimacy of the email . the DKIM record is a TXT record on the domain with an optional “DKIM selector” in case there are multiple mail servers that need to send emails using different private keys (like if you have an email marketing tool that is separate from your normal business email servers).
DMARC Record: The DMARC record specifies how email servers should handle emails that don’t pass both the DKIM and SPF tests. Typically, you’d want to set this record so that if both SPF and DKIM fails, the email servers reject the email. This will prevent fraudulent emails from making it to client inboxes. The DMARC record is a TXT record.
Creating DNS Records
Now that you have an idea of why we need to set up DNS records, you’ll need to know where you can enter these records. The values are all obtained from your email hosting provider (like Zoho), while the values are generally entered at the same site you registered your domain. When you click into your registered domain, you should generally see a section where you can enter DNS records.
Thanks for taking the time to read my post! If you have any questions or would like help setting up DNS records or email security, please feel free to reach out at connect@joshuacmin.com.