Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 52 You must be signed in to star a gist
  • Fork 7 You must be signed in to fork a gist
  • Save GetVladimir/f26ecf553e62a2308fc446d0e426bdea to your computer and use it in GitHub Desktop.
Save GetVladimir/f26ecf553e62a2308fc446d0e426bdea to your computer and use it in GitHub Desktop.
How to setup iCloud+ Custom Domain Catch All email with Gmail

How to setup iCloud+ Custom Domain Catch All email with Gmail

I've recently tested on how to move the custom domain catch all email from G Suite to the new iCloud+ Catch All feature and wanted to share my experience.

The end result is having Custom Domain email and Catch All routing, that can be fully used via Gmail, including receiving and sending emails.


The steps

  • Setup your Custom Domain (or subdomain) with iCloud+
  • Setup the Domain DNS settings
  • Enable Catch All email on iCloud+
  • Forwarding all email, including Catch All to Gmail
  • Adding your Custom Domain Email to Gmail for sending emails

Prerequisites

  • Standard Gmail account
  • iCloud+ subscription ($0.99)
  • Your Domain name and access to the DNS settings

Step-by-step tutorial

To begin:

  1. Go to https://wwww.icloud.com/icloudplus/ and login with your Apple ID
  2. Click on "Custom Email Domain" and select "Add a Domain you own" (you can also select this option by clicking on the dots in the top right corner of the dashboard)
  3. Choose "You and Other People" and enter your domain name (you can also use a subdomain)
  4. If you already have a main email setup with G Suite (or on any other service), add it and and select "Add Email Address". Otherwise click on "No email addresses" and skip to step 6. You'll need to manually create your email later if you skip this.
  5. Open the link that you've received on your main email to confirm it.
  6. Click on "View" on to see the DNS changes that you need to make on your Domain Name. How to make the changes vary depending on your Domain provider. Check the additonal notes below if you use a subdomain or need to send email from other services.

You can find more details on how to make the DNS changes on your Domain here: https://support.apple.com/en-us/HT212524


  1. If you already have other MX DNS records on your domain, like from G Suite, you will need to remove them and add only the iCloud MX records:
Type:
MX
Host:
@
Value:
mx01.mail.icloud.com.
Priority:
10

and

Type:
MX
Host:
@
Value:
mx02.mail.icloud.com.
Priority:
10

If you use a subdomain, make sure to replace @ with your subdomain instead.


Check the settings

  1. After you setup the DNS changes, click on "Finish Setup" to have iCloud+ check your settings. It might take a while for the changes to propagate, but it's usually a few minutes if you use any of the bigger domain providers.

You can check your if your DNS settings are correct and propagated in Terminal by using these commands (replace example.com with your domain):

dig +short sig1._domainkey.example.com
dig +short txt example.com
dig +short mx example.com

or with an online service, like https://mxtoolbox.com/spf.aspx


Enable Catch All email on your Custom Domain

  1. After the domain is added to iCloud and confirmed, go to https://www.icloud.com/icloudplus/, click on "Custom Email Domain" and select your new domain.

  2. Click on "Turn on Allow All" to enable the Catch All email feature

  3. If you haven't added a main Custom Email account on step 4, now you can go ahead and create one that will be your main address. All Catch All emails will also arrive on your iCloud email.


Forward your Custom Domain Emails to Gmail

  1. Next, go to the iCloud email on https://www.icloud.com/mail/ and click on the small Gear icon in the top left corner, above the "Mailboxes" title

  2. Under "Mail Forwarding > Forward my email to", add your Gmail address where you'd like to receive all your emails. You can also choose to keep a copy on iCloud or forward and delete the emails.

If you decide to keep a copy on iCloud, you can also set up additional forwarding rules under "Rules" and they should still work.


