Sun Java System Messaging Server 6.3 Administration Reference

SMTP (TCP/IP) Channel Option Files

An option file may be used to control various characteristics of TCP/IP channels. Most of the options described actually relate to the SMTP protocol itself, rather than to the TCP/IP transport. As such, other MTA channels that use the SMTP protocol over other transports may have similar options.

Such an option file must be stored in the MTA configuration directory (msg-svr-base/config) and named x_option, where x is the name of the channel.

Note that while master channel programs (the outgoing/destination channel) read the global option file (msg-svr-base/config/option.dat) each time they run, the slave channel program reads the option file only when it is first started, and will not see changes until restarted.

For incoming messages, the TCP/IP channel options (in the SMTP channel options file, for example msg-svr-base/config/tcp_local_option) are options only for the incoming channel (slave channel program). These options are not to be used with other channels that might supposedly handle the incoming messages, like for example, channels with the *switchannel keyword enabled.

Format of the File

Option files consist of several lines. Each line contains the setting for one option. An option setting has the form:


option=value

The value may be either a string or floating point value, depending on the option's requirements. If the option accepts an integer value, a base may be specified using notation of the form b%v, where b is the base expressed in base 10 and vb.

Available SMTP Channel Options

The available options are listed in Table 4–9.

Table 4–9 SMTP Channel Options

Option  

Description  

522_PERMANENT_ERROR_STRING

Provides flexibility in handling 552 responses against broken SMTP servers. This option can be set to a list of 552 status strings that are to be treated as permanent errors. Multiple strings should be separated by vertical bars. The string needs to include the extended status code, assuming one is present, as well as the error text. The “552” should not be included. 

ALLOW_ETRNS_PER_SESSION (integer)

Limits the number of ETRN commands accepted per session. The default is 1. 

ALLOW_RECIPIENTS_PER_TRANSACTION (Integer)

Maximum number of recipients per message. Applies to the RCPT TO and SMTP VRFY commands. The message is submitted to the initial recipients, but excess recipients are rejected with a “452 Too many recipients specified” error at the RCPT TO: command. See REJECT_RECIPIENTS_PER_TRANSACTION. The default is 128.

ALLOW_REJECTIONS_BEFORE_DEFERRAL (integer)

Set a limit on the number of bad RCPT TO: addresses that are allowed during a single session. That is, after the specified number of To: addresses have been rejected, all subsequent recipients, good or bad, are rejected with a 4xx error. 

ALLOW_TRANSACTIONS_PER_SESSION (Integer)

Limits the number of messages allowed per connection. The default is no limit. 

ATTEMPT_TRANSACTIONS_PER_SESSION (Integer)

Limits the number of messages the MTA attempts to transfer during any one connection session. 

BANNER_ADDITION (U.S. ASCII String)

Adds the specified string to the SMTP banner line. The vertical bar character (|) is not permitted in the string. 

BANNER_HOST (U.S. ASCII String)

Sets the host name that appears in the SMTP banners. The SMTP banners are the initial greetings given by the SMTP server and the HELO/EHLO commands issued by the SMTP client. 

CHECK_SOURCE (0 or 1)

Controls whether or not the name found from a DNS lookup (or the IP domain literal, if DNS lookups have been disabled) is included in the constructed Received: header as a comment after the presented name when the determined name does not match the name presented by the remote SMTP client on the HELO or EHLO line. The SMTP server normally attempts to determine the name of the host from which a connection has been received, as specified by the ident* channel keywords. A value of 1 (default) enables the inclusion of the determined name when different from the presented name. A value of 0 disables the inclusion of any such comment thereby eliminating one of the more useful checks of message validity.

COMMAND_RECEIVE_TIME (Integer)

Specifies, in minutes, how long to wait to receive general SMTP commands (commands other than those with explicitly specified time-out values set using other specifically named options). 

The default value is 10. 

COMMAND_TRANSMIT_TIME (Integer)

Specifies, in minutes, how long to spend transmitting general SMTP commands (commands other than those with explicitly specified time-out values set using other specifically named options). 

