Q&A: How to Send Email Using Proxy Addresses with Exchange Online

Questions About Clients, Addresses, and Support

Following last week’s very underplayed disclosure that Exchange Online supports sending email using any proxy address for a mailbox, some questions popped up in the various ways people communicate with me. Here are the most common questions with the best answers I can come up with.

Outlook Support for Send with a Proxy Address

OWA is explicitly mentioned in the Microsoft 365 roadmap item describing using proxy addresses to send email. Many asked when Outlook desktop will support the feature. The answer is “right now,” if you use a recent version (I tested the feature with Outlook version 2014 build 13929.20216).

Microsoft has done the heavy lifting to make Exchange Online understand how to deal with proxy addresses; some work is still to be done to upgrade OWA (first) and Outlook to allow users to select proxy addresses more easily, but the fact is that you can use any version of Outlook today. The trick is to expose the From field for a new message and populate the field with your preferred proxy address (Figure 1).

Using Outlook for Windows to specify a proxy address to send a message
Figure 1: Using Outlook for Windows to specify a proxy address to send a message

Sending Using a Proxy from Outlook Mobile

The Outlook mobile clients don’t currently support sending from a proxy address. Now that Exchange Online supports the feature, the hope is that Microsoft will allow Outlook mobile clients to expose the From field and support sending messages using a proxy address.

Send Using Proxy Address in Exchange On-premises?

Another common question is if support for sending email using proxy addresses will ever appear in Exchange Server? I don’t know the answer. On the surface, it seems like Microsoft has done the work to upgrade the Exchange transport service to deal with sending messages using proxy addresses and that it should be easy to transfer the code to Exchange Server. But software engineering is seldom as straightforward as people assume, and I don’t know if any dependencies exist which could stop Microsoft moving the code over. Exchange Server and Exchange Online used to share a common code bas, but not now. The code bases are different and who knows what work must be done to upgrade Exchange Server, including the GUI change to OWA.

In addition, what version of Exchange Server is the target? Exchange 2019, an earlier version, or the next version of Exchange Server due in the second half of 2021? A bet might win if placed on Exchange 2022 or whatever the new version is called, but I have doubts that Microsoft will bring the code to Exchange 2019 or earlier.

Using Proxy Addresses in Replies

Others asked if the proxy address is used for replies. The answer is yes. When you choose a proxy address for a new message, Exchange puts the address in the From and Return-Path message properties, meaning that any response to the message picks up and uses the proxy address. The inbound message with the proxy address is treated by Exchange like any other email and checked against the directory. Because the proxy address belongs to a mailbox, Exchange accepts the message and routes it to the mailbox. This is easily verified by sending a message using a proxy address and examining any response which comes back (the Outlook Message Header Analyzer add-in makes this easy to do). Figure 2 shows that the reply to the message I created in Figure 1 comes back to the specified address.

Message headers for a response show the use of a proxy address
Figure 2: Message headers for a response show the use of a proxy address

Although a response to a message sent using a proxy address will go back to that proxy address, the use of the proxy address is not maintained in subsequent replies in a thread. This is likely a client restriction that Microsoft will address when they upgrade clients to support send from proxy addresses fully. In the meantime, the workaround is to use the From field to choose the appropriate address when you respond to a message.

Can All Proxy Addresses Be Used?

I was asked if all proxy addresses available for a mailbox can be used to send email. The answer is that this is an SMTP feature so only SMTP proxy addresses are usable, including plus addresses (another question). In fact, you might note that I use a plus address in Figure 1.

As a recap, Microsoft added support for plus addressing to Exchange Online in August 2020. Newer tenants (created since September 2020) enable users to create their own plus addresses while older tenants need to enable the feature by running the Set-OrganizationConfig cmdlet:

Set-OrganizationConfig -AllowPlusAddressInRecipients $True

