Tutorial

How To Set Up Zoho Mail with a Custom Domain Managed by DigitalOcean DNS

Published on January 21, 2015
How To Set Up Zoho Mail with a Custom Domain Managed by DigitalOcean DNS

Introduction

One way to send and receive email through your own custom domain is to use a third-party mail service, such as Zoho or Google Apps. The main benefit of using a third-party mail service, as opposed to managing your own mail server, is that you can avoid performing the ongoing maintenance that running a mail server entails. Of course, mail services for custom domains typically come with a fee, but Zoho offers a free mail service for up to 10 users on a single custom domain.

This tutorial will show you how to set up Zoho Mail with your custom domain that is managed by DigitalOcean’s Domain Name Servers. Also, we will show you how to use the mail setup to send mail from your applications using your custom domain.

Prerequisites

Before proceeding, you should own the domain name that you want to use as your mail domain. This guide also assumes that you are using the DigitalOcean DNS to manage your domain.

If you do not already own a domain, you may purchase one from any of the various domain registrars. Once you have a domain to use, you may use this guide to set it up under the DigitalOcean DNS:

You may also want to point the domain to one of your droplets, such as one that hosts your web server. This link will help you set that up:

Once you have a domain, and it’s managed by DigitalOcean’s DNS, you are ready to proceed!

Sign Up

Before using Zoho, you must register with them here: Sign up. You may register with an external email address or with a variety of OAuth options, such as Google Apps, Facebook, etc.

Once you are registered, ensure that you are signed in, then continue to choose your mail service plan.

Choose Plan

After you are signed in, you will be taken to the Zoho home page. From here, click on the Mail link.

Zoho home page

Ensure that the Add your existing domain option is selected. Then select the desired plan.

Zoho plans

For this tutorial, we will select the Lite plan, which is free and provides up to 10 mailboxes. If you have the need for more than 10 mailboxes, or if you need more storage, feel free to select one of the priced plans.

After selecting your desired plan, you must provide the domain name that you want to use with the mail service:

Domain name

After providing your domain name, click the Add Domain button.

Next, click on the Proceed to verify domain ownership link. At this point, you are ready to verify your ownership of your domain to Zoho.

Verify Your Domain

Zoho provides three different ways to verify the ownership of your domain. We will use the CNAME Method which involves creating a specific CNAME record in your domain’s DNS record.

At this point, you should be at the Domain Setup screen on the Zoho site, which should look something like this:

CNAME Info

Take a note of the CNAME and Destination items, as the next step is to create a CNAME record based on those values in the DigitalOcean DNS manager.

In a separate browser tab or window, go to the Networking section of the DigitalOcean Control Panel. Click on the domain in question to view and edit its records:

DigitalOcean DNS

Next, in the Create new record section near the top of the page, select the CNAME record type.

Add CNAME Record

Next, paste the CNAME provided by Zoho (which looks something like zb14217849) into the Enter Name field. Paste the Destination provided by Zoho into the Enter Hostname field, and add a dot to the end of it (i.e. zmverify.zoho.com.). Now click the blue Create Record button.

Now go back to the Zoho Domain Setup page, and click the Verify button at the bottom.

Click the Proceed button at the prompt:

Proceed

If you entered the CNAME record properly, you should see the following message:

Success! Create Admin email account

After you have verified ownership of your domain, you may delete the CNAME record that you created via the DigitalOcean DNS manager. Click the red X to the right of the record and click the OK button in the confirmation prompt.

Enter your desired username for your administrator email account, then click the Create Account button.

Add Users and Groups

At the Add Users page, we will click Next to proceed to the next step in the setup. This is assuming you only need one user or you will set up additional mail users later. If you wish to add users now, click the Proceed to Add Users link instead.

We will proceed with the Groups page in a similar manner, by clicking Next. If you wish to add groups now, click the Proceed to Create Groups link instead.

Add MX Records

Now you must add the Zoho MX records to your Domain’s DNS record.

Go back to the DigitalOcean DNS management page, and ensure you have your desired domain selected.

In the Create new record section, select the MX record type. Next, enter mx.zoho.com. (with a dot at the end) into the MAIL PROVIDER MAIL SERVER field, and 10 into the Priority field, then click the Create Record button.

MX Record

To add the second MX record, follow the previous step but enter mx2.zoho.com. into the Enter Hostname field, and 20 into the Enter Priority field.