The default value is 10. 

CUSTOM_VERSION_STRING (U.S. ASCII String)

Overrides part of the default banner string that specifies product name and version number. 

This option is not recommended to be used. 

DATA_RECEIVE_TIME (Integer)

Specifies, in minutes, how long to wait to receive data during an SMTP dialogue. The default is 5. 

DATA_TRANSMIT_TIME (Integer)

Specifies, in minutes, how long to spend transmitting data during an SMTP dialogue. The default is 10. 

DISABLE_ADDRESS (0 or 1)

The MTA SMTP server implements a private command XADR. This command returns information about how an address is routed internally by the MTA as well as general channel information. Releasing such information may constitute a breach of security for some sites. Setting the DISABLE_ADDRESS option to 1 disables the XADR command. The default is 0, which enables the XADR command.

DISABLE_CIRCUIT (0 or 1)

Enables or disables the private XCIR command implemented by the SMTP server. The XCIR command returns MTA circuit check information. Releasing such information may constitute a breach of security for some sites. Setting DISABLE_CIRCUIT to 1 disables the XCIR command. Setting DISABLE_CIRCUIT to 0 enables the XCIR command. If DISABLE_CIRCUIT is not explicitly set, then use of this XCIR command is controlled by the DISABLE_GENERAL option setting.

DISABLE_EXPAND (0 or 1)

The SMTP EXPN command is used to expand mailing lists. Exposing the contents of mailing lists to outside scrutiny may constitute a breach of security for some sites. The DISABLE_EXPAND option, when set to 1, disables the EXPN command completely. The default value is 0, which causes the EXPN command to work normally.

Note that mailing list expansion can also be blocked on a list-by-list basis by setting the expandable attribute to False in the list’s directory entry.

DISABLE_GENERAL (0 or 1)

Enables or disables the private XGEN command implemented by the SMTP server. The XGEN command returns status information about whether a compiled configuration and compiled character set are in use. Releasing such information may constitute a breach of security for some sites. Setting DISABLE_GENERAL to 1 disables the XGEN command. The default is 0, which enables the XGEN command.

DISABLE_SEND (0 or 1)

Disable the SMTP SEND FROM:, SAML FROM:, and SOML FROM: commands. Setting this option to 1 disables the commands. The default is 1. 

DISABLE_STATUS (0 or 1)

The MTA SMTP server implements a private command XSTA. This command returns status information about the number of messages processed and currently in the MTA channel queues. Releasing such information may consisted a breach of security for some sites. Setting the DISABLE_STATUS option to 1 disables the XSTA command. The default is 0, which enables the XSTA command.

DOT_TRANSMIT_TIME (Integer)

Specifies, in minutes, how long to spend transmitting the dot (.) terminating the data in an SMTP dialogue. The default is 10.

EHLO_ADDITION

Specifies an SMTP extension or extensions to advertise as part of the EHLO response. To specify multiple extensions, separate them with the vertical bar character (|). 

HIDE_VERIFY (0 or 1)

The SMTP VRFY command can be used to establish the legality of an address before using it. This command has been abused by automated query engines in some cases. The HIDE_VERIFY option, when set to 1, tells the MTA not to return any useful information in the VRFY command result. The default value is 0, which causes VRFY to act normally. The vrfy* channel keywords may be used to control the MTA’s behavior on a per-channel basis.

INITIAL_COMMAND

Specifies an initial SMTP command string for the SMTP client to send. 

LOG_BANNER (0 or 1)

The LOG_BANNER option controls whether the remote SMTP server banner line is included in mail.log* file entries when the logging channel keyword is enabled for the channel. A value of 1 (the default) enables logging of the remote SMTP server banner line; a value of 0 disables it. LOG_BANNER also affects whether a remote SMTP banner line, if available, is included in bounce messages generated by the channel.

LOG_CONNECTION (integer)

The LOG_CONNECTION option controls whether or not connection information, for example, the domain name of the SMTP client sending the message, is saved in mail.log file entries and the writing of connection records when the logging channel keyword is enabled for the channel. This value is a decimal integer representing a bit-encoded integer, the interpretation of which is given below:

Bit-0 Value-1: When set, includes source system information in mail.log E, D, R, and J entries, as well as transport information in Reporting-MTA fields of DSNs. 

Bit-1 Value-2: When set, connection open, close, and fail records are logged by message enqueue and dequeue agents such as the SMTP clients and servers. 

Bit-2 Value-4: When set, I records are logged recording ETRN events. 

Bit 3 Value-8: When set, includes transport information in Reporting-MTA fields of DSNs. 

Bit 4 Value 16: When set, allows PORT_ACCESS to add text to an application information string. 

Bit 5 Value 32: When set, includes transport information string in mail.log entries.This will always include a source IP address for incoming TCP/IP connections. 

Bit 6 Value 64: When set, includes application information string in mail.log entries. 

Bit 7 Value 128: When set, generates a U record type which logs SMTP authentication successes and failures. A diagnostic field will record the result of the authentication attempt and the username will be logged in the username field if it is known. 

Where Bit 0 is the least significant bit. 

This channel option defaults to the setting of the global MTA option LOG_CONNECTION as set in the MTA option file. This channel option may be set explicitly to override on a per-channel basis the behavior requested by the global option.

LOG_TRANSPORTINFO (0 or 1)

The LOG_TRANSPORTINFO controls whether transport information, such as the sending and receiving side IP addresses and TCP ports, is included in mail.log file entries when the logging channel keyword is enabled for the channel. A value of 1 enables transport information logging. A value of 0 disables it. This channel option defaults to the setting of the global MTA option LOG_CONNECTION as set in the MTA option file.

MAIL_TRANSMIT_TIME (Integer)

Specifies, in minutes, the time to wait for the transmit to complete. The default is 10. 

MAX_B_ENTRIES

Controls how many bad commands sent to the SMTP serve will be logged in mail.log_current as (B records) in a given session. The default is 10.

MAX_CLIENT_THREADS

An integer number indicating the maximum number of simultaneous outbound connections that the client channel program allows. Note that multiple processes may be used for outbound connections, depending on how you have channel-processing pools set up. This option controls the number of threads per process. The default if this option is not specified is 10. 

MAX_A_RECORDS

Specifies the maximum number of A records that the MTA should try using when attempting to deliver a message. The default is no limit.

MAX_J_ENTRIES

Specifies the maximum number of J mail.log* entries to write during a single SMTP connection session. The default is 10.

MAX_HELO_DOMAIN_LENGTH

Specifies the length limit of the argument accepted on the HELO, EHLO, and LHLO line. If a client sends a longer host name argument, that command is rejected. The default is no limit.

MAX_MX_RECORDS (Integer <=32)

Specifies the maximum number of MX records that the MTA should try using when attempting to deliver a message. The maximum value is 32, which is also the default. 

PROXY_PASSWORD

Specifies the password to authenticate the SMTP proxy to the SMTP server to which the proxy intends to shuttle SMTP commands from a client. This value must match the MMP SmtpProxyPassword parameter.

RCPT_TRANSMIT_TIME (Integer)

Specifies, in minutes, the time to wait for the transmit to complete. The default is 10. 

REJECT_RECIPIENTS_PER_TRANSACTION

This option may be used to specify a limit on the number of recipients that will be accepted during a single transaction. It also limits the number of VRFY address verifications that may be performed. (Note that the count of actual recipients, RCPT TO:, is separate from the counter of verifies, VRFY:; that is, VRFY:’s do not count against the RCPT TO: limit, nor do RCPT TO:’s count against the VRFY: limit; each is limited independently to the REJECT_RECIPIENTS_PER_TRANSACTION value.)

If the RCPT TO: limit is exceeded, then at the DATA command the entire message to all recipients will be rejected with a temporary error: “452 4.5.3 Transaction blocked; too many recipients specified.” (Compare with ALLOW_RECIPIENTS_PER_TRANSACTION which rejects merely the excess recipients with a “452 Too many recipients specified” error at the RCPT TO: command, allowing the message to be submitted to the initial recipients.) Attempts to VRFY more addresses than the limit will be rejected with a “452 4.5.3 Verification blocked; too many operations performed” error. The default is no limit. Note that if both ALLOW_RECIPIENTS_PER_TRANSACTION and REJECT_RECIPIENTS_PER_TRANSACTION are set, with REJECT_RECIPIENTS_PER_TRANSACTION being set to a larger value than ALLOW_RECIPIENTS_PER_TRANSACTION, then once ALLOW_RECIPIENTS_PER_TRANSACTION is exceeded any additional recipients receive a temporary error, and once REJECT_RECIPIENTS_PER_TRANSACTION is exceeded the entire message is rejected with a temporary error. See also the recipientcutoff and disconnectrejectlimit channel keywords, and the global MTA options LDAP_RECIPIENTCUTOFF and LDAP_DOMAIN_ATTR_RECIPIENTCUTOFF.

STATUS_DATA_RECEIVE_TIME (Integer)

Specifies, in minutes, how long to wait to receive the SMTP response to your sent data; that is, how long to wait to receive a 550 (or other) response to the dot-terminating-sent data. The default value is 10. See also the STATUS_DATA_RECV_PER_ADDR_TIME, STATUS_DATA_RECV_PER_BLOCK_TIME, and STATUS_DATA_RECV_PER_ADDR_PER_BLK_TIME options.

STATUS_DATA_RECV_PER_ADDR_TIME (Floating Point Value)

Specifies an adjustment factor for how long to wait to receive the SMTP response to your sent data based on the number of addresses in the MAIL TO command. This value is multiplied by the number of addresses and added to the base wait time (specified with the STATUS_DATA_RECV_TIME option). The default is 0.083333.

STATUS_DATA_RECV_PER_BLOCK_TIME (Floating Point Value)

Specifies an adjustment factor for how long to wait to receive the SMTP response to your sent data based on the number of blocks sent. This value is multiplied by the number of blocks and added to the base wait time (specified with the STATUS_DATA_RECEIVE_TIME option). The default is 0.001666.

STATUS_DATA_RECV_PER_ADDR_PER_BLK_TIME (Floating Point Value)

Specifies an adjustment factor for how long to wait to receive the SMTP response to your sent data based on the number of addresses (in the MAIL TO command) per number of blocks sent. This value is multiplied by the number of addresses per block and added to the base wait time (specified with the STATUS_DATA_RECEIVE_TIME option). The default is 0.003333.

STATUS_MAIL_RECEIVE_TIME (Integer)

Specifies, in minutes, how long to wait to receive the SMTP response to a sent MAIL FROM command. (Also corresponds to the time we wait for the initial banner line, and the time to wait to receive a response to a HELO, EHLO, or RSET command.) The default is 10.

STATUS_RCPT_RECEIVE_TIME (Integer)

Specifies, in minutes, how long to wait to receive the SMTP response to a sent RCPT TO command. The default value is 10.

STATUS_RECEIVE_TIME (Integer)

Specifies, in minutes, how long to wait to receive the SMTP response to general SMTP commands, (commands other than those with specified time out values set using other specifically named options). The default value is 10. 

STATUS_TRANSMIT_TIME (Integer)

Specifies, in minutes, how long to spend transmitting the SMTP response to an SMTP command. 

TRACE_LEVEL (0, 1, or 2)

This option controls whether TCP/IP level trace is included in debug log files. The default value is 0, meaning that no TCP/IP packet traces are included; a value of 1 tells the MTA to include TCP/IP packet traces in any debug log files; a value of 2 tells the MTA to include DNS lookup information as well as TCP/IP packet traces. 

TRANSACTION_LIMIT_RCPT_TO

Affects the MTA’s behavior once ALLOW_TRANSACTION_PER_SESSION has been exceeded. The default is 0, meaning that once ALLOW_TRANSACTION_PER_SESSION has been exceeded the MTA rejects subsequent transactions during hat same session at the MAIL FROM: command. If set to 1, the subsequent transactions are instead rejected at the RCPT TO: command.