When AllowPlusAddressInRecipients is True, users can add whatever text string they want after a plus sign when they give an email address to companies or other people. In the example in Figure 1, I use Tony.Redmond+eCommerce@office365itpros.com. When the message arrives, Exchange trims the plus sign together with everything following and delivers the message to Tony.Redmond @office365itpros.com. Administrators can also assign a persistent plus address as a proxy address through EAC or PowerShell. For example:

Set-Mailbox -Identity Tony.Redmond -EmailAddresses @{add="Tony.Redmond+eCommerce@office365itpros.com"}

The advantage of having a persistent plus address which is part of the set of proxy addresses assigned to a mailbox is that it can then be used to send email.

Finding What Proxy Addresses Exist for User Mailboxes

Finally, someone asked how easy it is to discover what proxy addresses exist for mailboxes. You can examine the properties of individual mailboxes through the EAC or Microsoft 365 admin center, but that doesn’t work so well at scale. Instead, here’s some PowerShell to create a quick and dirty report for all user mailboxes and their proxy addresses.

$Report = [System.Collections.Generic.List[Object]]::new()
$Mbx = Get-ExoMailbox -ResultSize Unlimited -RecipientTypeDetails UserMailbox
ForEach ($M in $Mbx) {
    $DefaultEmailAddress = ($M.EmailAddresses | ? {$_ -cLike "SMTP:*"}).Split(":")[1]
    [array]$OtherEmailAddresses = $M.EmailAddresses | ? {$_ -cLike "smtp:*"}
    $Addresses = [System.Collections.Generic.List[Object]]::new()
    ForEach ($Address in $OtherEmailAddresses) {
        $ThisAddress = $Address.Split(":")[1] + " "
        $Address = [PSCustomObject][Ordered]@{  
            Address  = $ThisAddress.Trim() }
    } # End Foreach $Address
    $Addresses = $Addresses.Address -join ", "
    If ($M.EmailAddresses -contains "SIP") {
        $SIPAddress = ($M.EmailAddresses | ? {$_ -cLike "SIP:*"}).Split(":")[1]}
    Else {$SIPAddress = "None"}
    $ReportLine = [PSCustomObject][Ordered]@{  
       User                   = $M.DisplayName 
       UPN                    = $M.UserPrincipalName 
      "Default Email Address" = $DefaultEmailAddress
      "Other Email Addresses" = $Addresses
      "SIP Address"           = $SIPAddress }
} #End ForEach $M
$Report | Out-GridView

The script reports its results via the Out-GridView cmdlet. You could easily amend it to export the results to a CSV file.

A Welcome Feature

Most of the people I have spoken to agree that allowing the use of proxy addresses to send email is a good thing. Many say that it’s odd that Microsoft hasn’t added the feature before but are glad that it is here now. I guess Exchange is sometimes like a large ocean liner – it takes time to make adjustments.

As I hear of other questions, I will update this post.

Need more information about how Exchange Online works inside Microsoft 365? The Office 365 for IT Pros eBook has the answers and because it’s updated monthly, we make sure that our subscribers know about important new features soon after Microsoft delivers the code.

7 Replies to “Q&A: How to Send Email Using Proxy Addresses with Exchange Online”

  1. The first step does not work? If I enter a proxy address in the From field, it is simply ignored and the primary address is used instead (Outlook 2103). I CAN get it to work in OWA however.. It would seem like Microsoft have yet to implement this correctly in all clients. I hope this will be corrected soon.

    1. [Edited]
      Do you mean Outlook click to run build 2103 or Outlook 2013? I test the feature using Outlook build 2104 click to run and it works. I doubt it will ever work with Outlook 2013. As I note in the article, the server side work is done to support send using proxy addresses and some GUI needs to be worked on for the clients.

  2. A colleague of mine tried this via OWA and for reasons unknown the From address was updated but not the Return-Path

  3. Hi tony – Is it possible to only allow certain active users to have this ability? I know it is a tenant org setting. Just asking in case we wanted to restrict
    this for only certain users.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.