Office365

Custom domain

Microsoft365 Family subscriptions allow use of a custom email domain. This is limited to one domain per subscription; it is not possible to alias multiple domains. This makes it considerably cheaper than an equivalent business subscription (£79.99/year for up to 6 people, vs. £273.60/yr for 6 users on Microsoft365 Business Basic).

Officially, support is constrained to just GoDaddy as the registrar (via Domain Connect, their own spec for easier DNS configuration that nobody else has adopted), but it is possible to use other registrars if you're willing to hack around a little bit:

  1. Click the Premium gem in the Outlook.com header, or navigate to Settings -> Premium -> Features.
  2. Under Personalised email address, click Get started.
  3. Click Get a domain.
  4. In the resulting popup for domainconnect.godaddy.com, make a note of the value of the mxRecordValue GET parameter.
  5. At your DNS registrar, configure the following records: a. autodiscover IN CNAME autodiscover.outlook.com. b. _domainconnect IN CNAME _domainconnect.gd.domaincontrol.com. c. _outlook IN TXT <mxRecordValue from previous step> d. @ IN MX 0 <mxRecordValue from previous step>.pamx1.hotmail.com. e. @ IN TXT "v=spf1 include:outlook.com -all"
  6. Return to Outlook.com, repeating steps 1-2.
  7. This time, select I already own a GoDaddy domain.
  8. Enter the domain and click Validate.
  9. Click Sign in. If you do not already have a GoDaddy account, register for one.
  10. Click Notify Outlook when told the domain doesn't exist in the GoDaddy account.
  11. Return to Outlook.com, click the Premium gem and choose Personalised email address.
  12. Create Create address, enter an alias (e.g. your name) and click Next.

Migrating mailbox content

Where MFA is in use on accounts, prepare application passwords:

  • For Google Workspace, visit My Account -> Security -> Signing in to Google -> App passwords, re-authenticate if prompted, then set Select app to Mail and Select device to Other (Custom name). Enter imapsync as the name and click Generate, then copy the resulting app password.
  • For Office 365, visit My Microsoft account -> select an account if prompted, under Security click Update, under Advanced security options click Get started, under App passwords click Create a new app password, then copy the resulting app password.

Install imapsync, which will copy across mail using IMAP. To execute it, run:

imapsync \
  --gmail1 \
  --user1=myaccount@mydomain.com \
  --password1=apppassword1 \
  --office2 \
  --user2=myaccount@mydomain.com \
  --password2=apppassword2

It's probably worth running this in tmux, since the time taken will scale with the number and size of mailbox's content.

References