Applies to: Exchange Server 2007 SP3, Exchange Server 2007 SP2, Exchange Server 2007 SP1, Exchange Server 2007
Topic Last Modified: 2007-06-07

Protocol logging records the Simple Mail Transfer Protocol (SMTP) conversations that occur between e-mail servers as part of message delivery. These SMTP conversations occur on Send connectors and Receive connectors that are configured on Microsoft Exchange Server 2007 servers that have the Hub Transport server role or the Edge Transport server role installed. You can use protocol logging to diagnose mail flow problems.

By default, protocol logging is disabled on all Send connectors and Receive connectors. Protocol logging is enabled or disabled on a per connector basis. Other protocol logging options are set on a per connector type basis for the whole server. All the Receive connectors on a Hub Transport server or an Edge Transport server share the same protocol log files and protocol log options. These protocol log files and protocol log options are completely separate from the Send connector protocol log files and protocol log options on the same server.

The following options are available for the protocol logs of all Send connectors or all Receive connectors on an Edge Transport server or a Hub Transport server:

By default, the Exchange 2007 server uses circular logging to limit the protocol logs based on file size and file age to help control the hard disk space that is used by the log files.

You can use the following methods to enable or disable protocol logging:

You use the Set-TransportServer cmdlet in the Exchange Management Shell to perform all other protocol logging configuration tasks.

Note:
In Microsoft Exchange Server 2007 Service Pack 1 (SP1), you can also use the Exchange Management Console to specify the location of the Send connector protocol log files and the Receive connector protocol log files.

A special Send connector named the intra-organization Send connector exists on every Hub Transport server. This connector is implicitly created, invisible, and requires no management. The intra-organization Send connector is used to relay messages to the following destinations:

By default, protocol logging for the intra-organization Send connector is disabled. You can enable or disable protocol logging for the intra-organization Send connector by using the IntraOrgConnectorProtocolLoggingLevel parameter on the Set-TransportServer cmdlet. If you enable protocol logging for the intra-organization Send connector, logging occurs in the Send connector protocol logs that are configured on the Hub Transport server.

Structure of the Protocol Log Files

By default, the protocol log files exist in the following locations:

  • Receive connector protocol log files:   C:\Program Files\Microsoft\Exchange Server\TransportRoles\Logs\ProtocolLog\SmtpReceive

  • Send connector protocol log files:   C:\Program Files\Microsoft\Exchange Server\TransportRoles\Logs\ProtocolLog\SmtpSend

The naming convention for log files in each protocol log directory is prefixyyyymmdd-nnnn.log. The placeholders represent the following information:

  • The placeholder prefix is SEND for Send connectors or RECV for Receive connectors.

  • The placeholder yyyymmdd is the coordinated universal time (UTC) date on which the log file was created. yyyy = year, mm = month, and dd = day.

  • The placeholder nnnn is an instance number that starts at the value of 1 for each day.

Information is written to the log file until the file size reaches its maximum specified value, and a new log file that has an incremented instance number is opened. This process is repeated throughout the day. Circular logging deletes the oldest log files when the protocol log directory reaches its maximum specified size, or when a log file reaches its maximum specified age.

The protocol log files are text files that contain data in the comma separated value (CSV) format. Each protocol log file has a header that contains the following information:

  • #Software:   The name of the software that created the protocol log file. Typically, the value is Microsoft Exchange Server.

  • #Version:   The version number of the software that created the protocol log file. Currently, the value is 8.0.0.0.

  • #Log-Type:   The value of this field is either SMTP Receive Protocol Log or SMTP Send Protocol Log.

  • #Date:   The UTC date-time when the log file was created. The UTC date-time is represented in the ISO 8601 date-time format: yyyy-mm-ddThh:mm:ss.fffZ, where yyyy = year, mm = month, dd = day, hh = hour, mm = minute, ss = second, fff = fractions of a second, and Z signifies Zulu, which is another way to denote UTC.

  • #Fields:   The comma-delimited field names that are used in the protocol log files.

Information That Is Written to the Protocol Log

The protocol log stores each SMTP protocol event on a single line in the protocol log. The information that is on each line is organized by fields, which are separated by commas. The fields that are used to classify each protocol event are explained in Table 1.

Table 1   Fields that are used to classify each protocol event

Field name Description

date-time

The UTC date-time of the protocol event, which is represented in the ISO 8601 format. The value is formatted as yyyy-mm-ddThh:mm:ss.fffZ, where yyyy = year, mm = month, dd = day, hh = hour, mm = minute, ss = second, fff = fractions of a second, and Z signifies Zulu, which is another way to denote UTC.

connector-id

The distinguished name (DN) of the connector that is associated with the SMTP event.

session-id

A GUID that is unique for each SMTP session but is the same for each event that is associated with that SMTP session.

sequence-number

A counter that starts at 0 and is incremented for each event in the same SMTP session.

local-endpoint

The local endpoint of an SMTP session. This consists of an IP address and TCP port number that is formatted as <IP address>:<port>.

remote-endpoint

The remote endpoint of an SMTP session. This consists of an IP address and TCP port number that is formatted as <IP address>:<port>.

event

A single character that represents the protocol event. The possible values for event are as follows:

  • +   Connect

  • -   Disconnect

  • >   Send

  • <   Receive

  • *   Information

data

Text information that is associated with the SMTP event.

context

Additional contextual information that may be associated with the SMTP event.

A single SMTP conversation that represents the sending or receiving of a single e-mail message generates multiple SMTP events. These SMTP events cause multiple lines to be written to the protocol log. Multiple SMTP conversations that represent the sending or receiving of multiple e-mail messages can occur at the same time. This creates protocol log entries from different SMTP conversations that are interspersed. However, it is easy to use the session-id and sequence-number fields to sort the protocol log entries by SMTP conversation.

For More Information

For more information about how to configure protocol logging in Exchange 2007, see How to Configure Protocol Logging.