A Mail User is a local AD account with an external SMTP address configured. This allows the user to have an email address in the GAL, but is not a local Exchange mailbox.
To move mailboxes, this Mail User needs to be configured as a Remote User Mailbox. A Remote User Mailbox also has a proper remote routing address property configured.
I couldn't find any documentation on performing this process. However, I did find a script that indicates it fixes up user accounts when a mailbox move to Office 365 does not complete properly. I used this script to identify the changes that needed to be made.
The script is here:
- Configure the user attribute targetaddress to contain the remote routing address for the mailbox. This should be in the format of firstname.lastname@example.org. In my case it would have been email@example.com.
- Set the msExchRemoteRecipientType attribute for the user account to equal 4.
- Set the msExchRecipientDisplayType attribute for the user account to equal -2147483642. (yes, this is a negative value)
- Set the msExchRecipientTypeDetails attribute for the user account to equal 2147483648.
- In Office 365: get-mailbox testmailbox | fl ExchangeGUID
- In on-premises Exchange: set-remotemailbox testmailbox -ExchangeGUID 12345678-1234-1234-1234-123456789abc (note GUID is from step 1)
UPDATE: See a similar procedure for room mailboxes at: http://byronwright.blogspot.ca/2014/06/putting-office-365-room-mailboxes-in.html
UPDATE: While the above seemed like a good procedure at the time. I've since become aware that you can use Enable-RemoteMailbox in this same scenario to fix up the local mail users to remote user mailboxes. For a script to do it on a whole OU, see here: http://byronwright.blogspot.ca/2014/10/script-to-resolve-error-when-running.html