From: 

 

In most  environments there will be the need to allow relaying for certain hosts, devices or applications to send email via the Exchange server.  This is common with multi-function devices such as network attached printer/scanners, or applications such as backup software that send email reports.

SMTP communication is handled by the  in an Exchange organization.  The transport service listens for SMTP connections on it’s default Receive Connector. However, this connector is secured by default to not allow anonymous connections (ie, the type of connection most non-Exchange systems will be making).

You can see this in effect if you telnet to the server on port 25 and try to initiate unauthenticated SMTP communications.

220 EX3.exchangeserverpro.local Microsoft ESMTP MAIL Service ready at Wed, 18 Aug 2010 19:42:27 +1000helo250 EX3.exchangeserverpro.local Hello [192.168.0.9]mail from: somebody@hotmail.com530 5.7.1 Client was not authenticated

For some Hub Transport servers that are internet-facing, anonymous connections may already be enabled.  In those cases relay would still be denied but will behave differently than the first example.

220 EX3.exchangeserverpro.local Microsoft ESMTP MAIL Service ready at Wed, 18 Aug 2010 20:01:44 +1000helo250 EX3.exchangeserverpro.local Hello [192.168.0.9]mail from: somebody@hotmail.com250 2.1.0 Sender OKrcpt to: somebody@gmail.com550 5.7.1 Unable to relay

You’ll note that relay is denied if I try to send from an @hotmail.com address to an @gmail.com address, because neither is a valid domain for the Exchange organization. But with Anonymous Users enabled on the Receive Connector I can send from an @hotmail.com address to a valid local address.

220 EX3.exchangeserverpro.local Microsoft ESMTP MAIL Service ready at Wed, 18 Aug 2010 20:05:54 +1000helo250 EX3.exchangeserverpro.local Hello [192.168.0.9]mail from: somebody@hotmail.com250 2.1.0 Sender OKrcpt to: alan.reid@exchangeserverpro.local250 2.1.5 Recipient OKdata354 Start mail input; end with .test.250 2.6.0  [InternalId=2] Queued mail for delivery

However if I try to relay out to an external recipient, the Exchange server does not allow it.

220 EX3.exchangeserverpro.local Microsoft ESMTP MAIL Service ready at Wed, 18 Aug 2010 20:11:27 +1000helo250 EX3.exchangeserverpro.local Hello [192.168.0.9]mail from: backups@exchangeserverpro.net250 2.1.0 Sender OKrcpt to: alerts@managedserviceprovider.com550 5.7.1 Unable to relay

To permit a non-Exchange server to relay mail we can create a new Receive Connector on the Hub Transport server. Launch the Exchange Management Console and navigate to Server Management, and then Hub Transport. Select the Hub Transport server you wish to create the new Receive Connector on, and from the Actions pane of the console choose New Receive Connector.

newreceiveconnector01.png

Give the new connector a name such as “Relay ” and click Next to continue.

newreceiveconnector02.png

You can leave the local network settings as is, or optionally you can use a dedicated IP address for this connector if one has already been allocated to the server. Using dedicated IP addresses for each connector is sometimes required if you need to create connectors with different authentication settings, but for a general relay connector it is not necessary to change it.

newreceiveconnector03.png

Highlight the default IP range in the remote network settings and click the red X to delete it.

newreceiveconnector04.png

Now click the Add button and enter the IP address of the server you want to allow to relay through the Exchange server. Click OK to add it and then Next to continue.

newreceiveconnector05.png

Click the New button to complete the wizard.

The Receive Connector has now been created but is not yet ready to allow the server to relay through it.  Go back to the , right-click the newly created Receive Connector and choose properties.

Select the Permission Groups tab and tick the Exchange Servers box.

newreceiveconnector07.png

Select the Authentication Tab and tick the Externally Secured box.

newreceiveconnector06.png

Apply the changes and the Receive Connector is now ready for the server to relay through.

220 EX3.exchangeserverpro.local Microsoft ESMTP MAIL Service ready at Wed, 18 Aug 2010 20:31:00 +1000helo250 EX3.exchangeserverpro.local Hello [192.168.0.9]mail from: backups@exchangeserverpro.net250 2.1.0 Sender OKrcpt to: alerts@managedserviceprovider.com250 2.1.5 Recipient OKdata354 Start mail input; end with .test.250 2.6.0 <924bab1e-0f07-4054-8700-d121577993b4@EX3.exchangeserverpro.local> [InternalId=3] Queued mail for delivery

Because the remote IP range has been secured to that single IP address, any other servers on different IP addresses still won’t be able to relay through the Exchange Server. From any other IP address not included in the remote IP range on the Receive Connector relay will be denied.

220 EX3.exchangeserverpro.local Microsoft ESMTP MAIL Service ready at Wed, 18 Aug 2010 20:46:06 +1000helo250 EX3.exchangeserverpro.local Hello [192.168.0.2]mail from: backups@exchangeserverpro.net250 2.1.0 Sender OKrcpt to: alerts@managedserviceprovider.com550 5.7.1 Unable to relay

You can later add more IP addresses, IP ranges, subnets, or even  using a script if necessary.