Connect Gmail to be able to manage and send emails from your Custom Domain

  1. Next, you'll need to create an App-Specific password on your AppleID. Go to https://appleid.apple.com/account/manage and click on App-specific passwords.

  2. Name the password Gmail or however you like and copy it for later on step 19

  3. Next, you'll need to setup to be able to send and manage all emails via Gmail if you like. Open Gmail Web App (https://mail.google.com/), click on the Gear icon on the top right corner and select "See all settings"

  4. Go to Accounts and Import and select "Add another email address".

  5. Here, enter your name and enter the Custom Domain email that you have setup on iCloud in step 4. Make sure to have "Treat as an alias" checked.

  6. For the username, enter your full AppleID username that ends with @icloud.com here (and not the custom email username or a 3rd party email associeted with your AppleID)

  7. For password, enter the App-Specific password from your AppleID that you've created on step 14.

  8. For SMTP use:

SMTP Server:	
smtp.mail.me.com

Port: 
587

Secured connection using TLS (recommended)
  1. Verify your settings and finish adding your Custom Email Address.

That's it! Now you'll have a Catch All email that you can manage with your Gmail account, and you'll also be able to send emails from your Custom Email.

Since we made the emails to be sent using the iCloud server, the recipients should only see your Custom Email, and not your gmail address.



Additional notes

If you use a subdomain instead of a main domain

If you use a subdomain instead of a domain, you will need to change @ to your subdomain. So this part:

sig1._domainkey

will need to be:

sig1._domainkey.yoursubdomain

If you plan to use other services to send emails from the same domain

If you also plan to send email using Gmail, Zendesk or other services from that same domain, you might also need to include the SPF from the specific services too.

For example, you will need to change this:

v=spf1 include:icloud.com ~all

to this:

v=spf1 include:_spf.google.com include:icloud.com ~all

And you can add as many services as need. For example:

v=spf1 include:mail.zendesk.com include:_spf.google.com include:icloud.com ~all

Add your custom domain email as alternative email, so that you can accept Google Docs with it

(Optional) You can also add your new custom email as alternative email to your Google Account on https://myaccount.google.com/alternateemail - This will allow you to receive Google Drive shares and invites to your Custom Email too, same as if they are sent to your Gmail. Your Gmail email might show in Google Drive shares though if you do this.

I hope you find this tutorial useful.



Credits

Link to the original Reddit post: https://www.reddit.com/r/gsuitelegacymigration/comments/wohcey/tutorial_how_to_setup_icloud_custom_domain_catch/

Credit for the subdomains info goes to isitjeremy and this Reddit post: https://www.reddit.com/r/iCloud/comments/s94l3b/do_icloud_custom_domains_work_with_subdomains/

Other Sources:

https://support.apple.com/en-us/HT202304

https://support.apple.com/en-ie/guide/icloud/mm0e4339d289/icloud

https://support.apple.com/en-us/HT204397

https://www.reddit.com/r/iCloud/comments/vpmqgj/catchall_email_addresses_for_custom_domains/

@GetVladimir
Copy link
Author

GetVladimir commented Jun 17, 2023

@goniz20200 Thank you for your comment. Make sure that you use your main iCloud email as username and not the alias or the Custom Domain

@goniz20200
Copy link

goniz20200 commented Jun 17, 2023

@goniz20200 Thank you for your comment. Make sure that you use that main iCloud email as username and not an alias

Thank you for the quick reply!

I have my main iCloud email (myname@icloud.com) already added years ago, and working. I am trying to add the email from my custom domain that was added to my iCloud+ (myname@mydomain.com)

@GetVladimir
Copy link
Author

@goniz20200 not a problem. The Custom Domain and your main iCloud email share the same inbox and username. They don't give you a separate inbox for the Custom Domain.

You can select from which address you're sending the email when composing it, but all emails will arrive on your main iCloud inbox.

You can then use rules and labels to sort them if needed.

@goniz20200
Copy link

@goniz20200 not a problem. The Custom Domain and your main iCloud email share the same inbox and username. They don't give you a separate inbox for the Custom Domain.

You can select from which address you're sending the email when composing it, but all emails will arrive on your main iCloud inbox.

