An administrator new to Office 365 wanted to know if he could add a second domain to the mailboxes at Office 365 as they are changing domains and he wanted mail sent to the old address to be delivered to the mailbox.
Currently we have Office 365 set up for one domains. We want to add a second custom domain name and make the new domain primary. Can we do this in Office 365? Do we need a license for each address?
Yes, Office365 (and any version of Exchange server) can handle multiple domains - multiples of several hundred actually. (At one time, you could have 999 domains in Office 365 but it may be higher now. )
Warning: this may not apply if you purchased Office365 though a reseller such as GoDaddy; they can limit the number of domains per tenant.
You'll need to add the new domain to Office 365, then add the new SMTP addresses to the mailbox and set them as the default. The mailboxes will receive mail sent to any of the addresses on the mailbox. If you only have a few mailboxes, you can edit each mailbox, or use PowerShell if there are a lot of mailboxes to edit.
Licenses are per mailbox, so you'll only need one license for each user. You can have multiple SMTP address in multiple domains assigned to each mailbox. Only one email address can be set as default and that is the only address that can be used as the From address, but you'll receive email sent to any of the other addresses.
If you need to reply from the secondary addresses, you can use an addin, User Contacts, or Distribution groups. See Send messages using additional Office 365 Exchange addresses for more information.