Send As From a different email domain in Office 365 Exchange Online

I get this requested quite often so I thought I should post how to do it.

The scenario is that you have your main email account with Microsoft on Office 365/Exchange Online, say, and we connect to that mailbox via Outlook and/or Outlook Web Access. We also have email accounts setup elsewhere – on Google’s Gmail for instance say – and you are forwarding those emails to your main Office 365 account so that you know when new mail arrives.

Usually you would have to logon to the other service to reply to the emails – wouldn’t it be nice if you could reply from your account instead? Well, you can, and it’s really easy to setup:

Firstly, I can’t verify if this works with all email providers – it does work with Gmail accounts though.

To begin with you need to setup a contact in Office 365 for the other email address –

Logon as the admin user to Office 365/Exchange Online.

Goto to the Admin Centres, choose Users, select Contacts and add the email:

You will also need to add the domain to the verified domains list:

Goto Admin center, Settings, Domains.

Follow the instructions on adding a domain – you do not need to add the email DNS records in order for the domain to be used in your account. You just need to verify you own the account by adding the TXT DNS record and verifying via this portal.

Note: the adding of a domain can take up to 4 hours to complete – took only an hour in my case.

Next you need to connect to the Exchange online server using Powershell:

This article explains how to do that:

Open Powershell

Make sure you have issued the command to allow scripts to run:

Set-ExecutionPolicy RemoteSigned

Select ‘Y when prompted to turn scripting on.

Type in the credentials command:

$UserCredential = Get-Credential

You will be prompted for a username and password – enter you admin username and password for Office 365/Exchange Online.

Type in the session variable creation command:

$Session = New-PSSession -ConfigurationName
-Credential $UserCredential -Authentication Basic -AllowRedirection

And then issue the session import command:

Import-PSSession $Session

Here’s a screen shot after issuing all 3 commands:


You will then see a bunch of stuff being downloaded and will eventually return to the command prompt.

You are now connected and can start issuing commands. For a list of commands available this is a good article:

You can use a command like:

Get-MailboxPermission Fred

To test connectivity – this will list the permissions for user Fred (

The command:

Get-RecipientPermission "Fred Bloggs"

Will list the permissions on the contact we created above – there shouldn’t be any at this stage.

To give Send As permission to the contact issue this command:

Add-RecipientPermission "Fred Bloggs" -AccessRights SendAs -Trustee "Fred"

This gives the user Fred ( permission to Send As the contact “Fred Bloggs” (

You may receive an error at this point along these lines:

You can't use the domain  because it's not an accepted domain for your organization.

This means the domain verification and adding process has not completed yet – can take up to 4 hours for this to complete. If you continue to get this error after 4 hours then something must have gpne wrong with the domain adding process.

If all is ok you should be prompted for confirmation – select ‘Y’ to add the permission.

That’s it!

You should close the session properly – otherwise it will stay open – by issuing:

Remove-PSSession $Session

You can now close Powershell.

In Outlook or Outlook Web Access create a new email, make sure you can see the From: option (In Outlook if it’s not there go to the Options menu and click the From button), type in the email address you want to Send As – – you only need to do this once, outlook will remember it from then on and you can select it from the pull down list (however, at time of writing it was not saving it in outlook web access). Compose your message and send – if you have forwarding setup as described above you should then receive the message and note that the from address is indeed as expected:

When you reply to messages received you will need to choose the from address from the pulldown – it defaults to the main mailbox from address – – there is no way of changing this behaviour that I know of.

Author: James

IT Manager - Network, Web coding, MS SQL and Online Mapping expert

17 thoughts on “Send As From a different email domain in Office 365 Exchange Online”

  1. Hi James,

    Great solution, thanks a lot for sharing it. We use it for 6 months now and it works like a charm.

    Unfortunately it seems Exchange blocked the method for newly added accounts. When I add the recipientpremission in powershell we receive an error: You can’t use the domain because it’s not an accepted domain for your organization.

    Hopefully they won’t block service for excisting configurations.

    Best regards

    Theo van Laar


  2. I can confirm this functionality has changed – existing setups are still ok as Theo has found. I am looking into it and will get back shortly.


  3. OK, problem solved – you now have to add the domain name you wish to send as to the verified domains list under Admin, Settings, Domains. You don’t have to add all the email DNS records to your domain’s DNS server, just add the TXT record to verify the domain. Once it is listed in the domains list and fully added (can take 4 hours) then you are able to add the recipient permissions. I have updated the post to reflect this.

    Note: if you had already added receipient permissions for domains before MS changed over requiring the need to verify domains then they still work without needing to be listed in the verified domains list. But it’s probably a good idea to get those domains verified as well just in case MS change something in future.


  4. Hi James

    You say that it works with gmail.
    How do you verify
    You cannot add a TXT record to


    1. I have not used a Gmail account in this scenario for some time but when I did I would be using my own domain. So the MX records for my domain would send email to (this requires a separate verification setup with gmail) and then I would forward the messages to my Microsoft email account. So in that scenario you do not need to add a TXT record for but for the domain you are using with You are then just verifying with Microsoft that you own the domain being used as a send as domain – the emails are not then being sent via gmail but via Microsoft on behalf of the domain you have verified.


  5. It kind of works … I can finish all the steps, but when I try to send a mail from my Office 365 account to the on behalf account things block. So let’s say I have domain hosted in GSuite and in Office365. I want to send mail from from my mailbox in Office 365 ( If I follow all the steps, it works. But I keep using both mailboxes separately. If I send a mail from to I get an NDR stating that was not found, because it’s hosted by Office365, which is not true, because the domain is still hosted at GSuite.


    1. Hm, I just tried that on mine and I received the email without any problems – other domain is using Zoho mail rather than Google. I tend to just setup my non O365 domains with forwarding to my O365 account and just use the O365 account for sending and receiving.


      1. Hi, thank you for testing it so fast. I had to do some extra steps to get things working. I went to the Exchange admin center. There I changed the accepted domain ( from Authoritative to Internal relay. Then I created a connector to send mail to to Now everything works as it should. Make sure you filter the connecter to the domain as well 🙂


    2. I had a similar problem with email to an externally hosted domain that we had added as “Accepted Domain” in O365.
      To solve it, I set the domain to “Internal relay” and added a connector to route it through an external MX.


  6. Hi James, I would like to know if emails sent using this setup would pass DMARC, at least based on SPF authentication & alignment? I happened to see this article while I was searching for something related to acquisitions. We have few acquisitions who want to retain their previous brand sending email ids., in which one of my use case is like, there is an MD ‘’ from an Acquired Email Domain with an Executive Assistant ‘’ from the New Owner Domain. The Executive Assistant sends email on behalf of the MD… If ‘’ has a DMARC policy of ‘p=reject’, then I doubt whether these emails would pass DMARC because of alignment failures?


    1. Not sure, i’m not an expert on DMARC. It may well be the case that you need to lower the DMARC policy on e.g. p=quarantine, but if has permission to send on behalf it should work even with p=reject. As always, it’s a case of test, test, test.


      1. Wow, that’s what I was hoping to hear ‘but if has permission to send on behalf it should work even with p=reject’. However, just like you said, we are going to test it in some Staging environment first and hopefully it works. Thanks for the very quick response and I will update if we were able to test this successfully. Thanks again.


      1. Yes, absolutely and still working. But have not setup a similar scenario for a while so cannot confirm if process is the same – please give some feedback if you give it a go. PS not sure about any DMARC problems though.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: