I have been using Hotmail / outlook.com as my primary email since 2007. For a custom domain to work with outlook.com for sending / receiving, you will need to create two records in the DNS for your personal domain.
1. MX Record
Sub-domain: @
Record type: MX
Points to: 1440429857.pamx1.hotmail.com
MX Priority: 10 (Can be anything as long as it is the lowest number for MX in the domain)
2. SPF Record
Sub-domain: Value: v=spf1 include:hotmail.com ~all
Record type: TXT
Points to: yourdomainname.com
Earlier this year when Microsoft migrated Outlook.com to the Exchange back-end, I was no longer able to sign in using my custom email address and Outlook 2016 stopped syncing the mailbox. The common resolution that I found was to create an alias for a live.com / outlook.com address but as I didn't want to go down this path, I was lucky to find an alternate solution which needs an additional DNS record in the custom domain for the Exchange Auto Discovery service.
Auto Discover
Sub-domain: autodiscover
Record type: CNAME
Points to: autodiscover.outlook.com
With all the settings above, I have full sign in and send / receive using my custom domain email address with no alias created for the outlook.com / live.com domains. For Outlook 2016 on my desktop, I can also take advantage of the auto discover setup where all I need is to enter my email address and password and Outlook 2016 will successfully discover and configure all the settings as a standard Microsoft Exchange Mailbox.
If you are using the new Outlook.com beta that has removed all the settings for accessing connected accounts and aliases, you will need to switch back to the original service by clicking the button for "Try the beta" at the top right of the outlook.com window, just under your name and then in settings, set your personal custom email address as primary again.
I hope this helps someone get everything working using custom domains with Outlook.com as it has been a pretty solid configuration for me over the last 10 years.
Cheers,
Chris