How to forward mail to an external email address

by Bharat Suneja on February 18, 2008

In Exchange Server 2003, mail for a recipient can be forwarded to an alternate recipient by modifying the recipient’s Delivery Options in ADUC | recipient -> properties | Exchange General tab.

Screenshot: Delivery Options to auto forward email to an alternate recipient in Exchange 2003
Figure 1: Use Delivery Options to auto forward email to an alternate recipient in Exchange 2003

If you need to forward mail to an external email address, you can’t simply type the address in the Forward to: field on the Delivery Options page. A (mail-enabled) Contact needs to be created in AD first, and Delivery Options modified to point to the Contact.

Forwarding mail to an external address in Exchange 2010 and Exchange 2007

In Exchange 2010/2007, these tasks remain the same. However, instead of using ADUC to accomplish them, you use the EMC or the Shell (aka “EMS“). The new term for a Contact is MailContact.

1 Create a MailContact

Create a MailContact using the EMC:

  1. Expand Recipeint Configuration | Mail Contact
  2. In the Action pane, click New Mail Contact
  3. To create a new Contact object, leave the default (New Contact) selected | click Next
  4. Type First name, Last name
  5. Click Edit to add the external email address
  6. Click New to complete creation of new MailContact

Alternatively, use the Shell to create a new MailContact:

New-MailContact -Name “Foo User” -ExternalEmailAddress “foo@externaldomain.com

Next, we set the recipient’s Delivery Options to deliver to the alternate recipient.

2 Forward mail for a recipient to the MailContact

Now that we have a MailContact created for the external recipient’s email address, we can forward mail for the Exchange recipient to the MailContact. To configure mail forwarding using the EMC:

  1. Expand Recipeint Configuration | Mailbox | select mailbox | properties | Mail Flow Settings tab | Delivery Options
  2. Under Forwarding address, select Forward to
  3. Click Browse to select the MailContact
    Screenshot: Delivery Options -< Forwarding Address in Exchange 2007
    Figure 2: Modifying Delivery Options to forward email to an alternate recipient
  4. Optional: If a copy of the message needs to be delivered to both the external recipient and the original recipient’s mailbox, select the Deliver message to both forwarding address and mailbox

To configure mail forwarding using the Shell:

Set-Mailbox “Joe Adams” -ForwardingAddress “foo@externaldomain.com”

To deliver a copy to the mailbox (in addition to the external email address – equivalent of step 4 above):

Set-Mailbox “Joe Adams” -ForwardingAddress “foo@externaldomain.com” -DeliverToMailboxAndForward $true

Listing users with forwarding enabled

This command lists mailboxes with auto forwarding enabled:

Get-Mailbox | where {$_.ForwardingAddress -ne $null} | ft name,forwardingaddress

Automatic forwarding and Remote Domains

Remote Domains define a bunch of settings, such as message formats, character sets, and OOFs for messages sent to specified domains outside your Exchange organization. The default Remote Domain setting for the address space * (the asterisk character) applies to all external domains except the ones for which you’ve created a Remote Domain for.

Screenshot: Remote Domain properties
Figure 3: The Allow automatic forward setting for remote domains only impacts client-side automatic forwarding using mechanisms like Inbox Rules, and is disabled by default.

The Allow automatic forward setting for remote domains applies only to client-side forwarding using mechanisms like Inbox Rules. For instance, if a user creates a rule in Microsoft Outlook to automatically forward mail to an external email address, the default setting (for address space *) doesn’t allow it. To enable automatic client-side forwarding of mail to external addresses, select the Allow automatic forward checkbox in a remote domain’s properties | Format of original message sent as attachment to journal report tab (Yes, in Exchange 2007 the tab is mislabeled. It is the “Message Formats” tab… :).

Server-side email forwarding configured by an administrator, as shown in this post, is not impacted by this setting.

{ 50 comments… read them below or add one }

1 Murray Wall February 19, 2008 at 5:42 am

Why not just modify the TargetAddress field in Active directory user with smtp:forwardingaddress@domain.com This will send all mail to this user bypassing the mailbox.

Reply

2 Bharat Suneja February 27, 2008 at 7:27 pm

Afaik, simply adding the external email address to targetAddress attribute doesn’t work. (Need to test further, but this is what the initial tests reveal).

It also doesn’t help if you want to deliver to the addressed recipient *and* the alternate recipient (whether internal or external).

Reply

3 Delboy March 4, 2008 at 4:42 am

Can I use this to forward emails to a server and port number?

Will it show up with the original header information?

Reply

4 Bharat Suneja March 4, 2008 at 8:34 am

- Messages will be forwarded to the external mail host responsible for that domain/email address.
- This has no connection with message routing. Send Connectors determine how messages are routed to an external domain/address space.
- Yes, original headers are preserved.

Reply

5 Anonymous April 30, 2008 at 1:44 pm

is there a way to list the forwarding enabled accounts in 03?

similar to “get-mailbox”

Reply

6 Anonymous August 12, 2008 at 7:26 am

Bharat
Would like to know whether there any options available for forwarding a copy of the send mails from a set of users to a monitoring account (Say administrator’s email account). We need it to be done as discreet as possible to track the activities of certain sales executives who are believed as manipulating selling prices.
Scripts, third party tools which could be installed at the server side would be a great help for us.

Reply

7 Bharat Suneja August 12, 2008 at 10:17 am

@Anonymous: Which version of Exchange server?

You could use Journaling.
- In Exchange 2003/2000, Journaling is per Mailbox Database. You will end up journaling all mailboxes on the Database.
Overview of Exchange Server 2003 Journaling

- In Exchange 2007, you can journal selectively.
Overview of Journaling
How to Create a New Journal Rule

If you’re on Exchange Server 2007, you can use Transport Rules to send a copy of messages to the desired recipient.
Overview of Transport Rules

On either version, you can assign Full Access permissions and access the mailbox using OWA or Microsoft Outlook.
HOW TO: Grant Full Mailbox Access permission

Reply

8 Anonymous February 14, 2009 at 5:36 pm

Well done!

Reply

9 Anonymous March 18, 2009 at 10:52 am

How can I forward e-mail to more then two recepient?

Reply

10 Bharat Suneja March 18, 2009 at 10:57 am

@Anonymous from March 18: You can forward to a Distribution Group, and add the external recipients to the Distribution Group.

Note, to add external recipients to a Distribution Group, you need to create them as Contacts first.

Reply

11 Evan January 22, 2013 at 8:07 am

Bharat,
Does this method apply when needing to forward email to 1 external recipient and 1 internal recipient as well? If not, what’s the best way to accomplish that?

Reply

12 Bharat Suneja January 24, 2013 at 2:40 pm

Internal recipients already exist in the GAL. You can create a contact for the external recipient and then create a Distribution Group with both internal and external recipients. Configure forwarding to the new group.

Reply

13 Anonymous March 18, 2009 at 11:17 am

Thanks Bharat, I am able to forward e-mail to more than two recipients.

Reply

14 Anonymous April 22, 2009 at 11:25 pm

MS Exhange Transport services is in STARTING status, any idea what might cause this exception. I restarted the server couple of times.

Reply

15 Harlekin April 24, 2009 at 12:57 am

Hello, I have followed the instructions but still cannot get it to work.

I have selected the option to deliver message to both forwarding address and mailbox. When I send a test mail it arrives fine at the mailbox but doesn’t get forwarded. Then, a minute or so later, a NDR shows up at the mailbox. It gives me the following error “#550 5.7.1 Unable to relay”

I have been scouring the net for a solution but haven’t found anything. Do you guys have any thoughts?
(It’s Exchange 2007 and we have a 2-server org with one internal and one front end)

Cheers

Reply

16 Anonymous April 24, 2009 at 5:35 am

I followed the above but I’m getting NDR’s with “#550 5.7.1 Unable to relay “

Any ideas? I’m using Exchange 2007 btw…

Reply

17 Anonymous June 8, 2009 at 3:24 am

very nice article

Reply

18 claudio July 23, 2009 at 8:11 am

In Exchange 2007 there is not Delivery Option in Mail Follow Settings under Mail Contact, there is in normal Contact…

Reply

19 Anonymous August 11, 2009 at 3:15 am

Hi Bharat, nice article.

I have tried the forwarding to another recipient and it works fine.
But the forwarding to Distribution Group doesnt work if initial email was sent from external source.

'Received-SPF: None (my server name.my domain name)'
my email@yahoo.co.uk does not designate permitted sender hosts.'

Thanks

Reply

20 Anonymous August 23, 2009 at 2:28 am

QUOTE "Hi Bharat, nice article.

I have tried the forwarding to another recipient and it works fine.
But the forwarding to Distribution Group doesnt work if initial email was sent from external source.

'Received-SPF: None (my server name.my domain name)'
my email@yahoo.co.uk does not designate permitted sender hosts.'

Thanks"

I am also gettting this error (Exch 2003) when forwarding from external emails and as smtp.enta.net will not relay emails from non authorised senders.

HAs anyone got a solution for this??

Reply

21 Mohan Reddy September 2, 2009 at 3:29 am

Hi Bharat: Nice Article.

I am trying to implement the following on Exchange 2007 Hub Transport Rule :

The rule is as following:

From Users Inside the Organization
and Sent to Users Inside the organization
Redirect the message to External SMTP Address
and Silently drop the message.

I have tried to catch individual users and redirect to external SMTP address works but the Inside to Inside doesn't seem to work.

Any help is highly appreciated.

Reply

22 Bharat Suneja September 2, 2009 at 6:38 am

@Mohan Reddy: Can you provide more details of what you're trying to accomplish and what doesn't work? If I read the rule correctly, it shouldn't work.

Reply

23 Mohan Reddy September 3, 2009 at 2:12 am

Hi Bharat, Thanks for your Reply.

I want to Redirect all the internal messages of domain ( i.e from user1@domain.com to user2@domain.com ) to an external SMTP address.

From Users Inside the Organization
and Sent to Users Inside the organization
Redirect the message to External SMTP Address
and Silently drop the message.

The above rule doesn't seem to work to accomplish the task.

Reply

24 Anonymous September 15, 2009 at 12:34 pm

How can I use this same command to do multiple users? This is good if you go user by user. If you want to setup mail forwarding for 100 users, it'll take awhile.

Reply

25 Bharat Suneja September 15, 2009 at 12:48 pm

@Anoymous from September 15th: The shell is designed for automation and performing bulk operations!

You can get recipients such as mailboxes using Get-Mailbox (or corresponding Get-* cmdlet) and pipe to Set-Mailbox (or corresponding Set-* cmdlet). For example, for mailboxes in an OU: Get-Mailbox -organizationalunit "People" | Set-Mailbox -ForwardingAddress "foo@externaldomain.com" -DeliverToMailboxAndForward $true.

There are examples of this across many posts on this blog – for example, check Applying Managed Folder Policy to more than one user. You can get recipients/mailboxes by server, mailbox database, OU, etc.

Or use the -Filter parameter with recipient cmdlets to specify a filter. The properties you can use to filter are covered in Filterable Properties for the -Filter Parameter in Exchange 2007 SP1 and SP2.

Once you get the mailboxes you want to apply a change to, pipe them to Set-Mailbox.

If you haven't come across it already, I'd highly recommend reading Using the Exchange Management Shell in Exchange 2007 docs.

Reply

26 Anonymous September 16, 2009 at 7:12 am

Thanks Bharat.

In my situation, I have mailbox users and also forwarding contacts made for those mailboxes. For example user@domain1.com needs to forward to user@domain2.com, user2@domain.com needs to forward to user2@domain2.com and so forth.

Can you please tell me the syntax i should use to perfom that operation?

I have 500 users I need to setup forwarding for since our company is breaking off of our parent company….so we need our email to forward.

Reply

27 Anonymous September 24, 2009 at 6:54 am

Hello Bharat

I work for a small charity which has our own Exchange 2003 server.

We have some committee members and a Res Home for which we have set up users and contacts to enable them to give out email addresses with our domain name so we can collect them (check for virus and spam) then forward them onto their private email addresses.

I have set the users up to forward the mail to their contact which has the details of their private email.
When we send mail from internal users the mail gets routed correctly to them.
The problem comes when mail comes in from external sources, our Exchange server sorts it correctly then tries to send it out again but gets an NDR message saying that the smtp server we send it out via does not accept mail. (Error 5.5.0 521).

ie if our domain is (domain.org.uk)
mail from test@domain.org.uk to home@committee.com works
mail from test@domain.org.uk to com1@domain.org.uk is rerouted to home@committee.com OK
mail from stranger@external.com to com1@domain.org.uk is rerouted to home@committee.com but fails to be sent and NDR produced.

Any ideas how to allow this relay to take place (sorry, tries to explain as best as possible)

Reply

28 Anonymous October 26, 2009 at 5:18 am

Any ideas how to forward mail from user@example.com to user2@example.com AND user3@example.com AND user4@example.com – can this be set with the Exchange PowerShell?

Reply

29 Anonymous November 10, 2009 at 6:46 pm

hi, i tried using the DL to forward mails to internal and external users. Only internal users receive the mail. what could have gone wrong? thanks

Reply

30 Anonymous January 5, 2010 at 7:15 am

I am able to forward email to an address using Set-Mailbox with -ForwardingAddress. How can I UNFORWARD email using the command line?

Reply

31 Anonymous January 5, 2010 at 7:25 am

I figured it out! Set-Mailbox -ForwardingAddress $nul

Reply

32 Bharat Suneja January 5, 2010 at 7:33 am

@Anonymous from Jan 5, 2010: You set forwarding address to null:
Set-Mailbox foo -ForwardingAddress $null

@Anonymous from Nov 10, 2009: Is auto-forwarding enabled for remote domains?

Reply

33 Anonymous January 20, 2010 at 1:02 am

Hi Bharat

What about forwarding NDRs?
I configured forwarding to an internal distribution list. Everything works fine, except incomming non delivery reports. These NDRs are not forwarded to the distribution list. Is that behavior by design? Can I change that?

Regards
Peter

Reply

34 Anonymous January 21, 2010 at 3:36 pm

Hi Bharat,
we have space Quota for our user. so when mailbox is full server automatically bounce such emails with out notifying user.
i want to know whether it is possible that when server bounce an email, he also forward it to a special account?

Regards
Ralf

Reply

35 Anonymous January 25, 2010 at 8:14 am

Hello,
the article says: "2. Under Forwarding address, select the Forward to checkbox".

How do I activate and deactivate this checkbox for "Foo User"? I would like to change just this checkbox, anything else shoud remain the same.

best regards
arno

Reply

36 Anonymous January 27, 2010 at 12:29 am

Hello Bharat,

could you show how to enable/disable the "Forward to" checkbox using the Exchange Management Shell?

regards
arno

Reply

37 Anonymous February 2, 2010 at 5:14 am

Hello Bharat,
sorry for posting twice, it just did not appear on the website fast enough :(

Can you demonstrate how to enable/disable forwarding using a script for Exchange 2003 (Active Directory)?

For Exchange 2007 it would be for disabling:
set-mailbox -identity jose@contoso.com -ForwardingAddress $null
enabling:
Set-Mailbox -Identity John -DeliverToMailboxAndForward $true -ForwardingAddress jose@contoso.com
(http://technet.microsoft.com/en-us/library/bb123981(EXCHG.80).aspx)

regards
arno

Reply

38 Anonymous February 28, 2010 at 9:31 pm

OK I've set up "Foo User" and the "forward" works fine, "Foo User" is also a member of a "Distribution Group" "All Foo Users". Will the "Forward" to "Foo User" also recognise that he\she is a member of "All Foo Users" and therefore "Forward" those emails also?

Thanks

Reply

39 Anonymous March 14, 2010 at 9:39 pm

Hi Bharath,

Very informative and nice post. I have Exchange 2003 and my requirement is that I'm able to forward to an external contact but I don't want to preserve the original message headers. For example, if user1@domain1.com's emails are forwarded to external mail contact user2@domain2.com then the mail headers show the mail was sent to user1@domain1.com. In fact instead of auto forward it should be like sending a copy of the mail to user2@domain2.com

Thanks & Regards

Reply

40 Allen White February 7, 2011 at 6:39 am

cheers with your help and another article I got the mail setup working.

Other ref site for people http://www.techieshelp.com/forward-exchange-email-to-external-account/

Reply

41 Ilias Tsapsidis July 7, 2011 at 2:02 am

Great article, did exactly what I needed. Many Thank!

Reply

42 Rone September 20, 2011 at 1:11 pm

Hi Bharat

i have 100 user need to forward thier external emails to outside email i have created 100 contact, can you please help in automate the forwarding steps.

yhanks

Reply

43 Brian January 24, 2012 at 7:14 pm

Hi I tried this and setup a forward to my gmail address. I never get the email. If I set it to an internal accountworks fine. Any ideas?

Reply

44 Bharat Suneja January 26, 2012 at 3:11 pm

Anything in message tracking log? SMTP Send log?

Reply

45 Chris February 7, 2012 at 4:53 pm

Hi guys same issue as Brian up there. I tried setting this up to forward to gmail and it never arrives. What could be the issue?

Reply

46 WK May 10, 2012 at 8:58 am

I had to restart the Exchange Transport service to get it to work.

Reply

47 Bharat Suneja May 14, 2012 at 5:40 pm

It’s not required to restart transport service to make this work.

Reply

48 Mitchell March 28, 2013 at 9:10 am

We’re moving from a Sendmail server to an Exchange 2013 configuration. On the sendmail system, I have a couple of addresses that are not active A/D accounts, and I’d like to avoid creating A/D accounts for them. However, I’d still like to forward any incoming messages to these non A/D accounts to other external addresses. Is there a process I can use to handle this? Or is it required that the accounts exist in A/D before I can forward their respective messages?

Reply

49 Steffen April 24, 2013 at 6:42 am

Hello,

I want to disable forwarding only to external adresses. I unchecked the “Allow automatic forwarding” in the Hub Transport to “*” Remote Domain. I run Exchange 2010.
But now, I cannot forward mails to internal addresses. I only want to disable it for external.

Is there a solution for my problem?

Thanks :)

Reply

50 Bharat Suneja April 24, 2013 at 12:44 pm

If you disable forwarding to remote domains, it should no disable forwarding to internal recipients.

Reply

Leave a Comment

{ 3 trackbacks }

Previous post:

Next post: