Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • 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

@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