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.
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!
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.
After you are signed in, you will be taken to the Zoho home page. From here, click on the Mail link.
Ensure that the Add your existing domain option is selected. Then select the desired plan.
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:
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.
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:
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:
Next, in the Create new record section near the top of the page, select the CNAME record type.
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:
If you entered the CNAME record properly, you should see the following message:
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.
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.
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.
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.
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.
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:
For our example, we will use the following details:
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.
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.zoho.com
465
Once you configure your application with these settings, your application should be able to send mail through the new user under your custom domain.
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.
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 got this to work using this tutorial: https://www.digitalocean.com/community/tutorials/how-to-use-gmail-or-yahoo-with-php-mail-function With the Zoho settings from here: http://deeemm.com/entry/general/configuring-joomla-to-use-zoho-mail-with-msmtp-on-ubuntu
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!!
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?
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?
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
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!
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
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
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
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
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
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