Then add the third MX record, mx3.zoho.com.with a priority of `50.

Your Zoho mail with a custom domain setup is now complete! Feel free to proceed with the rest of steps that Zoho provides to perform email migration or set up mobile access.

Use Zoho Mail to Send Email from Application

If you want to use your new mail setup to send mail from one of your applications, using SMTP (Simple Mail Transfer Protocol), it is very easy to set up.

Typically, you will want to create a new mail user for this purpose, so we’ll do that now.

Create Mail User for Application

In a web browser, logged in as your admin mail user, go to the Zoho Mail Control Panel.

Click User Details in the navigation menu (left side), then click Add User (right side).

Create a user with your desired first name, last name, email address, and password:

Add user

For our example, we will use the following details:

  • First Name: Application
  • Last Name: Mail
  • Mail ID: application

With a Mail ID of “application”, and “example.com” as our domain name, the email address will be “application@example.com”. Take note of these user details (including the password), as you will need them when you configure the mail settings in your application.

Configure Your Application’s Mail Settings

The actual configuration of your application’s mail settings will vary, depending on the software, but the details that you will need to set up working outgoing mail are generally the same.

With this Zoho setup, you will need to specify the following details when configuring your application to send email. Obviously, some of your details will differ from the example, so substitute them as appropriate:

  • SMTP Host: smtp.zoho.com
  • SMTP Port: 465
  • Use SSL Encryption: Yes, use SSL encryption
  • SMTP Authentication: Yes, use SMTP authentication
  • Email Address or Username: The email address that you set up in the previous step. In our example, the email address is “application@example.com”
  • Email Name: The name associated with the email address. In our example, the name of the email is “Application Mail”
  • Email Password: The password that you set when you created the application mail account

Once you configure your application with these settings, your application should be able to send mail through the new user under your custom domain.

Conclusion

You now should be able to send and receive email with your custom domain—test it out by sending and receiving mail in the Zoho mail app, as the admin mail user that you created. Now is a good time to add additional mail users and groups, if you need them. You may access your mail accounts through Zoho Mail, and you may perform mail administration through the Zoho Control Panel.

Good luck!

Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.

Learn more about our products

About the author(s)

Mitchell Anicas
Mitchell Anicas
See author profile
Category:
Tutorial

Still looking for an answer?

Ask a questionSearch for more help

Was this helpful?
 
55 Comments
Leave a comment...

This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

Hai sir? why always here? http://prntscr.com/5x7ad7

@febrian, I’m getting this error too. How do you solve this?

I made a mistake. Instead of setting the cname in domain.com, I was setting in www.domain.com and because of that Zoho could not validate the domain. This was the first time I set up this type of service.

Look at the domain name he is trying to get zoho mail on, that’s a phishing domain if I ever saw one.

Thank you, I set up Zoho mail and it is working fine.

How would one use the Zoho mail server to send email from an application such as a PHP script (for a contact form for example) or for use with Wordpress? (i.e. instead of setting up postfix as a send only server on the droplet)

Can you use the PHP mail() function with Zoho servers?

i have DNS managed by DO and i use zoho lite. can you tell me how to have email address like name@email.domain.com, i want to have such type of email address but meantime i want to keep my current email address info@domain.com thanks!

Update: ok i got it, https://www.zoho.com/mail/help/adminconsole/domain-options.html#alink5

Thanks Mitch…Remember me :) Setting up my new domain on Digital Ocean and your help documents have been wonderful!!

Mitchell Anicas
DigitalOcean Employee
DigitalOcean Employee badge
June 26, 2015

Hey, yeah! I’m glad to help!

This comment has been deleted

    Has anyone got custom URL’s to work? mail.mydomain.com worked in GoDaddy prior to update to the DO DNS. I’ve followed the custom URL directions at Zoho without success. Do I somehow need to reconfirm ownership of the domain?

    Mitchell Anicas
    DigitalOcean Employee
    DigitalOcean Employee badge
    August 19, 2015

    To update your nameservers from GoDaddy, you can follow this tutorial. Then you need to add the records that zoho requires.

    manicas, thanks. Really thought everything was correct, even when looking through that tutorial (again). Turned out I just flipped the order of the name and hostname.

    This comment has been deleted

      Thanks for this tutorial! Is there a possibillity to expand this tutorial for setting up the configuration for sendmail on a Ubuntu droplet? I installed sendmail and maybe I should not done that as warwick in this thred found a tutorial using msmtp. I have googled for some information using sendmail to enter the configuration data in some configuration file with no luck. (There seams to be a few). It seams to be one macrofile called sendmail.mc that should be used to set up things but its scary. Any advice for entering the settings you provided at the end of this tutorial into sendmail?

      SMTP Host: smtp.zoho.com
      SMTP Port: 465
      Use SSL Encryption: Yes, use SSL encryption
      SMTP Authentication: Yes, use SMTP authentication
      Email Address or Username: The email address that you set up in the previous step. In our example, the email address is "application@example.com"
      Email Name: The name associated with the email address. In our example, the name of the email is "Application Mail"
      Email Password: The password that you set when you created the application mail account
      

      Well, i got bummed with creating a bunch of emails for a bunch of domains and did what any sane person would do, built my own little app to have all my emails and domains on one page. Hope it helps others: www.scribmail.com

      This is using the wrong MX servers according to zoho themselves. Use mx.zoho.com / mx2.zoho.com / mx3.zoho.com

      You also want to do this for SPF to avoid email going to spam: https://www.zoho.com/mail/help/adminconsole/spf-configuration.html

      Add this as TXT record: “v=spf1 mx include:zoho.com ~all”

      Like always, best tutorials ever, Worked perfect, thanks

      Hello with Zoho free plan can i add more domains to manage vps emails? And please, i running Wordpress on my host but i can’t connect any mail plugin with ZOho thorough SMTP, any help? thanks

      Hello your tutorial work great, i’ve test it with a Wordpress plugin called WP Mail SMTP where i can test configuration, email send out correctly but i didn’t received it, can you help me?

      If i deactivate plugin all emails from Wordpress send correctly throght sendmail

      Hello Sir, My domain is on godaddy and I have successfully setup the zoho mail but getting one issue I am able to send emails but not able to receive emails. getting below error while sending email from gmail account Technical details of permanent failure: Google tried to deliver your message, but it was rejected by the server for the recipient domain itzst.com by smtp.secureserver.net. [68.178.213.203].

      Please help me to solve this issue

      Hello @zakirim did you find a solution ? I have the same issue

      Same…

      Great tutorial, easy to follow. I need a link to all of your tutorials haha.

      I’m trying to use gitlab to send email by smtp but I can’t telnet out to smtp.zoho.com on ports 587 and 465 (time out). On my host it works. Whats going on???

      Hello, My domain is on Godaddy but I’m using DO DNS, so far everything is going well. When it comes to email, I am using Zoho (lite) basically I did all the steps, I am using Airmail and I config the email account in IMAP with the “pro” (custom domain) config all the test are good. But when I test by sending and receiving email only sending works. I have this when I’m trying to send an email : Google tried to deliver your message, but it was rejected by the server for the recipient domain mydomain.com by smtp.secureserver.net. [xx.xxx.xxx.xx] I tried in POP the same, could you please help me out with this? http://d.pr/i/14FJY

      Ok I finally found the solution myself I hope it will help others. I was still having the old “secureserver” steup in my MX records so I simply delete them and I keep only the zoho’s ones. Everything works now ! (-:

      This works like a charm from my localhost. But from my digital ocean droplet it takes 30 minutes to send the email.

      Great tutorial – just what I was looking for. Got the whole thing working in a snap. Thanks, Mitchell!

      This is using the wrong MX servers according to zoho themselves. Use mx.zoho.com / mx2.zoho.com / mx3.zoho.com

      You also want to do this for SPF to avoid email going to spam: https://www.zoho.com/mail/help/adminconsole/spf-configuration.html

      Add this as TXT record: “v=spf1 mx include:zoho.com ~all”

      Like always, best tutorials ever, Worked perfect, thanks

      Hello with Zoho free plan can i add more domains to manage vps emails? And please, i running Wordpress on my host but i can’t connect any mail plugin with ZOho thorough SMTP, any help? thanks

      Hello your tutorial work great, i’ve test it with a Wordpress plugin called WP Mail SMTP where i can test configuration, email send out correctly but i didn’t received it, can you help me?

      If i deactivate plugin all emails from Wordpress send correctly throght sendmail

      Hello Sir, My domain is on godaddy and I have successfully setup the zoho mail but getting one issue I am able to send emails but not able to receive emails. getting below error while sending email from gmail account Technical details of permanent failure: Google tried to deliver your message, but it was rejected by the server for the recipient domain itzst.com by smtp.secureserver.net. [68.178.213.203].

      Please help me to solve this issue

      Hello @zakirim did you find a solution ? I have the same issue

      Great tutorial, easy to follow. I need a link to all of your tutorials haha.

      I’m trying to use gitlab to send email by smtp but I can’t telnet out to smtp.zoho.com on ports 587 and 465 (time out). On my host it works. Whats going on???

      Hello, My domain is on Godaddy but I’m using DO DNS, so far everything is going well. When it comes to email, I am using Zoho (lite) basically I did all the steps, I am using Airmail and I config the email account in IMAP with the “pro” (custom domain) config all the test are good. But when I test by sending and receiving email only sending works. I have this when I’m trying to send an email : Google tried to deliver your message, but it was rejected by the server for the recipient domain mydomain.com by smtp.secureserver.net. [xx.xxx.xxx.xx] I tried in POP the same, could you please help me out with this? http://d.pr/i/14FJY

      Ok I finally found the solution myself I hope it will help others. I was still having the old “secureserver” steup in my MX records so I simply delete them and I keep only the zoho’s ones. Everything works now ! (-:

      This works like a charm from my localhost. But from my digital ocean droplet it takes 30 minutes to send the email.

      Great tutorial – just what I was looking for. Got the whole thing working in a snap. Thanks, Mitchell!

      This is using the wrong MX servers according to zoho themselves. Use mx.zoho.com / mx2.zoho.com / mx3.zoho.com

      You also want to do this for SPF to avoid email going to spam: https://www.zoho.com/mail/help/adminconsole/spf-configuration.html

      Add this as TXT record: “v=spf1 mx include:zoho.com ~all”

      Like always, best tutorials ever, Worked perfect, thanks

      Hello with Zoho free plan can i add more domains to manage vps emails? And please, i running Wordpress on my host but i can’t connect any mail plugin with ZOho thorough SMTP, any help? thanks

      Hello your tutorial work great, i’ve test it with a Wordpress plugin called WP Mail SMTP where i can test configuration, email send out correctly but i didn’t received it, can you help me?

      If i deactivate plugin all emails from Wordpress send correctly throght sendmail

      Hello Sir, My domain is on godaddy and I have successfully setup the zoho mail but getting one issue I am able to send emails but not able to receive emails. getting below error while sending email from gmail account Technical details of permanent failure: Google tried to deliver your message, but it was rejected by the server for the recipient domain itzst.com by smtp.secureserver.net. [68.178.213.203].

      Please help me to solve this issue

      Hello @zakirim did you find a solution ? I have the same issue

      Great tutorial, easy to follow. I need a link to all of your tutorials haha.

      I’m trying to use gitlab to send email by smtp but I can’t telnet out to smtp.zoho.com on ports 587 and 465 (time out). On my host it works. Whats going on???

      Hello, My domain is on Godaddy but I’m using DO DNS, so far everything is going well. When it comes to email, I am using Zoho (lite) basically I did all the steps, I am using Airmail and I config the email account in IMAP with the “pro” (custom domain) config all the test are good. But when I test by sending and receiving email only sending works. I have this when I’m trying to send an email : Google tried to deliver your message, but it was rejected by the server for the recipient domain mydomain.com by smtp.secureserver.net. [xx.xxx.xxx.xx] I tried in POP the same, could you please help me out with this? http://d.pr/i/14FJY

      Ok I finally found the solution myself I hope it will help others. I was still having the old “secureserver” steup in my MX records so I simply delete them and I keep only the zoho’s ones. Everything works now ! (-:

      This works like a charm from my localhost. But from my digital ocean droplet it takes 30 minutes to send the email.

      Great tutorial – just what I was looking for. Got the whole thing working in a snap. Thanks, Mitchell!

      Work for me, i have a Wordpress site on droplet, but send mail from my site is really slow ( like activation email, contact form) sure i’ts a problema by DO but i can’t identify what…any help?

      How did you configured SMTP When I am using WP SMTP I got

      Connection: Failed to connect to server. Error number 2. "Error notice: stream_socket_client(): unable to connect to smtp.zoho.com:587 (Connection timed out)```

      Hi,

      I followed all the firsts steps to set up Zoho mail in my domain, but it doesn’t verify. Could you please help me?

      Hi, If I have two sites with wordpress in my droplet with different domains. how I must configure to have multi mail. Ask this because I manage my domains with networking tool of digital ocean and in both I have configured zoho mail, but only send with my first domain. Thanks

      Hi, thanks for this, I did not have any problems and now I have my email working

      Did any of you stumble upon SMTPAuthenticationError at / (535, ‘Authentication Failed’) after implementing ZOHO as smtp?

      Is this fixed . I am also facing this issue

      Zoho config is for you to use it through an outlook config, etc and that will work. For sending email through servers, I suggest using something a bit more robust to avoid black lists such as sendgrid, etc.

      Thank you, I set up Zoho mail and it is working fine.

      Like always, best tutorials ever, Worked perfect, thanks www.bharatbills.com

      Good tutorial however a bit confusing here: where you say change the MX records to mx.zoho.com., mx2.zoho.com., mx3.zoho.com.

      If the user is based in Europe in fact the MX records should be:

      mx.zoho.eu., mx2.zoho.eu., mx3.zoho.eu.

      Thanks,

      Christophe.

      This comment has been deleted

        You’ve written great article, but i think Yandex mail is better because it is very simple. I found one article about Yandex mail free setup here: https://hafzo.com/setup-a-free-custom-domain-email-on-yandex.html

        Thank you, very helpful

        Hello creator, This is very old article, I am not sure you will check my question or not. I follow your instruction to create my personal email, but failure. Finally the mail can send out mail but can’t receive the mail from others. I have some confusion about above steps hope can get your help

        1. what’s the purpose and how to setup below step: You may also want to point the domain to one of your droplets, such as one that hosts your web server. This link will help you set that up: How To Set Up a Host Name with DigitalOcean

        2. why need do below step: After you have verified ownership of your domain, you may delete the CNAME record that you created via the DigitalOcean DNS manager. Click the red X to the right of the record and click the OK button in the confirmation prompt

        3. could you share final DNS manage record, below is my final DNS information: MX mydomain.com mx3.zoho.com. 50 1800
          MX mydomain.com mx2.zoho.com. 20 1800 MX mydomain.com mx1.zoho.com. 10 1800 NS mydomain.com ns1.digitalocean.com. 1800
          NS mydomain.com ns2.digitalocean.com. 1800 NS mydomain.com ns3.digitalocean.com. 1800

        4. if I use 3rd part app to log in my mail, how to fill Pop HOST&Name SMTP Host: smtp.zoho.com SMTP Port: 465 Use SSL Encryption: Yes, use SSL encryption SMTP Authentication: Yes, use SMTP authentication Email Address or Username: The email address that you set up in the previous step. In our example, the email address is “application@example.com” Email Name: The name associated with the email address. In our example, the name of the email is “Application Mail” Email Password: The password that you set when you created the application mail account

        Firstly I am very much interested in Zoho and their productivity tools and I am using Zoho Mail for different blogs for income for now. It is very easy and it works super fast. I found it very helpful but in past I had a problem and didnt have any knowledge to Set Up Zoho Mail with a Custom Domain Managed by Digital Ocean DNS so following yours steps it made me quite easy.Zoho Mail is one of the more popular choices on the market when it comes to third-party mail services and the reasons are: it is clean and minimalistic user interface, and it is completely ad-free. While most other services charge for hosting mail servers, Zoho Mail has a free version which you could use just to get a taste of what’s inside. The screenshot you’ve added is more clear and easily visible so that my work is done fast. I had shared this article to my technical friends to know more about it and your work is very satisfied.

        Excellent tutorial.

        Keep in mind that if you are using your domain name then the SMTP server is:

        smtppro.zoho.eu

        Well, I can’t believe it worked on the first try :P

        Try DigitalOcean for free

        Click below to sign up and get $200 of credit to try our products over 60 days!

        Sign up

        Join the Tech Talk
        Success! Thank you! Please check your email for further details.

        Please complete your information!

        Become a contributor for community

        Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.

        DigitalOcean Documentation

        Full documentation for every DigitalOcean product.

        Resources for startups and SMBs

        The Wave has everything you need to know about building a business, from raising funding to marketing your product.

        Get our newsletter

        Stay up to date by signing up for DigitalOcean’s Infrastructure as a Newsletter.

        New accounts only. By submitting your email you agree to our Privacy Policy

        The developer cloud

        Scale up as you grow — whether you're running one virtual machine or ten thousand.

        Get started for free

        Sign up and get $200 in credit for your first 60 days with DigitalOcean.*

        *This promotional offer applies to new accounts only.