To enable protocol logging on Receive Connectors, use the following command:
Set-ReceiveConnector "Connector Name" -ProtocolLoggingLevel verbose
In case you're wondering if there are any choices for the logging level - there aren't. It's either verbose or none.
To enable protocol logging from the Exchange console, go to
Server Configuration |
Hub Transport | select the Hub Transport server you want to configure | select the
Receive Connector ->
properties |
General tab | change
Protcol logging level to
Verbose, as shown in the screenshot below.
Figure 1: Enabling SMTP logging on a Receive ConnectorUnlike
Exchange Server 2003/2000, you have to enable logging separately for
Send Connectors (equivalent of SMTP Connectors), using the following
command:
Set-SendConnector "Send Connector Name" -ProtocolLoggingLevel verbose
To do this using the Exchange console, go to
Organization Configuration |
Hub Transport |
Send Connectors tab | select the
Send Connector ->
properties |
General tab | change
Protocol logging level to
verbose.
Besides the visible Receive and Send connectors,
an invisible Send Connector lurks under the hood - used to transport messages within the organization,
between Hub Transport servers, Edge Transport servers, and Exchange
Server 2003/2000 servers. It's the Intra-Organization Send Connector.
You won't see it in the console, or in the shell if you use the
get-SendConnector command. To configure protocol logging for this Intra-Organization Send Connector:
Set-TransportServer "TRANSPORT SERVER NAME" -IntraOrgConnectorProtocolLoggingLevel verbose
Where do protocol logs reside?-
Unlike Exchange Server 2003/2000, which maintain separate protocol logs
for each instance of a SMTP Virtual Server, all Receive Connectors
share "SmtpReceive" logs. Similarly, Send Connectors share "SmtpSend"
logs.
- Receive Connector logs are located in
\Exchange Server\TransportRoles\Logs\ProtocolLog\SmtpReceive- Send Connector logs are located in
\Exchange Server\TransportRoles\Logs\ProtocolLog\SmtpSend
How do you change the path of SMTP logs?To change the path of SmtpReceive logs:
Set-TransportServer "TRANSPORT SERVER NAME" -ReceiveProtocolLogPath "C:\New SmtpReceive Log File Directory"
To change the path of SmtpSend logs:
Set-TransportServer "TRANSPORT SERVER NAME" -SendProtocolLogPath "C:\New SmtpSend Log File Directory"
If you do decide to change the path, ensure the new directories/folders exist with appropriate permissions, as outlined in "
How to Configure Protocol Logging" in the product documentation. In addition to the above, you can also
control the maximum log file size, the maximum directory size, and the maximum age of log files.
This ensures you don't have to worry about purging the logs manually
over time, or scheduling a script to do this periodically.
SMTP
logs are an important troubleshooting tool - enabling SMTP logging
after the fact isn't any help when troubleshooting SMTP mail flow.