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.
- 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
- standard gmail account
- icloud+ subscription ($0.99)
- your domain name and access to the dns settings
to begin:
- go to https://wwww.icloud.com/icloudplus/ and login with your apple id
- 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)
- choose “you and other people” and enter your domain name (you can also use a subdomain)
- 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.
- open the link that you’ve received on your main email to confirm it.
- 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
- 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.
- 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
- 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.
- click on “turn on allow all” to enable the catch all email feature
- 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.
- 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
- 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.
- 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.
- name the password gmail or however you like and copy it for later on step 19
- 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”
- go to accounts and import and select “add another email address”.
- 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.
- 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)
- for password, enter the app-specific password from your appleid that you’ve created on step 14.
- for smtp use:
smtp server:
smtp.mail.me.com
port:
587
secured connection using tls (recommended)
- 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.
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 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
(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.
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/
route all mail from ryan@ryeones.com (including catch-all on ryeones.com) into ryanryeones@gmail.com, and be able to send from ryan@ryeones.com via the new gmail account.
- go to icloud.com/mail and sign in
- click the gear icon in the bottom left corner of the sidebar
- select preferences
- click the general tab
- under “forward my email to”, change the address from
itsryeones@gmail.comtoryanryeones@gmail.com - click done
- go to appleid.apple.com and sign in
- go to sign-in and security
- click app-specific passwords
- click the ”+” button to create a new one
- label it “gmail ryan”
- copy the generated password (format:
xxxx-xxxx-xxxx-xxxx) and save it somewhere safe
- go to mail.google.com logged into
ryanryeones@gmail.com - click the gear icon → “see all settings”
- go to the “accounts and import” tab
- under “send mail as”, click “add another email address”
- in the popup:
- name — e.g.
ryan - email address —
ryan@ryeones.com - make sure “treat as an alias” is checked
- click “next step”
- name — e.g.
- fill in the smtp settings:
- smtp server —
smtp.mail.me.com - port —
587 - username — your full icloud email e.g.
yourname@icloud.com - password — the app-specific password from step 2
- select “secured connection using tls”
- click “add account”
- smtp server —
- check
ryan@ryeones.comfor a verification email and confirm it
- go to mail.google.com logged into
itsryeones@gmail.com - click the gear icon → “see all settings”
- go to the “accounts and import” tab
- under “send mail as”, find
ryan@ryeones.com - click “delete” next to it
- in
ryanryeones@gmail.com, compose a new email and check thatryan@ryeones.comappears as an option in the from field - send a test email from
ryan@ryeones.comto confirm outgoing works - send a test email to
ryan@ryeones.comand confirm it lands inryanryeones@gmail.com
- download old emails via google takeout at takeout.google.com
- check if
itsryeones@gmail.comis used as a login or recovery email for any accounts - update any services that email you directly at
itsryeones@gmail.com
- ✅ all mail to
ryan@ryeones.com(and catch-all on ryeones.com) lands inryanryeones@gmail.com - ✅ you can send from
ryan@ryeones.cominside gmail — recipients only see the custom domain