The Onmicrosoft.com email address gets stamped the time an Exchange license is assigned to the user. When creating the Onmicrosoft.com email address for the user, we look at the mailNickname attribute value for this user on the cloud.The mailNickName value is derived from 3 places:
o From AD, if the mailNickName attribute is present and populated with a value. This mailNickName attribute gets added as a part of extending the AD schema when preparing for Exchange.
o From the Primary SMTP address specified in AD (i.e. the Mail and ProxyAddresses attributes). If Abizer.Haz@contoso.com is set as primary SMTP address, “Abizer.Haz” will be used as the mailNickname on the cloud side.
o If the above 2 values are not present, we rely on the UPN to derive the mailNickname. If UPN is Abizerh@contoso.com, then the mailNickname would be “Abizerh”.
The Onmicrosoft.com email address added initially, will always stay with the user, while he is on the cloud.
The OTHER time the Onmicrosoft.com email added is added to the user is when:
The user has a loginname with xx.onmicrosoft.com suffix (like email@example.com) and the loginname is changed to another login name with the same xx.onmicrosoft.com suffix (Abizerh22@contoso.onmicrosoft.com),we add a new smtp address that matches the new loginname. So now the user would have 2 Onmicrosoft email addresses i.e Abizerh11@contoso.onmicrosoft.com and Abizerh22@contoso.onmicrosoft.com.
- When a user on cloud with login name firstname.lastname@example.org (Eg: email@example.com) changes his loginname on cloud to firstname.lastname@example.org, we add a new smtp address that matches the new loginname.
**We ensure that for every user licensed for Exchange, we have a smtp address for the user that matches his or her UPN.
For a user UserA@contoso.com UPN, they would have a proxyaddress UserA@contoso.com
-> When the user UPN / login name changes to UserB@contoso.com, the proxy addresses would get updated to include UserB@contoso.com
**Same goes for a user with login name UserC@contoso.onmicrosoft.com.
You cannot update the Onmicrosoft.com email addressed for a Dirsync-ed user, by adding the Onmicrosoft.com email address to the proxyaddress list of the AD user.
After assigning the Exchange license to the user, once his mailbox is created, if you plan to modify the prefix of the email addresses by modifying the mailNickName attribute of the AD user and syncing it to the cloud, it does not affect theemail address for the user on cloud. This does not help even if you remove and assign the Exchange license with the new mailNickname.
Email addresses that will not get synced from on-premise AD to Cloud for a user:
Method used to modify the login name of users under the tenant, that trigger updated to the proxyaddresses:
- Set-MsolUserPrincipalName -UserPrincipalName [ExistingUPN] -NewUserPrincipalName [NewUPN]
Cmdlet used to update the Email address directly:
- Set-Mailbox -Identity "email@example.com" -EmailAddresses @("SMTP:firstname.lastname@example.org";"smtp:email@example.com";"sip:firstname.lastname@example.org")
Are you aware of anyway to work-around the default behavior mentioned above so that the UPN is NOT added as a proxy address? Also, can you provide any insight into why Exchange Online forces the UPN as a proxy address on licensed Office 365 mailboxes?
I work for UC Davis and unfortunately this behavior has caused us a large amount grief for our campus-wide O365 deployment. I can provide further details if you are interested.