You can then use rules and labels to sort them if needed.

Thank you!

I was able to get it to work! The username has to be the main iCloud email, not the iCloud login email (which in my case is Gmail).

Your post is a great tutorial. Thank you for your work!

@GetVladimir
Copy link
Author

@goniz20200 Awesome! Thank you so much for your comment and the update, and I'm glad if you found the tutorial useful

@husniadil
Copy link

Why do you need to use beta.icloud.com? Did you mean that the Catch All feature hadn't been released at the time you wrote this tutorial? What about now?

@GetVladimir
Copy link
Author

@husniadil thank you for your comment.

That's a good catch. I've only tested it on the beta at the time, but the feature is now available on the main page as well.

If it works properly for you on the main page, I will update the tutorial

@GetVladimir
Copy link
Author

@husniadil I've updated the link and the tutorial with the newer layout. Thanks for the heads-up!

Please feel free to contact me if you have any questions regarding the procedure

@N0iSEA
Copy link

N0iSEA commented Dec 1, 2023

I believe this guide has an error.

The following line:
For the username, enter your full AppleID username here (and not the custom email username)
should be changed to something like this:
For the username, do not enter your full AppleID username (unless it is an @icloud.com email address) or the custom email username. Instead, you must enter the [your-username]@icloud.com email address that is associated with your Apple ID.

It is incorrect to say that in all cases someone's Apple ID is also an @icloud.com email address. Only the @icloud.com email works for me, but it is not my Apple ID. The confusion may stem from the fact that some people may use their @icloud.com email address as their Apple ID. However, not everyone does. For example, my Apple ID is a gmail account.

I tested this on 3 different domains and each time :

  1. My Apple ID (with @gmail.com) did not work
  2. My @icloud.com email address associated with my Apple ID was the correct username

@GetVladimir
Copy link
Author

@N0iSEA That is a great catch! Thank you for your comment and for the explanation regarding this.

I've updated the original tutorial to state that you must enter the full AppleID that ends with icloud.com and not use the custom domain or the associated 3rd party email address.

Just to confirm, it works for you also when you enter your username@icloud.com?

@N0iSEA
Copy link

N0iSEA commented Dec 1, 2023 via email

@N0iSEA
Copy link

N0iSEA commented Dec 1, 2023

Untitled picture
The screenclip above is from icloud.com. The first line is my Apple ID - this does not work
The second line is an @icloud.com email address which is an alias for my Apple ID, but not my Apple ID. That is the only username that worked in gmail for the 3 domains i tested.

In many cases, I suppose that someone could have an Apple ID that is also an @icloud.com email address, but not necessarily. Therefore, the gmail username is not the Apple ID, it is the @icloud.com address associated with the Apple ID.

@GetVladimir
Copy link
Author

@N0iSEA I see, thank you for the confirmation.

So we must always use the one that ends with icloud.com as username for the email when setting it up

@xflores25
Copy link

I had been wanting to set this up all day, until I came across this post, thank you for the help.

@GetVladimir
Copy link
Author

@xflores25 You're very welcome. Thank you for your comment and I'm glad if you found the tutorial useful

@pixiesharks
Copy link

just a heads up, even if you’ve changed your icloud address,, gmail will make you enter the original address of the account!

@GetVladimir
Copy link
Author

@pixiesharks That is a good catch. Thank you so much for the heads-up!

@BrunoX66
Copy link

BrunoX66 commented Feb 3, 2024

I've wanted to get custom domain email set up for quite some time now and expected it to be harder than it was. Thanks for making this easy to follow guide!

@GetVladimir
Copy link
Author

@BrunoX66 thank you so much for your comment and I'm glad if you found the guide useful

@jactmp
Copy link

jactmp commented Feb 23, 2024

Actually https://myaccount.google.com/alternateemail allows logging in to Google services using alternate e-mail. Alternate e-mail to use when sharing services like Google Drive or Photos can be added in different place: https://myaccount.google.com/profile/email/edit (Choose who can see your email should be set to: Anyone).

