I recently started an Office 365 Exchange migration batch job with several thousand mailboxes. The migration of the mailboxes was working just fine, but we heard reports of bounced messages to a few migrated mailboxes.
Remote Server returned ‘554 5.4.6 Too many hops’
After troubleshooting this problem for a few hours, I determined that the problem was with an incorrect setting of the RemoteRoutingAddress. Our Exchange 2013 Email Address Policy is pretty simple:
Email Address Policy
- Primary: @contoso.com
- Address 2: alias@contoso.mail.onmicrosoft.com

Get-RemoteMailbox -ResultSize Unlimited | Where-Object {$_.RemoteRoutingAddress -notlike “*.mail.onmicrosoft.com”}
This script will search all remote mailboxes that have this problem. Now the question is why is this happening? Since I don’t have the alias@contoso.onmicrosoft.com address in my email address policy, why does the mailbox migration add this smtp address and set it as the remoteroutingaddress? At this point I am not sure, but I am looking into it. If anyone knows why this is happening, or has a more permanent solution let us know. Thanks!
Having the same issue today, and i just stumbled into this link, exactly the same problem i have, i’m migrating users from Exchange 2010 to o365, and after the migration is done, Exchange is stamping a user@tenant.onmicrosoft.com as the on-premise remote mailbox routing address, instead of user@tenant.mail.onmicrosoft.com, did you find root cause ?
LikeLike
Dario,
I never did find the root cause of this issue. I did upgrade Exchange 2013 to CU15 and re-run the hybrid wizard. The issue only appeared during a mailbox migration , so I thought a newer version of Exchange On-premise would solve this issue. Luckily this is not a permanent issue, once all of your mailboxes have been migrated the issue becomes moot.
LikeLike
I’m encountering this issue on every mailbox migration to 365 from our Exchange 2013 server. Not a single mailbox migration has automatically updated this setting.
LikeLike