Configuring Unique Receive Connector SMTP Banners in Exchange Server

Friday, November 16, 2012

My best practice is to create dedicated receive connectors in Exchange for each receive purpose.  For example, I'll create one receive connector for inbound SMTP email from the Internet or from inbound gateway servers and another for internal application servers that relay email though Exchange.  Each connector has different properties, such as source networks, authentication and permission group settings.  By doing this you have better control over these connectors and can apply different behaviors, such as throttling settings.   It also allows you to disable individual connectors if necessary without affecting other SMTP traffic.

Since receive connectors are server-specific, you will probably create the same connectors on most or all of your hub transport servers.  When you have a number of receive connectors spread across several hub transports, it’s useful to know which server and receive connector is accepting the traffic.  I do this by configuring the banner property of each receive connector to match the connector name and enable verbose logging.

The SMTP banner property specifies the string that Exchange answers with on SMTP connections to the specific connector.  By default, Exchange answers with the FQDN of the server, the Microsoft ESMTP MAIL service string, and the date and time, like this:


Default SMTP banner


I wrote a two-line script that configures each receive connector to reply with the server and connector name, like this:

New SMTP banner showing server name and connector name


Run the following script from EMS to change the receive connector SMTP banners to match the server\connector name:

$rc = Get-ReceiveConnector
$rc | % {Set-ReceiveConnector $_.Identity -ProtocolLoggingLevel Verbose  -Banner "220 $_"}

This script will configure the SMTP banner for all of the receive connectors in the organization.  It also enables verbose logging for each connector, which creates receive connector log files in C:\Program Files\Microsoft\Exchange Server\V14\TransportRoles\Logs\ProtocolLog\SmtpReceive.  These log files are useful to see how your receive connectors are operating.  They also show the connector name for each connection.



As you can see above, the SMTP Receive log is taking connections using the HUB01\Default and HUB01\Internal Relay receive connectors.

7 comments:

  1. That's fantastic! What a great use for SMTP banners! Why has no-one thought of it before?

    ReplyDelete
  2. Thanks Jeff.. Awesome! Never thought about creating multiple smtp banners.. makes perfect sense!

    ReplyDelete
  3. I cant run script I get an error below in EMS

    The term 'Get-ReceiveConnector$rc' is not recognized as the name of a cmdlet,

    Am I doing something wrong

    ReplyDelete
    Replies
    1. Looks like Blogger messed up the formatting on my script. I fixed it, so please try again.

      Delete
  4. Jeff, I have a similar configuration with one receive connector per device needing to relay. Much easier to manage.

    My question is: does multiple receive connectors affect mail flow performances?

    ReplyDelete
    Replies
    1. No, multiple receive connectors have no bearing on performance.

      Delete

Thank you for your comment! It is my hope that you find the information here useful. Let others know if this post helped you out, or if you have a comment or further information.