The Default Email Address Policy applies to every object in Exchange. This will include any MailContacts or MailUsers you have created. To work around this, try the following:
First, make sure you have an Email Address Policy created for your own users. This will apply to Exchange mailboxes, Resource mailbox and any Mail-enabled groups. This will have a priority of 1
Now for the workaround.
Create a new dummy Accepted Domain
New-AcceptedDomain -Name "External Contacts" -DomainName external.contacts Now create a new Email Address Policy
New-EmailAddressPolicy -Name "External Contacts" –EnabledPrimarySMTPAddressTemplate "SMTP:%m@external.contacts" -IncludedRecipients "MailContacts,MailUsers" -Priority 2This will assign the email address
alias@external.contacts to any future MailContacts or MailUsers
Now to remove all the additional email addresses from MailUsers and MailContacts you may have accidentally added...
The command below, will remove all email addresses, apart from the primarysmtpaddress
get-mailuser |foreach {set-mailuser -identity $_.identity -emailaddresses "SMTP:$($_.primarysmtpaddress)"} If you get any permission errors, you need to
Enable Inheritance in Security settings of their AD object
You can check to see what email addresses a MailUser has with
get-mailuser | fl identity,primarysmtpaddress,emailaddresses Now replace
get-mailuser with
get-mailcontact, and
set-mailuser with
set-mailcontact in the commands above to complete the process