How To Setup DKIM TXT Record With Zoho Mail In A VPS

Do you use Zoho to host the email for your website? Well, then you very likely will want to setup the DKIM record in your DNS records to make sure that when you send email, it gets flagged as spam much less. This article will discuss step-by-step how to setup the DKIM record for Zoho on your VPS.

Setting up DKIM is slightly more time consuming than setting up SPF for Zoho mail, but not much more.

Step 1: Get your unique DKIM TXT record info from Zoho

Log into your mail account with Zoho mail via https://www.zoho.com/mail/
Then, once you are logged into Zoho mail, first navigate the menus like so:
settings ->control panel

Once you are inside the control panel, on the left hand side menu bar, find “Mail Administration”. Then expand it. Then, navigate the menus like so:
email authentication → DKIM

Find domain name, and click on the pencil icon, which will say “edit” after you hover over it. Next click on “+Add selector”

Next, choose a selector name. Technically, you can use any selector name, but I will assume you are using “example” as your selector name.

Next, click on “save”. Zoho will then generate a TXT record for you to use.

The TXT includes a long public key which makes your email server authenticity very difficult to fake.

Your TXT record will look something like:
v=DKIM1; k=rsa;
p=ewvkhhJLGFGeqQpJhHikwO9uR3Vr+13hKj1B3sFkclWEjnzkuup1KWQFvb11oyQ49CPLtq0ZdbkM7qIzIbHJ7il9cktyEzKp5LGW+OEzAvioBUaGeN5PTde6qVU3zjP0FFlumJ5JOmVz3SVNDPNnim2jURJ5QehT9tmzQqwOL5ifXZ4tM0xWCQ+ziE7ww9QvfcshkBNXDaWdRuOD55hwLUWR

The p= part means your public key. My public key is 216 characters long, and yours will be similarly as long.

Now, copy everything from the TXT record from Zoho, and paste it into a text file for later retrieval.

Step 2: login into your VPS

Login however you need to, to get access to your VPS.

Step 3: Find your DNS config file

Go to /etc/bind/ and find the config file for your domain. For this site, I would type:
cd /etc/bind/
ls
Assuming my site is example.com, I should see that the appropriate config file is db.linuxwebdevelopment.com

Next edit the confirguration file for your site with sudo (or without sudo if you are already logged in as su). Assuming you own example.com, you would type:
sudo vim db.example.com

Step 4: Add the TXT File To Your Website’s Config File

Simply add this line, exactly as it is written. Only change the p=part with your public key that Zoho gave you
Remember the record is all 1 line.

below is an example of a DKIM TXT record.
example._domainkey 600 TXT “v=DKIM1; k=rsa; p=ewvkhhJLGFGeqQpJhHikwO9uR3Vr+13hKj1B3sFkclWEjnzkuup1KWQFvb11oyQ49CPLtq0ZdbkM7qIzIbHJ7il9cktyEzKp5LGW+OEzAvioBUaGeN5PTde6qVU3zjP0FFlumJ5JOmVz3SVNDPNnim2jURJ5QehT9tmzQqwOL5ifXZ4tM0xWCQ+ziE7ww9QvfcshkBNXDaWdRuOD55hwLUWR”

And below is an example of a screenshot of an example DKIM TXT record

Now save the configuration file after pasting in the appropriate text.

Step 5: Restart Bind9

Next, we will restart bind for the changes to take effect.
sudo service bind9 restart

Step 6: Go Back To Zoho and Verify the DKIM

Now in the Zoho admin menu, click on the icon that says “verify”.
(note. If this initially doesn’t work, you might need to logout of Zoho, log back in, and then through the menu again, do:
settings ->control panel -> email authentication → DKIM
Click on the yellow triangle icon, which is to verify. Once you see a green circle, you know that you setup the DKIM record correctly.

Did you like this article? Have anything to add? Let’s discuss it in the comments below.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.