administration mode

Performance Peek blog

Article: Debug the SMTP Protocol »

CHRISTIAN DENCKER - JAN 4, 2009 (04:50:18 PM)

Place the following Notes.ini paramerters in the Notes.ini file in the Domino program library

SMTPTimeoutMultiplier=2
SMTPClientDebug=1
SMTPDebug=3
SMTPDebugIO=4
SMTPSaveImportErrors

---------->

Important Note: The SMTPClientDebug parameter does not require the use of the notes.ini parameter debug_outfile. All information will be written to the Miscellaneous section of the log.nsf. However, SMTPDebug and SMTPDebugIO do not write their outfile to the LOG.NSF and need to use the following parameter: debug_outfile=path/filename.txt.

SMTPClientDebug

This parameter can be enabled to capture the outgoing SMTP protocol conversations. This is for all messages transferred by the router to other servers (Domino or otherwise) via the SMTP protocol. Note that this does not include the message content - just the higher-level protocol commands and responses.


1 - Enable capture of outbound SMTP message transfer protocol.

SMTPDebug

This parameter can be set to enable the capture of inbound SMTP protocol conversations. This is for all messages received by the SMTP listener from all clients and servers via the SMTP protocol.

1 - Enable minimal logging of the SMTP listener
2 - Enable information logging of data sent and received along with some additional debugging information. This setting indicates commands and responses being received/sent along with the number of bytes being transmitted, but does not include the text that is transmitted.
3 - Enable verbose logging of data sent and received. Along with the information recorded at setting 2, this level shows the actual text received/sent via SMTP. Note that this does not include the text body of messages.
4 - This is the most verbose you will get for logging (note that this is an undocumented value -- the documentation only lists up to 3).

SMTPDebugIO

Description: Enables the logging of all data received by the SMTP listener task:


   0 - No logging
   1 - Number of bytes sent and received during the SMTP conversation
   3 - Logs all data received by the SMTP task
   4 - RFC822 data (message data)
       o Syntax: SMTPDebugIO=value
       o Caution Use SMTPDebugIO only when necessary and disable it again as soon as possible. It can cause the log file to grow very large, and logs the contents of received messages.
       o Applies to: SMTP servers
       o Default: 0
       o UI equivalent: None



SMTPSaveImportErrors


This parameter can be set to cause the SMTP listener to save the message context exactly as it is received. The message is written to a file in the system Temp directory with a name STXXXXXX.TMP. When a message is saved in the temp file, a line indicating the name of the file will be written to the log. The value of the parameter controls the saving of messages as follows:

1 - Save all messages that fail to import (parse/save in MAIL.BOX). This setting is useful to trap messages that we fail to accept from other SMTP servers sending mail to this server. It is important to note that only message that result in import errors will be written to a temp file when using this value.
2 - Save all messages that are received at the server.
3 - Save all inbound messages during import, delete all messages that have been successfully received and written into MAIL.BOX. Only messages that fail to be imported into MAIL.BOX will be saved to a temp file.

Any of these parameters can be shut off by using the Set Config command and setting the value to 0 (for example, "set config SMTPSaveImportErrors=0"). After setting the parameter to 0, recycle the SMTP and Router tasks.

NOTE: When capturing STXXXXXX.TMP files and none appear in the TEMP directory, look in the WINNT directory. For Windows 2000, the STXXXXXX.TMP files are placed in the following location:

C:\Documents and Settings\userlogin.network\Local Settings\Temp

...where 'userlogin' is the user sign on or login of the user, followed by the network domain.