@GetVladimir
Copy link
Author

@jactmp Thank you for your comment. The link that you've mentioned seems to change and remove the existing email on the Google profile.

To be able to accept Google Drive shares, Calendar invites and similar requests using your Custom Domain, as well as your Gmail address, it seems that it needs to be added as alternate email: https://support.google.com/accounts/answer/176347

@jactmp
Copy link

jactmp commented Feb 23, 2024

Take a look at https://myaccount.google.com/email (bottom part). Descriptions are clear.

Alternate e-mail (which is exactly the place you mentioned https://myaccount.google.com/alternateemail) goal is to sign in to Google account, whereas About me Emails (which forwards to Contact info part) are used to share resources like Google Drive folders, etc.
emails

@GetVladimir
Copy link
Author

@jactmp thank you for the info. You're right, that is indeed how they are described.

However, if I remove my Custom Domain email from the alternate email, I can't seem to accept shared Google Drive invites or Calendar invites directly with the Custom Domain email.

Does it work on your side?

@jactmp
Copy link

jactmp commented Feb 23, 2024

Yes, it does. But I noticed strange behaviour. If somebody I share resource with has my primary address in its Contacts then primary email address is presented in sharing details. If my custom address is available in Contacts then my custom e-mail address is presented. A bit crazy. Fortunately nobody knows my Gmail address (e.g. doesn't have it in their address book).

BYW. Thx for this amazing knowledge! Sometimes it's necessary to use Google services to share resources (peer's pressure). It's better to do this by means of e-mail address already known to others. I was sure it's not possible until I read your article.

@GetVladimir
Copy link
Author

@jactmp thank you so much for the info and I'm glad if the tutorial was useful.

You're right, sometimes the address shown when sharing can vary. From what I've noticed also, even when they add me with my Custom Email, the info can show as shared with my original Gmail account.

The good thing is that it seems to work regardless whether they share it with your Gmail or with your Custom Domain email

@jactmp
Copy link

jactmp commented Feb 23, 2024

Actually, after some testing and changing configuration, Google Drive refuses to show custom e-mail address and shows only primary Google email. Crazy. It needs more testing and research definitely. For now it's unreliable. Google Chat also shows primary address and I can't find a way to make it use custom e-mail.
I wish Google had an option to allow external e-mails only as account identifier (as e.g. Microsoft). I don't need Gmail.

@mlangenberg
Copy link

Thank you for writing this tutorial. Since a few weeks, Gmail started to reject some emails forwarded via Cloudflare Email Routing with the error message: "Gmail has detected that this message is suspicious due to the very low reputation of the sending domain." Using this tutorial, I could quickly switch to iCloud+ and set it up to keep a copy of the forwarded email in case Gmail decides to reject them.

@GetVladimir
Copy link
Author

@mlangenberg thank you so much for your comment and I'm glad if you found the tutorial useful.

That's a good idea. I also usually keep a copy of my forwarded emails for 30 days (deleted automatically using iCloud Trash) to make sure they are all delivered correctly in the meantime

@Hom-Tanks
Copy link

@goniz20200 not a problem. The Custom Domain and your main iCloud email share the same inbox and username. They don't give you a separate inbox for the Custom Domain.
You can select from which address you're sending the email when composing it, but all emails will arrive on your main iCloud inbox.
You can then use rules and labels to sort them if needed.

Thank you!

I was able to get it to work! The username has to be the main iCloud email, not the iCloud login email (which in my case is Gmail).

Your post is a great tutorial. Thank you for your work!

Thanks for the tutorial! That was helpful in getting it solved. To echo this, I had to use the @me.com email that I had on my account in place of the username for it to finally work. Not the email I log in to my apple id (which was gmail), nor the @icloud.com email. Just in case anyone else runs into this issue too!

@GetVladimir
Copy link
Author

@Hom-Tanks thank you so much for your comment and for the heads-up on me username (which might be the first one on some accounts)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment