Deprecated - Cloudflare config for iCloud+ Custom Email Domain

This tutorial is deprecated in favour of iCloud Custom Email Domains · Cloudflare Support docs


Following the new custom email domain feature available in beta to iCloud+ users, a few questions have been asked here by people setting this up with a domain using Cloudflare. Hopefully this tutorial will cover any potential issues/questions with this configuration.

This tutorial assumes you have gone through → Custom Email Aliases and selected who will be using the domain. Then entered the domain you want to use for iCloud mail.

So, from:

Clicking ‘View’ will take you to a screen with the required DNS records. These are what we will need to add a Cloudflare.

Let’s start with the MX records. These are what actually say where your mail will be routed to. If you are moving from an existing mail host, you will want to remove or edit your old records, but we’ll assume you are starting from scratch.

Navigate to the DNS app in your Cloudflare dashboard, under the domain you want to setup.
At the top, you’ll want to click image.
The type should be MX, the name should be either @ or your root domain and the mail server should be the first one Apple provides. The TTL can be left as Auto and the priority set to 0 as Apple do not specify.

Once that is done, click ‘Save’ and repeat for the second MX.

You should then have only 2 MX records in the list like this:

Now we need the TXT records, one to verify the domain and one for SPF. Here, the type should be TXT and the name should be @ or the root domain again. The value provided should be pasted in the Content box.

Click ‘Save’ and repeat for the other TXT record. Note that if you already have an SPF record for the same hostname, the values should either replace or be added to the existing one.
We now have 2 TXT records like this:

The final thing to add is the CNAME. Select the ‘CNAME’ type. What Apple provide as the ‘Host’ should go in the ‘Name’ box and what they provide as the ‘Value’ should go in ‘Target’.

So this:
Should be entered like this:

There are two important things to note here:

  1. Note that the . at the end has been added automatically, but will not show in the dashboard
  2. The record needs to show the :grey: next to it so it is not proxied by Cloudflare. If it shows :orange:, click the cloud or use the toggle switch to turn it :grey:
    Then click save.

We should now have the 5 required records:

Going back to Apple’s settings, we can now click ‘Done’ and ‘Finish setup’ to verify the records we added.

You should then see this message:

Tutorial Reference: CT-50

Reviewed: 08/21

This is a Community Tutorial, most are wiki posts, so can be contributed to by Regulars and MVPs here. If there is a tutorial you would like to see, you can request one here.

If you would like to provide any feedback on this tutorial, please post in the #Meta category, tag your post #TutorialFeedback and let us know the Tutorial Reference above.

Other great resources on this community include the Community Tips . These address best practices when configuring Cloudflare, how to fix issues you may see, and tools to troubleshoot. Also you can view Expert Tips, great posts on the community from people in the know that may help you with your issue.

We encourage users to check out these great resources and the Cloudflare Support Centre before posting