In most organizations some applications or devices require the ability to relay email through Exchange servers.

The source IP addresses of applications and devices that integrate with Exchange using SMTP will need to be added to a Receive Connector that permits relay. Over time this can built up to quite a long list, which creates a tedious task of re-entering all of those IP addresses when you want to migrate this relay connector role, for example during a migration from Exchange 2007 to Exchange 2010.

However if you’d prefer a faster way of doing this you can effectively clone the remote IP address configuration from the existing Receive Connector to the new one by using the Exchange Management Shell.

On an Exchange 2010 server launch the Exchange Management Shell.

The first step is to retrieve the list of remote IP addresses from the existing receive connector by running the following command.  This is a single line command, and you should replace the server name and connector name to suit your environment.

[PS] C:\>$ips = (Get-ReceiveConnector "HO-EX2007-HT1Relay HO-EX2007-HT1").RemoteIPRanges

Next run the following command to create the new relay connector on the Exchange 2010 Hub Transport server with the same remote IP range. Again this is a single line command, and you should replace the server name and connector name to suit your environment.

[PS] C:\>New-ReceiveConnector -Name "Relay HO-EX2010-CAHT1" –Server HO-EX2010-CAHT1” -Usage Custom -AuthMechanism ExternalAuthoritative -PermissionGroups ExchangeServers -Bindings 0.0.0.0:25 -RemoteIPRanges $ips

Identity                                Bindings                           Enabled
--------                                --------                           -------
HO-EX2010-CAHT1Relay HO-EX2010-CAHT1   {0.0.0.0:25}                       True

With that simple two step process the new relay connector has been created on the Exchange 2010 Hub Transport server with the same remote IP range as the original one.

About the Author

Paul Cunningham

Paul is a former Microsoft MVP for Office Apps and Services. He works as a consultant, writer, and trainer specializing in Office 365 and Exchange Server. Paul no longer writes for Practical365.com.

Comments

  1. Josh

    Worked flawlessly for me. Going from 2010 to 2013. Thanks.

    1. Josh

      Well, it worked as intended but I guess going from 2010 to 2013 it wasn’t flawless. There was an issue copying my “hub transport” relays. They needed to have the frontend transport role. After a restart the exchange transport service wouldn’t start because of the new relays. I used this command to fix each of my relays and the transport service came right back on and still worked after reboot. Set-ReceiveConnector “Your Relay Name” –TransportRole FrontEndTransport Hopefully this saves one person from having a heart attack during their exchange migration.

  2. rasheedah

    this is did not work or maybe it did. when I set the variable it return with no output which is fine
    but when I enter $ips to see the ip addresses nothing returned.

    is that the expected results?

  3. victoriano

    hello,

    Is there any way to transfer settings of a 2010 relay server to another in the same organization generated as a relay?

    I relay mail as configured with ips allowed, and I want to transfer the same settings to mail2

Leave a Reply