Add additional email addresses to a mailbox

by Bharat Suneja on March 16, 2007

In Exchange 2010/2007, you can use Email Address Policies to generate email addresses for your recipients (mailbox users, mail users, distribuiton groups, public folders, etc.). In Exchange 2003/2000, this was done by Recipient Policies. Policies are a great way to assign standardized email addresses across your organization – for example: <firstinitial><lastname>@<domain>.

Users frequently request additional email addresses to be added to their account. These are known as aliases or proxy addresses (the latter because email addresses are stored in the recipient’s proxyAddresses attribute in Active Directory).

Add additional email addresses using the EAC in Exchange 2013 and Exchange Online

  1. In the left navigation bar, click recipients > mailboxes
     
    Screenshot: Mailboxes in EAC
    Figure 1: Select the mailbox in EAC > Recipients > Mailboxes
     
  2. Select a mailbox and then click (Edit button – or double-click the mailbox)
  3. On the User Mailbox page, select email address and then click (the New button)
    Screenshot: The email addresses page in EAC
    Figure 2: Add an email address on the email address page in Exchange Admin Center (EAC)
     
  4. To add a new SMTP address (default), type the address in the Email address field and click OK > Save.

    SMTP is the default email address type. You can also add Exchange Unified Messaging (EUM) addresses or custom addresses to a mailbox.

    Screenshot: Add a new email address on the New Email Address page in EAC
    Figure 3: Type a new address in the Email address field

Add additional email addresses using the EMC in Exchange 2010 and Exchange 2007

You can easily add additional SMTP email addresses using the EMC:

  1. Expand the Recipients node
  2. Expand the corresponding node for the recipient type: Mailbox, Distribution Group or Mail Contact
  3. Select a mailbox, Distribution Group or Contact | Properties | E-mail Addresses tab
  4. Click Add

Screenshot: Adding an alias or proxy address to a recipient in Exchange 2010
Figure 4: You can add an additional email address, known as an alias or a proxy address, from the E-mail Addresses tab in the Exchange Management Console (EMC)

Add additional email addresses using the Shell

When adding new email addresses to a recipient using Exchange shell, remember that EmailAddresses property (or the proxyAddresses attribute in Active Directory) is a multi-valued attribute. You can use the same syntax described in the previous post “HOW TO Update multi-valued attributes in PowerShell” to add one-off email addresses that are not created by an Email AddressPolicy.

$foo = get-mailbox bsuneja
$foo.EmailAddresses += “[email protected]”,”[email protected]
$foo | set-mailbox

Adding an additional email address in Exchange 2010/2013

In Exchange 2010, which uses PowerShell v2, you can add an additional email address to a recipient by using a simpler one-line command:

Set-Mailbox bsuneja -EmailAddresses @{Add=’[email protected]’}

Similarly, to remove an e-mail address in Exchange 2010:

Set-Mailbox bsuneja -EmailAddresses @{Remove=’[email protected]’}

Once you’ve added additional email addresses for a recipient, the next common question is: Can the user send and receive email using this new email address? Find out more in HOW TO: Send as alternate email address.

{ 11 comments… read them below or add one }

Louis Göhl March 17, 2007 at 12:11 am

Hi Bharat,

I wanted this to work with recipients.csv as mentioned in your excellent post “Bulk creation of mailboxes using Exchange Management Shell” (http://www.exchangepedia.com/blog/2006/11/exchange-server-2007-bulk-creation-of.html)

So with this code I can use the same csv file:

Import-CSV CreateRecipients.csv | foreach {
$Temp = Get-Mailbox -identity $_.UPN
$Temp.EmailAddresses.Add($_.Emailadres1)
$Temp.EmailAddresses.Add($_.Emailadres2)
$Temp.EmailAddresses.Add($_.Emailadres3)
Set-Mailbox -Instance $Temp}

Reply

Anonymous June 19, 2007 at 8:04 am

How can you add custom address types such as X500 from powershell?

Reply

Bharat Suneja August 20, 2007 at 5:51 pm

By appending the address type, e.g.:
$foo = get-mailbox jdoe
$foo.emailaddresses += “X400:C=USA;….. “
$foo | set-mailbox

Reply

Anonymous February 29, 2008 at 10:52 am

When the second email address is created and then I try to send to that address it gets bounced back saying the recipient does not exist.
How can I create another email address for an existing user or users who already have email addresses?

Thanks

Reply

Thomas November 3, 2011 at 12:41 am

I tried to do this via automation, but have not a clue, how i can pass the @{Add=”} Block as Parameter to the Set-Mailbox command. Do you have any advice for this?

Reply

Andrew April 25, 2012 at 1:30 pm

How can i get this address to sort by alphabetical order.

Reply

Andrew April 25, 2012 at 1:33 pm

Need help with getting the list to sort by alphabetical order.

Reply

Fabricio September 11, 2012 at 2:53 pm

How do I set emailaddress parameter from c#.
I have a c# line like that

psh.AddParameter(“EmailAddresses”, “[email protected]”);

It works replacing one of my proxy addresses.
I would like to know how do I set ADD or REMOVE from c# to EmailAddress parameter.

Reply

Sigma swan July 21, 2013 at 7:02 am

What is the direct e-mail address I can find to discuss with the
writer of this article?

Reply

Fazal Ur Rehman Shah November 18, 2014 at 5:49 am

Hi,

We are using Exchange Server 2007. We have 2 Accepted Domains wherein domain1.com is the default domain and we have recently added another domain2.com. We want to add domain2.com to all the user but at the same time don’t want to make it the default Set as Reply email address. How can I do that using Powershell ?

Reply

Bharat Suneja November 18, 2014 at 10:46 am

To create a new Accepted Domain:

New-AcceptedDomain -Name “Contoso” -DomainName contoso.com -DomainType Authoritative

To update the email address policy with new domain (will add proxy addresses, domain1 will continue to be primary):

Set-EmailAddressPolicy [your current policy name] -EnabledEmailAddressTemplates “SMTP:%[email protected]”,”smtp:%[email protected]

Test in a non-production environment first.

Reply

Leave a Comment

{ 1 trackback }

Previous post:

Next post: