Email forwarding in general terms is the operation of re-sending an email message delivered to one email address to another. Although the term Forwarding has no specific technical meaning it just implies that the emails has been moved forward. With Microsoft Exchange you can auto forward the emails received in one mailbox to another email address. In this article let us see the difference between ForwardingAddress and ForwardingSMTPAddress Attributes. In Microsoft Exchange there are several ways you can configure forwarding, following are the options available to the end users and administrators:
- Administrator can set ForwardingAddress attribute.
- Users can create a forwarding client side rule in Outlook or OWA.
- Users can set a ForwardingSMTPAddress on their mailbox.
- An Administrator can set a ForwardingSMTPAddress on user’s mailbox.
- A client side rule for forwarding can be created by an Administrator.
- Administrator can configure or create a Transport rule in Exchange Server for forwarding.
Difference Between ForwardingAddress and ForwardingSMTPAddress Attributes.
ForwardingAddress is a RecipientIdParameter and used when you want to forward emails to a mail-enabled object. The target object should exists in your ActiveDirectory as a mail-enabled object like MailUser, Contact or RemoteMailUser. If you do not have a mail-enabled object for your forwarding address then this will not work. ForwardingAddress can be set by using the -ForwardingAddress parameter in the command set-mailbox. On the other hand, ForwardingSMTPAddress, it is a ProxyAddresses Value and has lower priority than ForwardingAddress. You can set this attribute with a remote SMTP address even if there is no mail-enabled Object exists in your ActiveDirectory. Provided the target domain is added as a remote domain or you have forwarding enabled for all domains (*). ForwardingSMTPAddress can be set by using the -ForwardingSMTPAddress parameter in the command set-mailbox. You can refer the below mailflow diagram when you are using ForwardingAddress parameter.
Below mailflow diagram shows the mailflow when you are using ForwardingSMTPAddress parameter.
When you set ForwardingAddress, Exchange will update the altRecipient attribute of the user with the DN of the mail-enabled contact object in the Active Directory. See below image for your reference.
When you set ForwardingSMTPAddress, Exchange will update the msExchGenericForwardingAddress attribute of the user with the SMTP address of the recipient. See below image for your reference.
Here is how you set ForwardingAddress.
Set-Mailbox -Identity BGiri -ForwardingAddress GSmith4141@hotmail.com
As per the above command, I have a mail contact in my Active Directory with an externalemailaddress for GSmith, below is the details.
[PS] D:\>Get-MailContact "Garry Smith" |FL *externale* ExternalEmailAddress : SMTP:GSmith14141@hotmail.com
This is how ForwardingSMTPAddress is set.
Set-Mailbox -Identity BGiri -ForwardingSMTPAddress User@RemoteDomain.Com
As per the above command, I do not have any contact or mail-enabled object in my active directory for User@RemoteDomain.com but still the email will be forwarded to the external address provided if I have allowed Automatic Forward in the Remote domain configuration. If both ForwardingAddress and ForwardingSmtpAddress both are set on a mailbox then Exchange will consider ForwardingAddress and treats ForwardingSMTPAddress with low priority.