Friday, November 16, 2012

Configuring Unique Receive Connector SMTP Banners in Exchange Server


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.

11:42 AM