Sun Java System Messaging Server 6.3 Administration Reference

Chapter 4 MTA Configuration

The following topics are covered in this chapter:

The MTA Configuration Files

This section explains the structure and layout of the MTA configuration files. Some configuration modifications are performed by using the command-line interface, as described in Chapter 2, Message Transfer Agent Command-line Utilities. Modifications not possible through the command line are performed by editing the configuration files. We recommend that only experienced administrators edit and modify the configuration files.

All configuration files are ASCII text files that are created or changed with any text editor. Permissions for the configuration file should be set to world-readable. Failure to make configuration files world-readable may cause unexpected MTA failures. A physical line in most files is limited to 252 characters and you can split a logical line into multiple physical lines using the backslash (\) continuation character.


Note –

The MTA processes read most of their configuration from the file .../config.dat. This file is the compiled form of the configuration build from the various text configuration files.

Some configuration files are not compiled into this compiled configuration file. In particular, dispatcher.cnf, job_controller.cnf, and the channel option files, for instance tcp_local_option, are not in the compiled configuration, so it is not necessary to compile the configuration to activate changes to these files. However, they are only read by processes when they start. Thus, to activate a change to the job controller's configuration, it is necessary to restart the job controller.

The compiled configuration itself is in two parts. Some, like the rewrite rules and channel definitions, can not be reloaded by running processes. To activate a change to part of the configuration that can not be reloaded, it is necessary to recompile the configuration and then to restart the processes that are affected. For instance, changes to the rewrite rules affect any process that enqueues messages. Thus a change to rewrite rules would require the configuration to be recompiled, and the dispatcher and the job controller to be restarted (thus causing a new generation of tcp_smtp_servers and delivery channel programs to be started.

Some of the configuration, for instance the mappings, aliases, and the general, reverse, and forward lookup tables are reloadable. Changes to these files can be activated by recompiling the configuration and issuing the imsimta reload command. The imsimta reload command informs all the running processes that they should reload the reloadable part of the compiled configuration.


Table 4–1 lists the MTA configuration files with a short description.

Table 4–1 MTA Configuration files

File  

Description  

Alias File (mandatory) 

Implements aliases not present in the directory. msg-svr-base/config/aliases

SMTP Channel Option Files 

Sets channel specific options. msg-svr-base/config/channel_option

Conversion File 

Used by conversion channel to control message body part conversions. msg-svr-base/config/conversions

Dispatcher Configuration File (mandatory) 

Specifies configuration file options for the service dispatcher. msg-svr-base/config/dispatcher.cnf

forward.txt (optional)

A text look up file, equivalent in function to the forward database. It provides an alternative mechanism to the LDAP directory for converting to addresses in messages flowing through the system. Setting bit 2 (value 4) of the MTA option USE_TEXT_DATABASES enables the use of this file instead of the reverse database. The file is converted into a hash table that is loaded into memory as part of the reloadable configuration. Only used if the MTA option USE_FORWARD_DATABASE is set

general.txt (optional)

(optional) A general text look up file. This file has the same function as the general database. Setting bit 0 (value 1) of the MTA option USE_TEXT_DATABASES enables use of this file instead of the general database. The file is converted into a hash table that is loaded into memory as part of the reloadable configuration.

Job Controller Configuration File (mandatory) 

Defines Job Controller options msg-svr-base/config/job_controller.cnf

MTA Configuration File (mandatory) 

Defines address rewriting and routing as well as channel definition. msg-svr-base/config/imta.cnf

Mapping File (mandatory) 

Repository of mapping tables. msg-svr-base/config/mappings

Option File 

Defines global MTA options. msg-svr-base/config/option.dat

reverse.txt (optional)

A text look up file, equivalent in function to the reverse database. It provides an alternative mechanism to the LDAP directory for converting from: addresses in messages flowing through the system. Setting bit 1 (value 2) of the MTA option USE_TEXT_DATABASES enables the use of this file instead of the reverse database. The file is converted into a hash table that is loaded into memory as part of the reloadable configuration. Only used if the MTA option USE_REVERSE_DATABASE is set.

Tailor File (mandatory) 

Specifies locations. msg-svr-base/config/imta_tailor

Table 4–2 lists the MTA database files with a short description.

Table 4–2 MTA Database Files

File  

Description  

Reverse Database 

Changes from: address in outgoing mail. This provides an alternative mechanism to using the directory, and is for specialized purposes only. An alternative to the reverse database is the reverse lookup table described in Table 4–1.

Forward Database 

Changes to: address in outgoing mail. This provides an alternative mechanism to using the directory, and is for specialized purposes only. An alternative to the forward database is the forward lookup table described in Table 4–1.

General Database 

Used with domain rewriting rules or in mapping rules, for site-specific purposes. msg-svr-base/data/db/generaldb.db. An alternative to the general database is the general lookup table described in Table 4–1.

MTA Configuration File

The MTA configuration file (imta.cnf) contains the routing and address rewriting configuration information. It defines all channels and their characteristics, the rules to route mail among those channels, and the method in which addresses are rewritten by the MTA.

Structure of the imta.cnf File

The configuration file consists of two parts: domain rewriting rules and channel definitions. The domain rewriting rules appear first in the file and are separated from the channel definitions by a blank line. The channel definitions are collectively referred to as the channel table. An individual channel definition forms a channel block.

Comments in the File

Comment lines may appear anywhere in the configuration file. A comment is introduced with an exclamation point (!) in column one. Liberal use of comments to explain what is going on is strongly encouraged. The following imta.cnf file fragment displays the use of comment lines.


! Part I: Rewrite rules
!
ims-ms.my_server.siroe.com $E$U@ims-ms-daemon
!
! Part II: Channel definitions

Distinguishing between blank lines and comment lines is important. Blank lines play an important role in delimiting sections of the configuration file. Comment lines are ignored by the configuration file reading routines—they are literally “not there” as far as the routines are concerned and do not count as blank lines.

Including Other Files

The contents of other files may be included in the configuration file. If a line is encountered with a less than sign (<) in column one, the rest of the line is treated as a file name; the file name should always be an absolute and full file path. The file is opened and its contents are spliced into the configuration file at that point. Include files may be nested up to three levels deep. The following imta.cnf file fragment includes the /usr/iplanet/server5/msg-tango/table/internet.rules file.


</usr/iplanet/server5/msg-tango/table/internet.rules

Note –

Any files included in the configuration file must be world-readable just as the configuration file is world-readable.


Domain Rewrite Rules

Domain rewrite rules play two important roles:

Each rewrite rule appears on a single line in the upper half of the imta.cnf file.

For additional information about configuring rewrite rules, refer to Chapter 11, Configuring Rewrite Rules, in Sun Java System Messaging Server 6.3 Administration Guide.

Rewrite Rule Structure

Rewrite rules appear in the upper-half of the MTA configuration file, imta.cnf. Each rule in the configuration file appears on a single line. Comments, but not blank lines, are allowed between the rules. The rewrite rules end with a blank line, after which the channel definitions follow. Example 4–1shows the rewrite rule section of a partial configuration file.


Example 4–1 Simple Configuration File—Rewrite Rules


! test.cnf - An example configuration file.
!
! This is only an example of a configuration file. It serves
! no useful purpose and should not be used in a real system.
!
a     $U@a-host
b     $U@b-host
c     $U%c@b-daemon
d     $U%d@a-daemon

! Begin channel definitions
Simple Configuration File - Rewrite Rules

Rewrite rules consist of two parts: a pattern, followed by an equivalence string or template. The two parts must be separated by spaces, although spaces are not allowed within the parts themselves. The structure for rewrite rules is as follows:


pattern             template

pattern

Indicates the string to search for in the domain name. In Example 4–1, the patterns are a, b, c, and d.

If the pattern matches the domain part of the address, the rewrite rule is applied to the address. A blank space must separate the pattern from the template. For more information about pattern syntax, see Rewrite Rule Patterns and Tags.

template

Is one of the following. For more information about template syntax, see Rewrite Rule Templates.

UserTemplate%DomainTemplate@ChannelTag[controls]
UserTemplate@ChannelTag[controls]
UserTemplate%DomainTemplate[controls]
UserTemplate@DomainTemplate@ChannelTag[controls]
UserTemplate@DomainTemplate@SourceRoute@ChannelTag[controls]
UserTemplate

Specifies how the user part of the address is rewritten. Substitution sequences can be used to represent parts of the original address or the results of a database lookup. The substitution sequences are replaced with what they represent to construct the rewritten address. In Example 4–1, the $U substitution sequence is used. For more information, see Template Substitutions and Rewrite Rule Control Sequences.

DomainTemplate

Specifies how the domain part of the address is rewritten. Like the UserTemplate, the DomainTemplate can contain substitution sequences.

ChannelTag

Indicates the channel to which this message is sent. (All channel definitions must include a channel tag as well as a channel name. The channel tag typically appears in rewrite rules, as well as in its channel definition.)

controls

The applicability of a rule can be limited using controls. Some control sequences must appear at the beginning of the rule; other controls must appear at the end of the rule. Some can appear almost anywhere in a rule. For more information about controls, see Template Substitutions and Rewrite Rule Control Sequences.

Rewrite Rule Patterns and Tags

Most rewrite rule patterns consist either of a specific host name that will match only that host or of a subdomain pattern that will match any host/domain in the entire subdomain.

For example, the following rewrite rule pattern contains a specific host name that will match the specified host only:

host.siroe.com

The next rewrite rule pattern contains a subdomain pattern that will match any host or domain in the entire subdomain:

.siroe.com

This pattern will not, however, match the exact host name siroe.com; to match the exact host name siroe.com, a separate siroe.com pattern would be needed.

The MTA attempts to rewrite host/domain names starting from the specific host name and then incrementally generalizing the name to make it less specific. This means that a more specific rewrite rule pattern will be preferentially used over more general rewrite rule patterns. For example, assume the following rewrite rule patterns are present in the configuration file:

hosta.subnet.siroe.com
.subnet.siroe.com
.siroe.com

Based on the rewrite rule patterns, an address of jdoe@hosta.subnet.siroe.com will match the hosta.subnet.siroe.com rewrite rule pattern; an address of jdoe@hostb.subnet.siroe.com will match the .subnet.siroe.com rewrite rule pattern; and an address of jdoe@hostc.siroe.com will match the .siroe.com rewrite rule pattern.

In particular, the use of rewrite rules incorporating subdomain rewrite rule patterns is common for sites on the Internet. Such a site will typically have a number of rewrite rules for their own internal hosts and subnets, and then will include rewrite rules for the top-level Internet domains into their configuration from the file internet.rules (msg-svr-base/config/internet.rules).

This file is required to contain the following:

In addition to the more common sorts of host or subdomain rewrite rule patterns already discussed, rewrite rules may also make use of several special patterns, summarized in Table 4–3, and discussed in the following subsections.

Table 4–3 Summary of Special Patterns for Rewrite Rules

Pattern  

Description/Usage  

$* 

Matches any address. This rule, if specified, is tried first regardless of its position in the file. 

$% 

Percent Hack Rule. Matches any host/domain specification of the form A%B. 

$! 

Bang-style Rule. Matches any host/domain specification of the form B!A. 

[] 

IP literal match-all rule. Matches any IP domain literal. 

Matches any host/domain specification. For example, joe@[129.165.12.11]

In addition to these special patterns, Messaging Server also has the concept of tags, which may appear in rewrite rule patterns. These tags are used in situations where an address may be rewritten several times and, based upon previous rewrites, distinctions must be made in subsequent rewrites by controlling which rewrite rules match the address. For more information, see the Sun Java System Messaging Server 6.3 Administration Guide.

Rewrite Rule Templates

Table 4–4 summarizes the template formats.

Table 4–4 Summary of Template Formats for Rewrite Rules

Template  

Usage  

A%B 

A becomes the new user/mailbox name, B becomes the new host/domain specification, rewrite again. 

A@B 

Treated as A%B@B. 

A%B@C 

A becomes the new user/mailbox name, B becomes the new host/domain specification, route to the channel associated with the host C. 

A@B@C 

Treated as A@B@C@C. 

A@B@C@D 

A becomes the new user/mailbox name, B becomes the new host/domain specification, insert C as a source route, route to the channel associated with the host D. 

Template Substitutions and Rewrite Rule Control Sequences

Substitutions are used to rewrite user names or addresses by inserting a character string into the rewritten address, the value of which is determined by the particular substitution sequence used.

Control sequences impose additional conditions to the applicability of a given rewrite rule. Not only must the pattern portion of the rewrite rule match the host or domain specification being examined, but other aspects of the address being rewritten must meet conditions set by the control sequence or sequences.

If a domain or host specification matches the pattern portion of a rewrite rule but doesn’t meet all of the criteria imposed by a control sequences in the rule’s template, then the rewrite rule fails and the rewriter continues to look for other applicable rules.

Table 4–5 summarizes the template substitutions and control sequences.

Table 4–5 Summary of Template Substitutions and Control Sequences

Substitution Sequence  

Substitutes  

$D

Portion of domain specification that matched. 

$H

Unmatched portion of host/domain specification; left of dot in pattern. 

$L

Unmatched portion of domain literal; right of dot in pattern literal. 

$U

User name from original address. 

$0U

Local part (username) from original address, minus any subaddress. 

$1U

Subaddress, if any, from local part (username) of original address. 

$$

Inserts a literal dollar sign ($). 

$%

Inserts a literal percent sign (%). 

$@

Inserts a literal at sign (@). 

$\

Forces material to lowercase. 

$^

Forces material to uppercase. 

$_

Uses original case. 

$W

Substitutes in a random, unique string. 

$]...[

LDAP search URL lookup. 

$(text)

General database substitution; rule fails if lookup fails. 

${...}

Applies specified mapping to supplied string. 

$[...]

Invoke customer supplied routine; substitute in result. 

$&n

The nth part of unmatched (or wildcarded) host, counting from left to right, starting from 0. 

$!n

The nth part of unmatched (or wildcarded) host, as counted from right to left, starting from 0. 

$*n

The nth part of matching pattern, counting from left to right, starting from 0. 

$#n

The nth part of matching pattern, counted from right to left, starting from 0. 

$nD

Portion of domain specification that matched, preserving from the nth leftmost part starting from 0 

$nH

Portion of host/domain specification that didn't match, preserving from the nth leftmost part starting from 0 

Control Sequence  

Effect on Rewrite Rule 

$1M

Apply only if the channel is an internal reprocessing channel. 

$1N

Apply only if the channel is not an internal reprocessing channel. 

$1~

Perform any pending channel match checks. If the checks fail, successfully terminate processing of the current rewrite rule template. 

$A

Apply if host is to the right of the at sign 

$B

Apply only to header/body addresses 

$C channel

Fail if sending to channel

$E

Apply only to envelope addresses 

$F

Apply only to forward-directed (e.g., To:) addresses 

$M channel

Apply only if channel is rewriting the address

$Nchannel

Fail if channel is rewriting the address

$P

Apply if host is to the right of a percent sign 

$Q channel

Apply if sending to channel

$R

Apply only to backwards-directed (e.g., From:) addresses 

$S

Apply if host is from a source route 

$Tnewtag

Set the rewrite rule tag to newtag 

$Vhost

Fail if the host name is not defined in the LDAP directory (either in the DC tree or as a virtual domain). If the LDAP search times out, the remainder of the rewrite pattern from directly after the character following the host name is replaced with the MTA option string DOMAIN_FAILURE.

$X

Apply if host is to the left of an exclamation point 

$Zhost

Fail if the host name is defined in the LDAP directory (either in the DC tree or as a virtual domain). If the LDAP search times out, the remainder of the rewrite pattern from directly after the character following the host name is replaced with the MTA option string DOMAIN_FAILURE.

$?errmsg

If rewriting fails, return errmsg instead of the default error message. The error message must be in US ASCII.

$number?errmsg

If rewriting fails, return errmsg instead of the default error message, and set the SMTP extended error code to a.b.c:

  • a is number/ 1000000 (the first digit)

  • b is (number/1000) remainder 1000 (the value of the digits 2 through 4)

  • c is number remainder 1000 (the value of the last three digits.

    The following example sets the error code to 3.45.89:

    $3045089?the snark is a boojum

For more information on substitutions, refer to the Sun Java System Messaging Server 6.3 Administration Guide.

Channel Definitions

The second part of an MTA configuration file contains the definitions for the channels themselves. These definitions are collectively referred to as the “channel host table,” which defines the channels that the MTA can use and the names associated with each channel. Each individual channel definition forms a “channel block.” Blocks are separated by single blank lines. Comments (but no blank lines) may appear inside a channel block. A channel block contains a list of keywords which define the configuration of a channel. These keywords are referred to as “channel keywords.” See Table 4–6 for more information.

The following imta.cnf file fragment displays a sample channel block:


[blank line]
! sample channel block
channelname keyword1 keyword2
routing_system
[blank line]

The routing_system is the host name associated with this channel. During the address rewriting process, the host part of the address is checked against the hostnames associated with the channels before any pattern matching in the rewrite rules. The only exception to this is that the $* and exact pattern match rewrite rules are checked first.

For detailed information about channel definitions and channel table keywords, refer to the section Channel Configuration Keywords and to Table 4–6.

Channel Configuration Keywords

The first line of each channel block is composed of the channel name, followed by a list of keywords defining the configuration of the specific channel. The following tables describe keywords and how they control various aspects of channel behavior, such as the types of addresses the channel supports. A distinction is made between the addresses used in the transfer layer (the message envelope) and those used in message headers.

The keywords following the channel name are used to assign various attributes to the channel. Keywords are case-insensitive and may be up to 32 characters long; any additional characters are ignored. The supported keywords are listed inTable 4–6 and Table 4–7; the keywords shown in boldface are defaults. Table 4–6 lists channel keywords alphabetically; Table 4–7lists channel keywords by functional group.

Specifying a keyword not on this list is not an error (although it may be incorrect). On UNIX systems, undefined keywords are interpreted as group IDs which are required from a process in order to enqueue mail to the channel. The imsimta test -rewrite utility tells you whether you have keywords in your configuration file that don’t match any keywords, and which are interpreted as group ids.

Table 4–6 Channel Keywords Listed Alphabetically

Keyword  

Usage  

733

Use % routing in the envelope; synonymous with percents.

Percent sign envelope addresses. Supports full RFC 822 format envelope addressing with the exception of source routes; source routes should be rewritten using percent sign conventions instead. The keyword percents is also available as a synonym for 733.

Use of 733 address conventions on an SMTP channel results in these conventions being carried over to the transport layer addresses in the SMTP envelope. This may violate RFC 821. Only use 733 address conventions when you are sure they are necessary. 

Syntax: 733

822

Use source routes in the envelope; synonymous with sourceroute.

Source route envelope addresses. This channel supports full RFC 822 format envelope addressing conventions including source routes. The keyword sourceroute is also available as a synonym for 822. This is the default if no other envelope address type keyword is specified.

Syntax: 822

addreturnpath

Adds a Return-path: header when enqueuing to this channel.Normally, adding the Return-path: header line is the responsibility of a channel performing a final delivery. But for some channels, like the ims-ms channel, it is more efficient for the MTA to add the Return-path: header rather than allowing the channel to perform add it. 

Syntax: addreturnpath header

header is the header line to be added.

addrsperfile

Number of addresses per message file. 

The addrsperfile keyword is used to put a limit on the maximum number of recipients that can be associated with a single message file in a channel queue, thus limiting the number of recipients that are processed in a single operation. See multiple.

Syntax: addrsperfile integer

integer specifies the maximum number of recipient addresses allowed in a message file; if this number is reached, the MTA automatically creates additional message files to accommodate them.

aliasdetourhost

Allows source-channel-specific overriding of a hosted user's mailHost attribute value. In particular, aliasdetourhost is commonly used to achieve a “detour” in the routing of messages destined for local (hosted on this system) users to a separate host for some kind of processing. A message can be verified (the address is a legitimate local address) on the original host, detoured to the processing host, and then returned to the original host for expansion and delivery. aliasdetourhost allows better configuration and use of “intermediate filtering” sorts of channels and third party filtering hosts. aliasdetourhost is usually used in addition to use of an alternate conversion channel. aliasdetourhost is used to affect the routing for the local (hosted on this system) users, while an alternate conversion channel is used to affect the routing for remote recipients.

aliaslocal

Query alias file and alias database. The aliaslocal keyword may be placed on a channel to cause addresses rewritten to that channel to be looked up in the alias file and alias database also. Normally only addresses rewritten to the local channel (the l channel on UNIX) are looked up in the alias file and alias database. The exact form of the lookup probes that are performed is then controlled by the ALIAS_DOMAINS option.

Syntax: aliaslocal

aliasoptindetourhost

This is similar in function to aliasdetourhost except detouring only occurs if the user has opted in by specifying an attribute via the LDAP_DETOURHOST_OPTIN MTA option. The keyword's value is a comma-separated list of potential detour hosts.

Syntax: aliasoptindetourhost hosts

aliaspostmaster

Redirect postmaster messages to the local channel postmaster. 

If the aliaspostmaster keyword is placed on a channel, then any messages addressed to the username postmaster (lowercase, uppercase, or mixed case) at the official channel name is redirected to postmaster@local-host, where local-host is the official local host name (the name on the local channel).

Note that Internet standards require that any domain in the DNS that accepts mail has a valid postmaster account that receives mail. So the aliaspostmaster keyword can be useful when it is desired to centralize postmaster responsibilities, rather than setting separate postmaster accounts for separate domains. 

Syntax: aliaspostmaster

allowetrn

Honor all ETRN commands. 

This keyword (and associated SMTP ETRN command keywords) control the MTA response when sending a message. The SMTP client issues the SMTP ETRN command, requesting that the MTA attempt to deliver messages in the MTA queues. 

Syntax: allowetern

allowswitchchannel

Allow the source channel to switch to this channel. 

Syntax: allowswitchchannel

alternatechannel

Specify an alternate channel to which to enqueue a message when at least one of alternateblocklimit, alternatelinelimit, or alternaterecipientlimit is exceeded.

If any of the alternate*limit channel keyword limits is exceeded, the message is diverted to the alternatechannel.

Using one or more alternate*limit keywords without using alternatechannel does not cause an error; instead, it is merely ignored. Therefore, using alternate*limit keywords have no effect unless the alternatechannel keyword is specified.

Syntax: alternatechannel channel

alternateblocklimit

Specify the maximum number of MTA blocks allowed per message on the original channel where the alternatechannel keyword is placed. Messages exceeding this number of blocks are forced to the channel’s alternatechannel. Note that the interpretation of block size can be changed in the MTA options file by modifying the BLOCK_SIZE option.

Syntax: alternateblocklimit integer

default: no limit 

alternatelinelimit

Specify the maximum number of lines allowed per message on the original channel where the alternatechannel keyword is placed. Messages exceeding this number of lines are forced to the channel’s alternatechannel.

Syntax: alternatelinelimit integer

default: no limit 

alternaterecipientlimit

Specify a limit on envelope recipients for a message copy on the original channel where the alternatechannel keyword is placed. Messages exceeding this number of envelope recipients on a message copy are forced to the channel’s alternatechannel.

The alternaterecipientlimit value is checked before addresses are split up into separate files due to channel keywords such as addrsperfile, single, or single_sys. Consequently, the alternaterecipientlimit value is compared against the total number of recipients (of the message in question) being enqueued to the channel in question, rather than being compared against the possibly smaller number of such recipients that may be stored in a particular disk file in the channel in question’s queue area.

Syntax: alternaterecipientlimit integer

default: no limit 

authrewrite

Use SMTP AUTH information in header. The authrewrite channel keyword may be used on a source channel to have the MTA propagate authenticated originator information, if available, into the headers. Normally the SMTP AUTH information is used, though this may be overridden via the FROM_ACCESS mapping.

Syntax: authrewrite value

value can be one of the following:

0 - Don’t change anything (default) 

1—Add a Sender: or a Resent-sender: header field containing the address provided by the authentication operation. The Resent- variant is used if other resent- fields are present. 

2—Add a Sender: header containing the address provided by the authentication operation. 

3 - Construct a probe in an AUTH_REWRITE mapping table of the form: mail-from|sender|from|auth-sender

See Messaging Server Administration Guide for more information.

4 - Same as 3 except the resent- variables are never used. 

5 - Replace/add the From: or Resent-from: header field with the authenticated originator address. 

6 - replace the From: header field with the authenticated originator address. 

backoff

Specifies the frequency of message delivery retries of messages unsuccessfully delivered. backoff specifies the interval values between retries of all messages regardless of priority unless overridden by nonurgentbackoff, normalbackoff, or urgentbackoff.

Syntax:

backoff "interval1" ["interval2"] ["interval3"] ["interval4"] ["interval5"] ["interval6"] ["interval7"] ["interval8"]

The interval uses ISO 8601P syntax and is as follows:

P[yearsY][monthsM][weeksW][daysD][T[hoursH][minutesM][secondsS]]

The variables years, months, weeks, days, hours, minutes, and seconds are integer values that specify the interval between delivery attempts (the first variable specifies the interval between the initial delivery failure and the first delivery attempt). The alphabetic variable labels (P, Y, M, W, D, H, M, S, and T) are case-insensitive. The initial P is required. The other variables are optional, except that T is required if any time values are specified.

Up to eight intervals can be specified with any of the backoff, nonurgentbackoff, normalbackoff, urgentbackoff keywords. The last interval specified is used as the interval for additional retry attempts that may be needed. Deliveries are attempted for a period of time specified by the notices keyword. If a successful delivery cannot be made, a delivery failure notification is generated and the message is returned to sender.

The default intervals between delivery retries attempts in minutes is shown below: 

urgent: 30, 60, 60, 120, 120, 120, 240normal: 60, 120, 120, 240, 240, 240, 480nonurgent: 120, 240, 240, 480, 480, 480, 960 

See the Sun Java System Messaging Server 6.3 Administration Guide for complete usage and examples.

bangoverpercent

Group A!B%C as A!(B%C). That is, the bangoverpercent keyword forces “bang” addresses (A!B%C) to interpret A as the routing host and C as the final destination host.

This keyword does not affect the treatment of addresses of the form A!B@C. These addresses are always treated as (A!B)@C. Such treatment is mandated by both RFC 822 and FRC 976.

Syntax: bangoverpercent

bangstyle

Use UUCP! (bang-style) routing in the envelope; synonymous with uucp.

This channel uses addresses that conform to RFC 976 bang-style address conventions in the envelope (for example, this is a UUCP channel). The keyword bangstyle is also available as a synonym for uucp.

Syntax: bangstyle

bidirectional

Channel is served by both a master and slave program. The bidirectional, master, and slave keywords determines whether the MTA initiates delivery activity when a message is queued to the channel. The use of these keywords reflects certain fundamental characteristics of the corresponding channel program or programs. The descriptions of the various channels the MTA supports indicate when and where these keywords should be used.

Syntax: bidirectional

blocketrn

Do not honor ETRN commands. See allowetrn. 

Syntax: blocketrn

blocklimit

Maximum number of MTA blocks allowed per message. The MTA rejects attempts to queue messages containing more blocks than this to the channel. An MTA block is normally 1024 bytes; this can be changed with the BLOCK_SIZE option in the MTA option file.

Syntax: blocklimit integer

cacheeverything

Cache all connection information and enables all forms of caching. 

The SMTP channel cache normally records both connection successes and failures. However, this caching strategy is not necessarily appropriate for all situations. The cacheeverything, cachefailures, cachesuccesses, and nocache keywords are provided to adjust the MTA’s cache.

Syntax: cacheeverything

cachefailures

Cache only connection failure information. See cacheeverything. 

Syntax: cachefailures

cachesuccesses

Cache only connection success information. This keyword is equivalent to nocache for channels. See cacheeverything.

Syntax: cachesuccesses

caption

Used in channel displays. This keyword is similar to the description channel keyword. The difference is presumably that a "caption" is shorter than a "description". Monitoring Framework appears to need both.

Syntax: caption quoted string

channelfilter

Specify the location of channel filter file; synonym for destinationfilter. The channelfilter keyword may be used on general MTA channels to specify a channel-level filter to apply to outgoing messages.

Syntax: channelfilter filter

The filter argument is a required URL that describes the channel filter location.

charset7

Default character set to associate with 7-bit text messages. 

The MIME specification provides a mechanism to label the character set used in a plain text message. Specifically, a charset= parameter can be specified as part of the Content-type: header line. Various character set names are defined in MIME, including US-ASCII (default), ISO-8859-1, ISO-8859-2, and so on. Some existing systems and user agents do not provide a mechanism for generating these character set labels; as a result, some plain text messages may not be properly labeled. The charset7, charset8, and charsetesc channel keywords provide a per-channel mechanism to specify character set names to be inserted into message headers. If the appropriate keyword is not specified, no character set name is inserted into the Content-type: header lines.

Syntax: charset7 charsetname

The charsetname argument specifies the character set name.

charset8

Default character set to associate with 8-bit text messages. 

The charset8 keyword also controls the MIME encoding of 8-bit characters in message headers (where 8-bit data is unconditionally illegal). The MTA normally MIME-encodes any (illegal) 8-bit data encountered in message headers, labeling it as the UNKNOWN charset if no charset8 value has been specified. See charset7 and charsetesc.

Syntax: charset8 charsetname

The charsetname argument specifies the character set name.

charsetesc

Default character set to associate with 7-bit text messages containing the escape character. See charset7 and charset8. 

Syntax: charsetesc charsetname

The charsetname argument specifies the character set name.

checkehlo

Check the SMTP response banner returned by the remote SMTP server for the string “ESMTP.” If this string is found, EHLO is used. If the string is not found, HELO is used. The default behavior is to use EHLO on all initial connection attempts, unless the banner line contains the string “fire away,” in which case HELO is used. Note that there is no keyword corresponding to this default behavior, which lies between the behaviors resulting from the ehlo and checkehlo keywords.

Syntax: checkehlo

chunkingclient

Enable client chunking support (default). 

Syntax: chunkingclient

chunkingserver

Enable server chunking support (default). 

Syntax: chunkingserver

commentinc

Leave comments in message header lines intact. 

The MTA interprets the contents of header lines only when necessary. However, all registered header lines containing addresses must be parsed to rewrite and eliminate short form addresses and otherwise convert them to legal addresses. During this process, comments (strings enclosed in parentheses) are extracted and may be modified or excluded when the header line is rebuilt. This behavior is controlled by the use of the commentinc, commentmap, commentomit, commentstrip, and commenttotal keywords.

Syntax: commentinc

commentmap

Runs comment strings in message header lines through the COMMENT_STRINGS mapping table. See commentinc.

Syntax: commentmap

commentomit

Remove comments from message header lines. See commentinc.

Syntax: commentomit

commentstrip

Remove problematic characters from comment fields in message header lines. See commentinc.

Syntax: commentstrip

commenttotal

Strip comments (material in parentheses) from all header lines, except Received: header lines; this keyword is not normally useful or recommended. See commentinc.

Syntax: commenttotal

connectalias

Does not rewrite addresses upon message dequeue and deliver to whatever host is listed in the recipient address. 

Syntax:connectalias

connectcanonical

Rewrite addresses upon message dequeue and connect to the host alias for the system to which the MTA would be connected. 

Syntax: connectcanonical

disconnectrecipientlimit

Limits the number of session recipients in an SMTP session. 

Syntax:disconnectrecipientlimit integer

copysendpost

Send copies of failures to the postmaster unless the originator address is blank. The postmaster then receives copies of all failed messages except those messages that are actually themselves bounces or notifications. 

The keywords sendpost, copysendpost, errsendpost, and nosendpost control the sending of failed messages to the postmaster. The default behavior, if none of these keywords is specified, is to send a copy of failed mail messages to the postmaster, unless error returns are completely suppressed with a blank Errors-to: header line or a blank envelope From: address. This default behavior does not correspond to any of the keyword settings.

Syntax: copysendpost

copywarnpost

Send copies of warnings to the postmaster unless the originator address is blank. In this case, the postmaster receives copies of all warnings of undelivered messages except for undelivered messages that are actually themselves bounces or notifications. 

The keywords warnpost, copywarnpost, errwarnpost, and nowarnpost are used to control the sending of warning messages to the postmaster. The default behavior, if none of these keywords is specified, is to send a copy of warnings to the postmaster unless warnings are completely suppressed with a blank Warnings-to: header line or a blank envelope From: address. This default behavior does not correspond to any of the keyword settings.

Syntax: copywarnpost

daemon

Specify the name or IP address of a gateway through which to route mail. The daemon keyword is used on SMTP channels to control the choice of target host. Normally such channels connect to whatever host is listed in the envelop address of the message being processed. The daemon keyword is used to tell the channel to instead connect to a specific remote system, generally a firewall or mailhub system, regardless of the envelope address. 

Syntax: daemon routing_hostname

or 

daemon [IP address]

The actual remote system name should appear directly after the daemon keyword. If the argument after the daemon keyword is not a fully qualified domain name or a domain literal in square brackets, the argument is ignored and the channel connects to the channel’s official host.

datefour

Convert date fields in message headers to four-digit years. Two- digit dates with a value less than 50 have 2000 added, while values greater than 50 have 1900 added.

Syntax: datefour

datetwo

Convert date fields in message headers to two-digit years. The MTA removes the leading two digits from four-digit dates. This is intended to provide compatibility with incompliant mail systems that require two digit dates; it should never be used for any other purpose. 

Syntax: datetwo

dayofweek

Include day of week in date specifications in date fields in message headers and add this information to date and time headers if it is missing. 

Syntax: dayofweek

defaulthost

Specify a particular host name to use to complete addresses. This host name is appended to incoming bare user ids. 

Syntax: defaulthost host1 [host2]

The defaulthost keyword must be followed by the domain name (host1) to use in completing addresses (in envelope From: addresses and in headers) that come into that channel. An optional second domain name (host2) may be specified to use in completing envelope To: addresses. host2 must include at least one period in its name.

defaultnameservers

Use TCP/IP stack’s choice of nameservers. 

Syntax: defaultnameservers

defaultmx

Channel determines whether or not to do MX lookups from network. The defaultmx keyword specifies that mx should be used if the network says that MX records are supported. The keyword defaultmx is the default on channels that support MX lookups in any form

Syntax: defaultmx

deferralrejectlimit

Sets a limit on the number of bad RCPT TO: addresses that are allowed during a single session. After the specified number of To: addresses have been rejected, all subsequent recipients, good or bad, are rejected with a 4xx error. Provides same functionality as the ALLOW_REJECTIONS_BEFORE_DEFERRAL SMTP channel keyword, but on a per-channel basis.

Syntax: deferralrejectlimit integer

where integer is the specified number of bad RCPT TO: addresses that are allowed in a single session.

deferred

Honor and implement recognition of deferred delivery dates (the Deferred-delivery: header line). Messages with a deferred delivery date in the future are held in the channel queue until they either expire and are returned or the deferred delivery date is reached. See RFC 1327 for details on the format and operation of the Deferred-delivery: header line.

Syntax: deferred

defragment

Reassemble any MIME-compliant message and partial parts queued to this channel. When a channel is marked defragment, any partial messages queued to the channel are placed in the defragmentation channel queue instead. After all the parts have arrived, the message is rebuilt and sent on its way.

Syntax: defragment

deletemessagehash

Deletes any existing Message-hash: field. Deletemessagehash is the default.

Syntax: deletemessagehash

deliveryflags 

The deliveryflags channel option may be placed on source or destination channels. It takes a required, bit-encoded integer argument, which controls various options regarding message delivery:

Bit 0 Value 1 Interpret subaddresses as folder names for delivery 

Bit 1 Value 2 When placed on a source channel, enable quota bypass (that is, delivery even if the recipient user is overquota) for messages enqueued by this channel 

Bit 2 Value 4 Messages do not require SMTP dot stuffing 

Bit 4 Value 16 Force single copy per recipient  

Bit 5 Value 32 Ignore discard or jettison actions ( e.g., from Sieve filters). This corresponds to setting the message envelope bit normally set automatically by the MTA when applying a discard or jettison action, enqueueing to the FILTER_DISCARD or FILTER_JETTISON channel, so that if a "retrieval" procedure should later be performed on such a "discarded" message (such as moving the message to the reprocess channel), the message will then get delivered bypassing any discard or jettison actions. 

Bit 6 Value 64 When placed on a destination channel, enable transfer of delivery flags; equivalent to the flagtransfer channel option 

Bit 7 Value 128 Messages enqueued to the channel are considered, for purposes of CONVERSION mapping table testing, to have a conversion tag set  

Bit 8 Value 256 Handle as if address is a result of a " redirect" action  

Bit 9 Value 512 Handle as if SMTP AUTH (SASL) had been used as far as access checks are concerned  

Bit 10 Value 1024 Handle as if TLS had been used  

Bit 11 Value 2048 Handle as if address produced by alias 

dequeue_removeroute

Removes source routes from envelope To: addresses when dequeuing.The dequeue_removeroute channel keyword can be used on outgoing TCP/IP channels to cause source routes to be removed from envelope recipient addresses. In particular, this keyword may be useful at sites that use the mailhost attribute to direct messages to NMS systems or other systems that do not support source routes.

Syntax: dequeue_removeroute

description

Used in channel displays. This keyword is similar to the caption channel keyword. The difference is presumably that a "caption" is shorter than a "description". Monitoring Framework appears to need both.

Syntax: description quoted string

destinationbrightmail

Specifies that all messages destined to this channel be subject to Brightmail processing if the recipient has opted in via the LDAP attribute mailAntiUBEService (or equivalent).

Syntax: destinationbrightmail

destinationbrightmailoptin

Specifies that all messages destined to this channel will be subject to the specified brightmail processing (either spam or virus or both) even if those services have not been opted in by the user or domain via the LDAP attribute. The filter list follows the keyword. The list following must be either spam or virus or spam,virus or virus,spam.

Example 1: ims-ms destinationbrightmailoptin spam,virus. . .

All mail destined for the message store is scanned for both spam and virus by Brightmail 

destinationfilter

Specifies the location of channel filter file that applies to outgoing messages. The destinationfilter is a synonym for channelfilter.

Syntax: destinationfilter filter

The filter argument is a required URL that describes the channel filter location.

destinationnosolicit

The NO-SOLICIT SMTP extension (described in the Internet Draft draft-malamud-no-soliciting-07.txt) has been implemented with Messaging Server. This option specifies a comma-separated list of solicitation field values that will not be accepted in mail queued to this channel.

Syntax:

destinationnosolicit value1, value2, value3...

where value1, value2, value3 is a comma-separated list of solicitation field values.

destinationspamfilterXoptin

Run messages destined to this channel through spam filtering software X. 

disableetrn

Disable support for the ETRN SMTP command. ETRN is not advertised by the SMTP server as a supported command. See allowetrn. 

Syntax: disableetrn

disconnectbadauthlimit

Used to place a limit on the number of unsuccessful authentication attempts that will be allowed in a session before the session is disconnected. 

Default: 3.

disabledestinationspamfilterX

Disables spam filter X for messages destined to this channel. If a message came from a channel that enabled spam filter X (example: destinationXspamfilteroptin), or the filter was enabled through the use of optin attributes in domain LDAP entry, this keyword will disable it.

disablesourcespamfilterX

Disables spam filter X for messages coming from this channel. If a message came from a channel that enabled spam filter X (example: destinationXspamfilteroptin), or the filter was enabled through the use of optin attributes in domain LDAP entry, this keyword will disable it.

disconnectbadcommandlimit

Limits the number of bad commands in an SMTP session. 

Syntax: disconnectbadcommandlimit integer

disconnecttransactionlimit

Limits the number of transactions in an SMTP session. 

Syntax: disconnecttransactionlimit integer

disconnectrejectlimit

Limits the number of rejected recipients in an SMTP session. 

Syntax: disconnectrejectlimit integer

dispositionchannel

Overrides the process channel as the place to initially queue message disposition notifications (MDNs). If the named channel does not exist, Messaging Server resumes using the process channel. 

Syntax: dispositionchannel channel

domainetrn

Tell the MTA to honor only those ETRN commands that specify a domain. The domainetrn keyword also causes the MTA not to echo back the name of the channel that the domain matched and that the MTA be attempts to run. See allowetrn.

Syntax: domainetrn

domainvrfy

Issue SMTP VRFY command using full address (for example, user@host) as its argument. The domainvrfy, localvrfy, and novrfy keywords control the MTA’s use of the VRFY command in its SMTP client.

Syntax: domainvrfy

dropblank

Strip blank To:, Resent-To, Cc:, or Resent-Cc: headers from incoming messages if specified on a source channel. 

Syntax: dropblank

ehlo

Use EHLO on all initial SMTP connections. See checkehlo. 

Syntax: ehlo

eightbit

Channel supports 8-bit characters. The eightbit keyword should be used on channels that do not restrict the use of characters with ordinal values greater than 127 (decimal).

Syntax: eightbit

eightnegotiate

Channel should negotiate use of eight bit transmission, if possible. 

Some transfers, such as extended SMTP, may actually support a form of negotiation to determine if eight-bit characters can be transmitted. The eightnegotiate keyword can be used to instruct the channel to encode messages when negotiation fails. This is the default for all channels; channels that do not support negotiation assume that the transfer is capable of handling eight-bit data

Syntax: eightnegotiate

eightstrict

Channel should reject incoming messages with headers that contain illegal eight bit data. 

Syntax:

eightstrict

errsendpost

Send copies of failures to the postmaster if the originator address is illegal (cannot be returned). See copysendpost. 

Syntax: errsendpost

errwarnpost

Send copies of warnings to the postmaster if the originator address is illegal (cannot be returned). See copywarnpost. 

Syntax: errwarnpost

expandchannel

Channel in which to perform deferred expansion due to application of expandlimit. The reprocessing channel would be used by default, if expandchannel were not specified, but use of a processing channel is typically necessary for Messaging Server configurations. If a channel for deferred processing is specified via expandchannel, that channel should be a reprocessing or processing channel. However, the Messaging Server typically should be a processing channel; specification of other sorts of channels may lead to unpredictable results.

Syntax: expandchannel

expandlimit

Process an incoming message “offline” when the number of addressees exceeds this limit. 

Syntax: expandlimit integer

The expandlimit keyword takes an integer argument that specifies how many addresses should be accepted in messages coming from the channel before deferring processing. The default value is infinite if the expandlimit keyword is not specified. A value of 0 forces deferred processing on all incoming addresses from the channel.

expnallow

Allows EXPN even if it has been disabled at the SMTP server level with the DISABLE_EXPAND SMTP channel option.

Syntax:

expnallow

expndisable

Disables EXPN unconditionally.

Syntax:

expndisable

expndefault

Allows EXPN if the SMTP server is set to allow it.

Syntax:

expndefault

exproute

Use explicit routing for this channel’s addresses. The exproute keyword (short for “explicit routing“) tells the MTA that the associated channel requires explicit routing when its addresses are passed on to remote systems. If this keyword is specified on a channel, the MTA adds routing information containing the name of the local system (or the current alias for the local system) to all header addresses and all envelope From: addresses that match the channel.

Syntax: exproute

fileinto

Specify effect on address when a mailbox filter fileinto operation is applied. The fileinto keyword is currently supported only for ims-ms and LMTP channels.

For ims-ms channels, the usual usage is:fileinto $U+$S@$D

The above specifies that the folder name should be inserted as a sub-address into the original address, replacing any originally present sub-address. 

For LMTP channels, the usual usage is:fileinto @$4O:$U+$S@$D

where $4O is a 4 and the letter O, not the number zero.

filter

Specify the location of user filter files. The filter keyword may be used on the native and ims-ms channels.

Syntax: filter url

The argument for filter is a required URL describing the filter file location. 

flagtransfer

The flagtransfer channel option may be placed on a destination TCP/IP channel (more generally, SMTP client channel). It enables SMTP client support of the XDFLG private SMTP extension command. If the client is sending to an SMTP server that supports this extension, the SMTP client will pass along (transfer) the delivery flags. For instance, this can be useful when user filters (performing fileinto Sieve operations) will be performed on a front-line system that must then relay the messages to a back-end system. noflagtransfer disables delivery flag transfer and is the default. Setting flagtransfer is equivalent to setting bit 6 (value 64) of the deliveryflags channel option.

forwardcheckdelete

Affects verification of source IP address. The forwardcheckdelete keyword tells the MTA to perform a forward lookup after each reverse lookup and to ignore (delete) the reverse lookup returned name if the forward lookup of that name does not match the original connection IP address. Use the original IP address instead.

The fowardchecknone, forwardchecktag, and forwardcheckdelete keywords can modify the effects of performing reverse lookups and controlling whether the MTA performs a forward lookup of an IP name found using a DNS reverse lookup. If such forward lookups are requested, these keywords also determine what the MTA does if the forward lookup of the IP name does not match the original IP number of the connection.

Syntax: forwardcheckdelete

forwardchecknone

No forward lookup is performed. See forwardcheckdelete.

Syntax:forwardchecknone

forwardchecktag

Tell the MTA to perform a forward lookup after each reverse lookup and to tag the IP name with an asterisk, *, if the number found using the forward lookup does not match that of the original connection. See forwardcheckdelete.

Syntax: forwardchecktag

generatemessagehash

If specified on a destination channel, cause a Message-hash: header field to be inserted into the message.

Syntax: generatemessagehash

header_733

Use % routing in the message header. This channel supports RFC 822 format header addressing with the exception of source routes; source routes should be rewritten using percent sign conventions instead. 

Use of 733 address conventions in message headers may violate RFC 822 and RFC 976. Only use this keyword if you are sure that the channel connects to a system that cannot deal with source route addresses. 

Syntax: header_733

header_822

Use source routes in the message header. This channel supports full RFC 822 format header addressing conventions including source routes. This is the default if no other header address type keyword is specified. 

Syntax: header_822

header_uucp

Use ! (bang-style) or UUCP routing in the header. The use of this keyword is not recommended. Such usage violates RFC 976. 

Syntax: header_uucp

headerlabelalign

Align header lines for message headers enqueued on this channel. This keyword takes an integer-valued argument. The alignment point is the margin where the contents of headers are aligned. 

Syntax: headerlabelalign alignment_point

The headerlabelalign keyword takes an integer-valued argument. The alignment point is the margin where the contents of headers are aligned. The default value is 0, which causes headers not to be aligned.

headerlimit

Imposes a limit on the maximum size of the primary (outermost) message header. The primary message headers are silently truncated when the limit is reached. If the global MTA option, HEADER_LIMIT, is set, it overrides this channel-level limit.

Default: no limit 

headerlinelength

Control the length of message header lines enqueued on this channel. Lines longer than this keyword specifies are folded in accordance with RFC 822 folding rules. 

Syntax: headerlinelength length

The length value is an integer. The default, if this keyword is not explicitly set, is 80. Lines longer than this are folded in accordance with RFC 822 folding rules.

headerread

Apply header trimming rules from an options file to the message headers upon message enqueue (use with caution) before the original message headers are processed. When the headerread keyword is used, the MTA will look for a file called channel_read_headers.opt where channel is the name of the channel.

Syntax: headerread

headertrim

Applies header trimming rules from an options file to the message headers (use with caution) after the original message headers are processed. The headertrim keyword impacts only messages that are destined to that channel. Source channels are not impacted. When the headertrim keyword is used, the MTA will look for a file called channel_headers.opt where channel is the name of the channel.

Syntax: headertrim

holdlimit

Mark as .HELD an incoming message when the number of addressees exceeds this limit and enqueue to the reprocess channel (or to whatever channel is specified via the expandchannel keyword). As .HELD messages, the files sit unprocessed in that MTA queue area awaiting manual intervention by the MTA postmaster.

Syntax: holdlimit integer

holdexquota

Hold messages for users that are over quota. These messages remain in the MTA queue until they can either be delivered or they time out and are returned to their sender by the message return job. The holdexquota and noexquota keywords control the handling of messages addressed to Berkeley mailbox users (UNIX) who have exceeded their disk quota.

Syntax: holdexquota

identnone

Disable IDENT lookups; perform IP-to-hostname translation. Both IP number and host name are included in the Received: header lines for the message. 

Syntax: identnone

identnonelimited

Has the same effect as identnone as far as IDENT lookups, reverse DNS lookups, and information displayed in Received: header. Where it differs is that with identnonelimited the IP literal address is always used as the basis for any channel switching due to use of the switchannel keyword, regardless of whether the DNS reverse lookup succeeds in determining a host name.

Syntax: identnonelimited

identnonenumeric

Disable IDENT lookups and inhibits the usual DNS reverse lookup translation of IP number to host name. This might result in a performance improvement at the cost of less user-friendly information in the Received: header. 

Syntax: identnonenumeric

identnonesymbolic

Disable this IDENT lookup, but does perform IP to host name translation. Only the host name is included in the Received: header for the message. 

Syntax: identnonesymbolic

identtcp

Perform IDENT lookups on incoming SMTP connections and IP to host name translation. The IDENT lookup uses the IDENT protocol (RFC 1413). The information obtained from the IDENT protocol (usually the identity of the user making the SMTP connection) is then inserted into the Received: header lines of the message, with the host name corresponding to the incoming IP number, as reported from a DNS reverse lookup and the IP number itself.

Syntax: identtcp

identtcplimited

Has the same effect as identtcp as far as IDENT lookups, reverse DNS lookups, and information displayed in Received: header. Where it differs from identtcp is that the IP literal address is always used as the basis for any channel switching due to use of the switchchannel keyword, regardless of whether the DNS revers lookup succeeds in determining a host name.

Syntax: identtcplimited

identtcpnumeric

Perform IDENT lookups on incoming SMTP connections; disable IP to hostname translation. 

Syntax: identtcpnumeric

identtcpsymbolic

Enable IDENT protocol (RFC 1413). The information obtained from the IDENT protocol (usually the identity of the user making the SMTP connection) is then inserted into the Received: header lines of the message, with the actual incoming IP number, as reported from a DNS reverse lookup; the IP number itself is not included in the Received: header.

Syntax: identtcpsymbolic

ignoreencoding

Ignore Encoding: header on incoming messages. 

Syntax: ignoreencoding

ignoremessageencoding

The MIME specification prohibits the use of a content-transfer-encoding other than 7bit, 8bit, and binary on multipart or message/rfc822 parts. It has long been the case that some agents violate the specification and encode multiparts and message/rfc822 objects. Accordingly, the MTA has code to accept such encodings and remove them. However, recently different standards violation has shown up, one where a CTE field is present with a value of quoted-printable or base63 but the part is not actually encoded. If the MTA tries to decode such a message the result is typically a blank messages.  

Messages with this problem have become sufficiently prevalent that two pairs of channel keywords have been added to deal with the problem - interpretation of content-transfer-encoding fields on multiparts and message/rfc822 parts can be enabled or disabled. The first pair is interpretmultipartencoding and ignoremultipartencoding and the second is interpretmessageencoding and ignoremessageencoding. The defaults are interpretmultipartencoding and interpretmessageencoding.

ignoremultipartencoding

The MIME specification prohibits the use of a content-transfer-encoding other than 7bit, 8bit, and binary on multipart or message/rfc822 parts. It has long been the case that some agents violate the specification and encode multiparts and message/rfc822 objects. Accordingly, the MTA has code to accept such encodings and remove them. However, recently different standards violation has shown up, one where a CTE field is present with a value of quoted-printable or base63 but the part is not actually encoded. If the MTA tries to decode such a message the result is typically a blank messages.  

Messages with this problem have become sufficiently prevalent that two pairs of channel keywords have been added to deal with the problem - interpretation of content-transfer-encoding fields on multiparts and message/rfc822 parts can be enabled or disabled. The first pair is interpretmultipartencoding and ignoremultipartencoding and the second is interpretmessageencoding and ignoremessageencoding. The defaults are interpretmultipartencoding and interpretmessageencoding.

improute

Use implicit routing for this channel’s addresses. The improute keyword indicates to the MTA that all addresses matching other channels need routing when they are used in mail sent to a channel marked improute.

Syntax: improute

includefinal

Include final form of address in delivery notifications (recipient address). The includefinal and suppressfinal channel keywords control whether the MTA also includes the final form of the address.

Syntax: includefinal

inner

Parse messages and rewrite inner message headers. This keyword can be applied to any channel. 

Syntax: inner

innertrim

Apply header trimming rules from an options file to inner message headers for example, embedded MESSAGE/RFC822 headers (use with caution). When the inntertrim keyword is used, the MTA will look for a file called channel_headers.opt where channel is the name of the channel.

Syntax: innertrim

interfaceaddress

Bind to the specified TCP/IP interface address as the source address for outbound connections. On a system with multiple interface addresses this keyword controls which address is used as the source IP address when the MTA sends outgoing SMTP messages. Note that it complements the Dispatcher option INTERFACE_ADDRESS, which controls which interface address a TCP/IP channel listens on for accepting incoming connections and messages.

Syntax: interfaceaddress address

interpretencoding

Interpret Encoding: header on incoming messages, if otherwise configured to do so. 

Syntax: interpretencoding

interpretmessageencoding

The MIME specification prohibits the use of a content-transfer-encoding other than 7bit, 8bit, and binary on multipart or message/rfc822 parts. It has long been the case that some agents violate the specification and encode multiparts and message/rfc822 objects. Accordingly, the MTA has code to accept such encodings and remove them. However, recently different standards violation has shown up, one where a CTE field is present with a value of quoted-printable or base63 but the part is not actually encoded. If the MTA tries to decode such a message the result is typically a blank messages.  

Messages with this problem have become sufficiently prevalent that two pairs of channel keywords have been added to deal with the problem - interpretation of content-transfer-encoding fields on multiparts and message/rfc822 parts can be enabled or disabled. The first pair is interpretmultipartencoding and ignoremultipartencoding and the second is interpretmessageencoding and ignoremessageencoding. The defaults are interpretmultipartencoding and interpretmessageencoding.

interpretmultipartencoding

The MIME specification prohibits the use of a content-transfer-encoding other than 7bit, 8bit, and binary on multipart or message/rfc822 parts. It has long been the case that some agents violate the specification and encode multiparts and message/rfc822 objects. Accordingly, the MTA has code to accept such encodings and remove them. However, recently different standards violation has shown up, one where a CTE field is present with a value of quoted-printable or base63 but the part is not actually encoded. If the MTA tries to decode such a message the result is typically a blank messages.  

Messages with this problem have become sufficiently prevalent that two pairs of channel keywords have been added to deal with the problem - interpretation of content-transfer-encoding fields on multiparts and message/rfc822 parts can be enabled or disabled. The first pair is interpretmultipartencoding and ignoremultipartencoding and the second is interpretmessageencoding and ignoremessageencoding. The defaults are interpretmultipartencoding and interpretmessageencoding.

keepmessagehash

Causes any existing Message-hash: field to be retained.

Syntax: keepmessagehash

language

Specifies the default language of encoded words in headers. 

Syntax: language default_language

lastresort

Specify a host to which to connect even when all other connection attempts fail. In effect, this acts as an MX record of last resort. This is only useful on SMTP channels.

Syntax: lastresort host

The keyword requires a single parameter specifying the name of the “system of last resort.” 

linelength

Message lines exceeding this length limit are wrapped (MIME encoded). The linelength keyword provides a mechanism for limiting the maximum permissible message line length on a channel-by-channel basis. Messages queued to a given channel with lines longer than the limit specified for that channel are automatically encoded.

The linelength keyword causes encoding of data to perform “soft” line wrapping for transport purposes.

Syntax: linelength length

linelimit

Maximum number of lines allowed per message. The MTA rejects attempts to queue messages containing more than this number of lines to the channel. The keywords, blocklimit and linelimit, can be imposed simultaneously, if necessary.

Syntax: linelimit integer

lmtp

Specifies that this channel uses LMTP rather than SMTP. Do not use the smtp and lmtp keywords on the same channel.

Syntax: lmtp

localvrfy

Issue SMTP VRFY command using local part of the address. For example, for the address user1@siroe.com, user1 is used with the VRFY command. See domainvrfy.

Syntax: localvrfy

logging

Log message enqueues and dequeues into the log file and activates logging for a particular channel. Logging is controlled on a per-channel basis. All log entries are made to the file mail.log_current in the log directory msg-svr-base/log/imta/mail.log_current.

Syntax: logging

loopcheck

Places a string into the SMTP banner in order for the SMTP server to check if it is communicating with itself. When loopcheck is set, the SMTP server advertises an XLOOP extension. When it communicates with an SMTP server supporting XLOOP, the MTA’s SMTP client compares the advertised string with the value of its MTA and immediately bounces the message if the client is in fact communicating with the SMTP server.

Syntax: loopcheck

mailfromdnsverify

Verify that an entry in the DNS exists for the domain used on the SMTP MAIL FROM: command when set on an incoming TCP/IP channel. The MTA rejects the message if no such entry exists. 

Syntax: mailfromdnsverify

master

Channel is served only by a master program. See bidirectional. 

Syntax: master

master_debug

Generate debugging output in the channel’s master program output. 

Some channel programs include optional code to assist in debugging by producing additional diagnostic output. The master_debug and slave_debug channel keywords are provided to enable generation of this debugging output on a per-channel basis.

On UNIX, when master_debug and slave_debug is enabled for the l channel, users receive imta_sendmail.log-uniqueid files in their current directory (if they have write access to the directory; otherwise, the debug output goes to stdout) containing MTA debug information.

Syntax: master_debug

maxblocks

Maximum number of MTA blocks per message; longer messages are broken into multiple messages. An MTA block is normally 1024 bytes; this can be changed with the BLOCK_SIZE option in the MTA option file.

The maxblocks and maxlines keywords are used to impose size limits beyond which automatic fragmentation are activated.

Syntax: maxblocks integer

maxheaderaddrs

Maximum number of addresses per message header line; longer header lines are broken into multiple header lines. 

Syntax: maxheaderaddrs integer

This keyword requires a single integer parameter that specifies the associated limit. By default, no limit is imposed on the length of a header line nor on the number of addresses that can appear. 

maxheaderchars

Maximum number of characters per message header line; longer header lines are broken into multiple header lines. 

Syntax: maxheaderchars integer

This keyword requires a single integer parameter that specifies the associated limit. By default, no limit is imposed on the length of a header line nor on the number of addresses that can appear. 

maxjobs

Maximum number of concurrent jobs that can be running at one time. If the computed number of service jobs is greater than this value, only maxjobs jobs are actually created. Normally maxjobs is limited by a value that is less than or equal to the total number of jobs that can run simultaneously in whatever Job Controller pool or pools the channel uses. The default for this value if maxjobs is not specified is 100.

Syntax: maxjobs integer

maxlines

Maximum number of message lines per message; longer messages are broken into multiple messages. This limit can be imposed simultaneously if necessary. See maxblocks. 

Syntax: maxlines integer

maxprocchars

Specifies maximum length of headers to process and rewrite. Messages with headers longer than specified are still accepted and delivered; the only difference is that the long header lines are not rewritten in any way. 

Syntax: maxprocchars integer

The default is processing headers of any length. 

maysaslserver

Cause the SMTP server to permit clients to attempt to use SASL authentication. 

The maysaslserver, mustsaslserver, nosasl, nosaslserver, nosaslswitchchannel, and saslswitchchannel keywords are used to configure SASL (SMTP AUTH) use during the SMTP protocol by SMTP channels such as TCP/IP channels.

Syntax: maysaslserver

maytls

SMTP client and server allow TLS use to incoming connections and to attempt TLS upon outgoing connections. 

The maytls, maytlsclient, maytlsserver, musttls, musttlsclient, musttlsserver, notls, notlsclient, notlsserver, and tlsswitchchannel channel keywords are used to configure TLS use during the SMTP protocol by SMTP based channels such as TCP/IP channels.

Syntax: maytls

maytlsclient

SMTP client attempts TLS use when sending outgoing messages, if sending to an SMTP server that supports TLS. See maytls. 

Syntax: maytlsclient

maytlsserver

SMTP server allows TLS use and advertises support for the STARTTLS extension when receiving messages. See maytls.

Syntax: maytlsserver

missingrecipientpolicy

Controls handling of messages missing recipient header lines. 

Syntax: missingrecipientpolicy integer

The missingrecipientpolicy keyword takes an integer value specifying the approach to use for such messages; the default value, if the keyword is not explicitly present, is 1 (pass the illegal message through unchanged).

The values for missingrecipientpolicy are:

  • 0—Place envelope To: recipients in a To: header line.

  • 1—Pass the illegal message through unchanged.

  • 2—Place envelope To: recipients in a To: header line.

  • 3—Place all envelope To: recipients in a single Bcc: header line.

  • 4—Generate a group construct (for example, ” ;”) To: header line, “To: Recipients not specified: ;”.

  • 5—Generate a blank Bcc: header line.

  • 6—Reject the message.

msexchange

Serves channel for Microsoft Exchange gateways and clients. The msexchange channel keyword also causes advertisement (and recognition) of broken TLS commands.

Syntax: msexchange

multiple

Accept multiple destination hosts in a single message copy for the entire channel. Note that at least one copy of each message is created for each channel the message is queued to, regardless of the keywords used. The multiple keyword corresponds in general to imposing no limit on the number of recipients in a message file, however the SMTP channel defaults to 99.

The keywords multiple, addrsperfile, single, and single_sys can be used to control how multiple addresses are handled.

Syntax: multiple

mustsaslserver

Cause the SMTP server to insist that clients use SASL authentication; the SMTP server does not accept messages unless the remote client successfully authenticates. See maysaslserver. 

Syntax: mustsaslserver

musttls

SMTP client and server insist upon TLS use n both outgoing and incoming connections and does not transfer messages with remote sides that do not support TLS. Email is not exchanged with remote systems that fail to successfully negotiate TLS use. See maytls.

Syntax: musttls

musttlsclient

SMTP client insists upon TLS use when sending outgoing messages and does not send messages to any remote SMTP server that does not support TLS use. See maytls. 

Syntax: musttlsclient

musttlsserver

SMTP server insists upon TLS use and does not accept messages from any remote SMTP client that does not support TLS use. See maytls.

Syntax: musttlsserver

mx

TCP/IP network and software supports MX record lookups. The mx keyword is currently equivalent to nonrandommx. See randommx.

Syntax: mx

nameparameterlengthlimit

Controls the points at which the name content-type and filename content-disposition parameters are truncated. See parameterlengthlimit.

Default: 128

Syntax: nameparameterlengthlimit integer

nameservers

Consult specified nameservers rather than TCP/IP stack’s choice when nameserver lookups are being performed, that is, unless the nsswitch.conf file on UNIX or the Windows NT TCP/IP configuration selects no use of nameservers.

Syntax: nameservers IP_address1 IP_address2 ...

nameservers requires a space separated list of IP addresses for the nameservers.

noaddreturnpath

Do not add a Return-path: header when enqueuing to this channel. 

nobangoverpercent

Group A!B%C as (A!B)%C (default). That is, the nobangoverpercent keyword forces “bang” addresses (A!B%C) to interpret C as the routing host and A as the final destination host.

This keyword does not affect the treatment of addresses of the form A!B@C. These addresses are always treated as (A!B)@C. Such treatment is mandated by both RFC 822 and FRC 976.

Syntax: nobangoverpercent

noblocklimit

No limit specified for the number of MTA blocks allowed per message. See blocklimit. 

Syntax: noblocklimit

nocache

Do not cache any connection information. See cacheeverything. 

Syntax: nocache

nochannelfilter

Do not perform channel filtering for outgoing messages; synonym for nodestinationfilter. See channelfilter.

Syntax: nochannelfilter

nochunkingclient

Disable client chunking support. 

Syntax: nochunkingclient

nochunkingserver

Disable server chunking support. 

Syntax: nochunkingserver

nodayofweek

Remove day of week from date/time specifications. This is intended to provide compatibility with incompliant mail systems that cannot process this information properly; it should never be used for any other purpose. See dayofweek.

Syntax: nodayofweek

nodefaulthost

Do not specify a domain name to use to complete addresses. See defaulthost.

Syntax: nodefaulthost

nodeferred

Do not honor deferred delivery dates. See deferred. 

Syntax: nodeferred

nodefragment

Do not perform special processing for message/partial messages. See defragment. 

Syntax: nodefragment

nodestinationfilter

Do not perform channel filtering for outgoing messages. See destinationfilter. 

Syntax: nodestinationfilter

nodropblank

Do not strip blank To:, Resent-To:, Cc:, or Resent-Cc: headers. See dropblank.

Syntax: nodropblank

noehlo

Never use the SMTP EHLO command. See ehlo.

Syntax: noehlo

noexproute

No explicit routing for this channel’s addresses. See exproute.

Syntax: noexproute

noexquota

Return to originator any messages to users who are over quota. The holdexquota and noexquota keywords control the handling of messages addressed to Berkeley mailbox users (UNIX) who have exceeded their disk quota.

See holdexquota.

Syntax: noexquota

nofileinto

Mailbox filter fileinto operator has no effect. See fileinto.

Syntax: nofileinto

nofilter

Do not perform user mailbox filtering. See filter. 

Syntax: nofilter

noflagtransfer

Do not apply flag transfer. See flagtransfer.

Syntax: noflagtransfer

noheaderread

Do not apply header trimming rules from option file upon message enqueue. See headerread.

Syntax: noheaderread

noheadertrim

Do not apply header trimming rules from options file. See headertrim.

Syntax: noheadertrim

noimproute

No implicit routing for this channel’s addresses. See improute.

Syntax: noimproute

noinner

Do not rewrite inner message headers. See inner.

Syntax: noinner

noinnertrim

Do not apply header trimming to inner message headers. See innertrim.

Syntax: noinnertrim

nolinelimit

No limit specified for the number of lines allowed per message. See linelimit.

Syntax: nolinelimit

nologging

Do not log message enqueues and dequeues into the log file. See logging.

Syntax: nologging

noloopcheck

Instructs the SMTP client not check the value of any XLOOP parameter in the EHLO server response to see if the SMTP client is communicating with the SMTP server on the same machine. 

Syntax: noloopcheck

nomailfromdnsverify

The MTA does not verify that an entry in the DNS exists for the domain used. See mailfromdnsverify.

Syntax: nomailfromdnsverify

nomaster_debug

Do not generate debugging output in the channel’s master program output. See master_debug.

Syntax: nomaster_debug

nomsexchange

Channel does not serve MS Exchange gateways. See msexchange.

Syntax: nomsexchange

nomx

TCP/IP network does not support MX lookups. See mx.

Syntax: nomx

nonrandommx

Perform MX lookups; does not randomize returned entries of equal precedence—they should be processed in the same order in which they are received. Equivalent to mx. See also randommx.

Syntax: nonrandommx

nonurgentbackoff

Specifies the frequency for attempted delivery of nonurgent messages. See backoff.

Syntax: nonurgentbackoff "interval1" ["interval2"] ["interval3"] ["interval4"] ["interval5"] ["interval6"] ["interval7"] ["interval8"]

The interval uses ISO 8601P syntax and is as follows:

P[yearsY][monthsM][weeksW][daysD][T[hoursH][minutesM][secondsS]]

The variables years, months, weeks, days, hours, minutes, and seconds are integer values that specify the interval between delivery attempts (the first variable specifies the interval between the initial delivery failure and the first delivery attempt). The alphabetic variable labels (P, Y, M, W, D, H, M, S, and T) are case-insensitive. The initial P is required. The other variables are optional, except that T is required if any time values are specified.

See backoff.

nonurgentblocklimit

Force messages above the specified size to wait unconditionally for a periodic job. The nonurgentblocklimit keyword instructs the MTA to downgrade messages larger than the specified size to lower than nonurgent priority (second class priority).

Syntax: nonurgentblocklimit integer

nonurgentnotices

Specify the amount of time which may elapse before notices are sent and messages returned for messages of non-urgent priority. 

Different return handling for messages of different priorities may be explicitly set using the nonurgentnotices, normalnotices, or urgentnotices keywords. Otherwise, the notices keyword values are used for all messages. See notices.

Syntax: nonurgentnotices age1 [age2] [age3] [age4] [age5]

The keyword is followed by a list of up to five monotonically increasing integer values. These values refer to the message ages at which warning messages are sent. The ages have units of days if the RETURN_UNITS option is 0 or not specified in the option file; or hours if the RETURN_UNITS option is 1. When an undeliverable message attains or exceeds the last listed age, it is returned (bounced).

noreceivedfor

Do not include Envelope to address in Received: header line. The noreceivedfor keyword instructs the MTA to construct Received: header lines without including any envelope addressee information. See receivedfor.

Syntax: noreceivedfor

noreceivedfrom

Construct Received: header lines without including the original envelope From: address. The noreceivedfrom keyword instructs the MTA to construct Received: header lines without including the original envelope From: address. See receivedfrom.

Syntax: noreceivedfrom

noremotehost

Use local host’s domain name as the default domain name to complete addresses. See remotehost.

Syntax: noremotehost

norestricted

Do not apply RFC 1137 restricted encoding to addresses. Equivalent to unrestricted keyword. See restricted.

Syntax: norestricted

noreturnaddress

Use the RETURN_ADDRESS option value. See returnaddress.

Syntax: noreturnaddress

noreturnpersonal

Use the RETURN_PERSONAL option value. See returnpersonal.

Syntax: noreturnpersonal

noreverse

Do not apply reverse database to addresses. noreverse exempts addresses in messages queued to the channel from address reversal processing. See reverse.

Syntax: noreverse

normalbackoff

Specifies the frequency for attempted delivery of normal messages. See backoff.

Syntax: normalbackoff "interval1" ["interval2"] ["interval3"] ["interval4"] ["interval5"] ["interval6"] ["interval7"] ["interval8"]

The interval uses ISO 8601P syntax and is as follows:

P[yearsY][monthsM][weeksW][daysD][T[hoursH][minutesM][secondsS]]

The variables years, months, weeks, days, hours, minutes, and seconds are integer values that specify the interval between delivery attempts (the first variable specifies the interval between the initial delivery failure and the first delivery attempt). The alphabetic variable labels (P, Y, M, W, D, H, M, S, and T) are case-insensitive. The initial P is required. The other variables are optional, except that T is required if any time values are specified.

See backoff.

normalblocklimit

Downgrade messages larger than the specified size to nonurgent priority. 

Syntax: normalblocklimit integer

normalnotices

Specify the amount of time which may elapse before notices are sent and messages returned for messages of normal priority. See notices. 

Syntax: normalnotices age1 [age2] [age3] [age4] [age5]

The keyword is followed by a list of up to five monotonically increasing integer values. These values refer to the message ages at which warning messages are sent. The ages have units of days if the RETURN_UNITS option is 0 or not specified in the option file; or hours if the RETURN_UNITS option is 1. When an undeliverable message attains or exceeds the last listed age, it is returned (bounced).

norules

Do not perform channel-specific rewrite rule checks. This keyword is usually used for debugging and is rarely used in actual applications. See rules. 

Syntax: norules

nosasl

SASL authentication is not permitted or attempted. Do not allow switching to this channel upon successful SASL authentication. See maysaslserver.

Syntax: nosasl

nosaslserver

SASL authentication is not permitted. See maysaslserver.

Syntax: nosaslserver

nosendetrn

Do not send an ETRN command. See sendetrn.

Syntax: nosendetrn

nosendpost

Do not send copies of failures to the postmaster. See sendpost.

Syntax: nosendpost

noservice

Service conversions for messages coming into this channel must be enabled via CHARSET-CONVERSION. See service.

Syntax: noservice

noslave_debug

Do not generate slave debugging output. See slave_debug.

Syntax: noslave_debug

nosmtp

Channel does not use SMTP. See smtp.

Syntax: nosmtp

nosourcefilter

Do not perform channel filtering for incoming messages. See sourcefilter.

Syntax: nosourcefilter

noswitchchannel

Do not switch to the channel associated with the originating host; does not permit being switched to. See switchchannel.

Syntax:noswitchchannel

notices

Specifies the amount of time that may elapse before notices are sent and messages returned. 

Syntax: notices age1 [age2] [age3] [age4] [age5]

The keyword is followed by a list of up to five monotonically increasing integer values. These values refer to the message ages at which warning messages are sent. The ages have units of days if the RETURN_UNITS option is 0 or not specified in the option file; or hours if the RETURN_UNITS option is 1. When an undeliverable message attains or exceeds the last listed age, it is returned (bounced).

When a message attains any of the other ages, a warning notice is sent. The default if no keyword is given is to use the notices setting for the local channel. If no setting has been made for the local channel, then the defaults 3, 6, 9, 12 are used, meaning that warning messages are sent when the message attains the ages 3, 6, and 9 days (or hours) and the message is returned after remaining in the channel queue for more than 12 days (or hours).

notificationchannel

Overrides the process channel as the place to initially queue delivery status notifications (DSNs). If the named channel does not exist, Messaging Server resumes using the process channel. 

Syntax:

notificationchannel channel

notls

SMTP client and server neither attempt nor allow TLS use. See maytls.

Syntax: notls

notlsclient

SMTP client does not attempt TLS use when sending messages. See maytlsclient.

Syntax: notlsclient

notlsserver

SMTP server does not offer or allow TLS use when receiving messages. See maytlsserver.

Syntax: notlsserver

novrfy

Do not issue SMTP VRFY commands. See vrfyallow.

Syntax:novrfy

nowarnpost

Do not send copies of warnings to the postmaster. See warnpost.

Syntax: nowarnpost

nox_env_to

Do not add X-Envelope-to header lines while enqueuing. See x_env_to.

Syntax: nox_env_to

parameterlengthlimit

Controls the points at which general content-type and content-disposition parameters are truncated. See nameparameterlengthlimit.

Default: 1024

Syntax:parameterlengthlimit integer

percentonly

Ignores bang paths in address of the form A!B%C. When this keyword is set, percents are interpreted for routing.

Syntax: percentonly

percents

Use % routing in the envelope; synonymous with 733. 

Syntax: percents

personalinc

Leave personal name fields in message header lines intact when rewriting addresses. 

During the rewriting process, all header lines containing addresses must be parsed in order to rewrite and eliminate short form addresses and otherwise convert them to legal addresses. During this process personal names (strings preceding angle-bracket-delimited addresses) are extracted and can be optionally modified or excluded when the header line is rebuilt. This behavior is controlled by the use of the personalinc, personalmap, personalomit, and personalstrip keywords.

Syntax: personalinc

personalmap

Run personal names through PERSONAL_NAMES mapping table. See personalinc.

Syntax: personalmap

personalomit

Remove personal name fields from message header lines. See personalinc.

Syntax: personalomit

personalstrip

Strip problematic characters from personal name fields in message header lines. See personalinc.

Syntax: personalstrip

pool

Specifies processing pool master channel in which programs run. 

The MTA creates service jobs (channel master programs) to deliver messages. The Job Controller, which launches these jobs, associates them with pools. Pool types are defined in the job_controller.cnf file. The pool with which each channel’s master program is associated can be selected on a channel-by-channel basis, using the pool keyword.

Syntax: pool pool_name

The pool keyword must be followed by the name of the pool to which delivery jobs for the current channel should be queued. The name of the pool should not contain more than 12 characters. If the pool keyword is omitted, then the pool used is the default pool, the first queue listed in the Job Controller configuration file.

port

Connect to the specified TCP/IP port. The SMTP over TCP/IP channels normally connect to port 25 when sending messages. The port keyword can be used to instruct an SMTP over TCP/IP channel to connect to a nonstandard port. 

Syntax: port port_number

postheadbody

Both the message’s header and body are sent to the postmaster when a delivery failure occurs. 

Syntax: postheadbody

postheadonly

Only the message’s header is sent to the postmaster when a delivery failure occurs. 

Syntax: postheadonly

randommx

Perform MX lookups. MX record values of equal precedence should be processed in random order. Some TCP/IP networks support the use of MX (mail forwarding) records and some do not. Some TCP/IP channel programs can be configured not to use MX records if they are not provided by the network to which the MTA system is connected. The MTA randomizes the order of returned MX records of equal preference regardless of the mx/randommx/nonrandommx setting

Syntax: randommx

receivedfor

Includes envelope To: address in Received: head if a message is addressed to just one envelope recipient. 

Syntax: receivedfor

receivedfrom

Include the original envelope From: address when constructing Received: header lines if the MTA has changed the envelope From: address due to, for example, certain sorts of mailing list expansions. 

Syntax: receivedfrom

recipientcutoff

Will not accept a message for delivery if the total number of recipient addresses exceeds this value. Default: Infinite. 

Syntax: recipientcutoff integer

recipientlimit

Specifies the total number of recipient addresses that will be accepted for the message. This keyword is used on the source channel. Default: Infinite. 

Syntax: recipientlimit integer

rejectsmtp

Deprecated. Replaced by rejectsmtplonglines.

Syntax: rejectsmtp

rejectsmtplonglines

Rejects messages that contain lines longer than 1000 characters (including CRLF). 

Reject the line when it is over 1000 characters. If the rejectsmtp keyword is placed on a channel, a line over 1000 characters (including CRLF) is rejected. This keyword must be applied to the initial channel used for submission (such as tcp_local). It will not affect any channel that is switched to subsequently. See truncatesmtplonglines and wrapsmtplonglines.

Syntax: rejectsmtp

remotehost

Use remote host's name as the default domain name to complete addresses. The use of the remote host’s domain name is appropriate when dealing with improperly configured SMTP clients. 

Syntax: remotehost

restricted

Apply RFC 1137 restricted encoding to addresses. The restricted channel keyword tells the MTA that the channel connects to mail systems that require this encoding. The MTA then encodes quoted local-parts in both header and envelope addresses as messages are written to the channel. Incoming addresses on the channel are decoded automatically.

The restricted keyword should be applied to the channel that connects to systems unable to accept quoted local-parts. It should not be applied to the channels that actually generate the quoted local-parts.

Syntax: restricted

returnaddress

Set the return address for the local Postmaster. By default, the Postmaster’s return address that is used when the MTA constructs bounce or notification messages is postmaster@local-host, where local-host is the official local host name (the name on the local channel).

Syntax: returnaddress postmaster_address

returnaddress takes a required argument specifying the Postmaster address.

returnenvelope

Control use of blank envelope return addresses. 

Syntax: returnenvelope bit_flag

The returnenvelope keyword takes a single integer value, which is interpreted as a set of bit flags.

Bit 0 (value = 1) controls whether or not return notifications generated by the MTA are written with a blank envelope address or with the address of the local postmaster. Setting the bit forces the use of the local postmaster address; clearing the bit forces the use of a blank address.

Bit 1 (value = 2) controls whether or not the MTA replaces all blank envelope addresses with the address of the local postmaster. This is used to accommodate noncompliant systems that do not conform to RFC 821, RFC 822, or RFC 1123.

returnpersonal

Set the personal name for the local Postmaster. By default, the Postmaster’s personal name that is used when the MTA constructs bounce or notification messages is “MTA e-Mail Interconnect.” 

Syntax: returnpersonal postmaster_name

returnpersonal takes a required argument specifying the Postmaster personal name.

reverse

Apply reverse database or REVERSE mapping to addresses in messages queued to the channel. 

Syntax: reverse

routelocal

Attempt short-circuit routing to any explicit routing in addresses when rewriting an address to the channel. Explicitly routed addresses (using !, %, or @ characters) are simplified. Use of this keyword on internal channels, such as internal TCP/IP channels, can allow simpler configuration of SMTP relay blocking.

Note that this keyword should not be used on channels that may require explicit % our other routing.

Syntax: routelocal

rules

Perform channel-specific rewrite rule checks. Usually used for debugging. 

Syntax: rules

saslswitchchannel

Cause incoming connections to be switched to a specified channel upon a client’s successful use of SASL. 

Syntax: saslswitchchannel channel

The channel argument specifies the channel to which to switch.

sendpost

Sends copies of failed messages to the postmaster. See copysendpost.

Syntax: sendpost

sendetrn

Send an ETRN command, if the remote SMTP server says it supports ETRN. The sendetrn and nosendetrn keywords control whether the MTA SMTP client sends an ETRN command at the beginning of an SMTP connection or does not sent an ETRN command at all.

Syntax: sendetrn host

The sendetrn keyword should be followed by the name of the system requesting that its messages receive a delivery attempt.

sensitivitycompanyconfidential

Allow messages of any sensitivity. The sensitivity keywords set an upper limit on the sensitivity of messages that can be accepted by a channel. A message with no Sensitivity: header is considered to be of normal, that is, the lowest, sensitivity. Messages with a higher sensitivity than that specified by such a keyword is reject when enqueued to the channel with an error message.

Note that the MTA performs this sort of sensitivity checking at a per-message, not per-recipient, level. If a desalination channel for one recipient fails the sensitivity check, then the message bounces for all recipients, not just for those recipients associated with the sensitive channel. 

Syntax: sensitivitycompanyconfidential

sensitivitynormal

Reject messages whose sensitivity is higher than normal. See sensitivitycompanyconfidential.

Syntax: sensitivitynormal

sensitivitypersonal

Reject messages whose sensitivity is higher than personal. See sensitivitycompanyconfidential.

Syntax: sensitivitypersonal

sensitivityprivate

Reject messages whose sensitivity is higher than private. See sensitivitycompanyconfidential.

Syntax: sensitivityprivate.

service

Perform service conversions for messages coming into the channel. The service keyword unconditionally enables service conversions regardless of CHARSET-CONVERSION entry.

Syntax: service

sevenbit

Channel does not support 8-bit characters; 8-bit characters must be encoded. The MTA provides facilities to automatically encode such messages so that troublesome eight-bit characters do not appear directly in the message. This encoding can be applied to all messages on a given channel by specifying the sevenbit keyword.

Syntax: sevenbit

silentetrn

Honor all ETRN commands, but without echoing the name of the channel that the domain matched and that the MTA attempts to run. See allowetrn.

Syntax: silentetrn

single

Only one envelope To: address per message copy or destination address on the channel. Use of single on tcp_* channels is not recommended because it changes the way the job_controller manages traffic and is not appropriate for normal SMTP scenarios. See multiple.

Syntax: single

single_sys

Each message copy must be for a single destination system. See multiple. 

Syntax: single_sys

slave

Channel is serviced only by a slave program. See bidirectional. 

Syntax: slave

slave_debug

Generate debugging output in slave programs. See master_debug. 

Syntax: slave_debug

smtp

Channel uses SMTP. The smtp keywords specify whether or not a channel supports the SMTP protocol and what type of SMTP line terminator the MTA expects to see as part of that protocol. The smtp keyword or one of the other smtp_* keywords is mandatory for all SMTP channels.

The keywords smtp_cr, smtp_crlf, smtp_crorlf, and smtp_lf can be used on SMTP channels to not only select use of the SMTP protocol, but also to further specify the character sequences to accept as line terminators. It is normal to use CRLF sequences as the SMTP line terminator, and this is what the MTA always generates; these keywords only affect the handling of incoming material. The smtp keyword is synonymous to the smtp_crlf keyword.

Syntax: smtp

smtp_cr

Accept CR as an SMTP line terminator. See smtp.

Syntax: smtp_cr

smtp_crlf

Require CRLF as the SMTP line terminator. This means that lines must be terminated with a carriage return (CR) line feed (LF) sequence. See smtp.

Syntax: smtp_crlf

smtp_crorlf

Allow any of CR (carriage return), LF (line feed), or full CRLF as the SMTP line terminator. See smtp.

Syntax: smtp_crorlf

smtp_lf

Accept LF (linefeed) without a preceding CR (carriage return) as an SMTP line terminator. See smtp.

Syntax: smtp_lf

sourceblocklimit

Maximum number of MTA blocks allowed per incoming message. The MTA rejects attempts to submit a message containing more blocks than this to the channel. See blocklimit.

Syntax: sourceblocklimit integer

sourcebrightmail

Specifies that all messages originating from this channel receive Brightmail processing. All recipient addresses will be made known to Brightmail regardless of destination channel if the recipient or the recipient’s domain has opted in via the LDAP attribute. Looks at recipient’s LDAP attribute mailAntiUBEService (or equivalent) to determine whether spam, virus or both or none are filtered. If mailAntiUBEService doesn’t specify either spam or virus, then mail is not sent to the Brightmail server for filtering. This should be placed on the switched-to channel, if switchchannel is in effect.

Syntax: sourcebrightmail

sourcebrightmailoptin

Specifies that all messages originating from this channel will be subject to the specified Brightmail processing (either spam or virus or both) even if those services have not been opted in by the user or domain via the LDAP attribute. The system-wide default filter list follows the keyword. The list following must be either spam or virus or spam,virus or virus,spam. This should be placed on the switched-to channel, if switchchannel is in effect.

Example 1: tcp_local sourcebrightmailoptin spam,virus . . .

Specifies that mail be scanned for both spam and virus by Brightmail regardless of the user’s LDAP attribute. 

Example 2: tcp_local sourcebrightmailoptin virus . . .

Specifies that mail will default to only virus scanning. In this case, spam filtering can be enabled on a per user basis, or by destination domain via the LDAP attributes. 

sourcecommentinc

Leave comments in incoming message header lines. 

The MTA interprets the contents of header lines only when necessary. However, all registered header lines containing addresses must be parsed to rewrite and eliminate short form addresses and otherwise convert them to legal addresses. During this process, comments (strings enclosed in parentheses) are extracted and may be modified or excluded when the header line is rebuilt. On source channels, this behavior is controlled by the use of the sourcecommentinc, sourcecommentmap, sourcecommentomit, sourcecommentstrip, and sourcecommenttotal keywords.

Syntax: sourcecommentinc

sourcecommentmap

Runs comment strings in message header lines through source channels. See sourcecommentinc.

Syntax: sourcecommentmap

sourcecommentomit

Remove comments from incoming message header lines, for example, To:, From:, and Cc: headers. See sourcecommentinc.

Syntax: sourcecommentomit

sourcecommentstrip

Remove problematic characters from comment field in incoming message header lines. See sourcecommentinc.

Syntax:sourcecommentstrip

sourcecommenttotal

Strip comments (material in parentheses) everywhere in incoming messages. The sourcecommenttotal keyword indicates to the MTA to remove any comments from all headers, except Received: headers. This keyword is not normally useful or recommended. See sourcecommentinc.

Syntax: sourcecommenttotal

sourcefilter

Specify the location of channel filter file for incoming messages. 

Syntax: sourcefilter filter

The filter argument is a required URL that describes the channel filter location.

sourcenosolicit

The NO-SOLICIT SMTP extension (described in the Internet Draft draft-malamud-no-soliciting-07.txt) has been implemented with Messaging Server. This option specifies a comma-separated list of solicitation field values that will be blocked in mail submitted by this channel. This list of values will appear in the NO-SOLICIT EHLO response. Glob-style wildcards can be used in the values, however, values containing wildcards will not appear in the EHLO announcement.

Syntax:

sourcenosolicit value1, value2, value3...

where value1, value2, value3 is a comma-separated list of solicitation field values.

sourcepersonalinc

Leave personal names in incoming message header lines intact. 

During the rewriting process, all header lines containing addresses must be parsed in order to rewrite and eliminate short form addresses and otherwise convert them to legal addresses. During this process personal names (strings preceding angle-bracket-delimited addresses) are extracted and can be optionally modified or excluded when the header line is rebuilt. On source channels, this behavior is controlled by the use of the sourcepersonalinc, sourcepersonalmap, sourcepersonalomit, and sourcepersonalstrip keywords.

Syntax: sourcepersonalinc

sourcepersonalmap

Run personal names through source channels. See sourcepersonalinc.

Syntax: sourcepersonalmap

sourcepersonalomit

Remove personal name fields from incoming message header lines. See sourcepersonalinc.

Syntax: sourcepersonalomit

sourcepersonalstrip

Strip problematic characters from personal name fields in incoming message header lines. See sourcepersonalinc.

Syntax: sourcepersonalstrip

sourceroute

Use source routes in the message envelope; synonymous with 822. 

Syntax: sourceroute

sourcespamfilterXoptin

Run messages originating from this channel through spam filtering software X. 

streaming

Specify degree of protocol streaming for channel to use. 

Syntax: streaming 0|1|2|3

This keyword requires an integer parameter; how the parameter is interpreted is specific to the protocol in use. 

The streaming values available range from 0 to 3. A value of 0 specifies no streaming, a value of 1 causes groups of RCPT TO commands to stream, a value of 2 causes MAIL FROM/RCPT TO to stream, and a value of 3 causes HELO/MAIL FROM/RCPT TO or RSET/MAIL FROM/RCPT TO streaming to be used. The default value is 0.

subaddressexact

Alias must match exactly, including exact subaddress match. The subaddressexact keyword instructs the MTA to perform no special subaddress handling during entry matching; the entire mailbox, including the subaddress, must match an entry in order for the alias to be considered to match. No additional comparisons (in particular, no wildcarded comparisons or comparisons with the subaddress removed) are performed.

Syntax: subaddressexact

subaddressrelaxed

Alias without subaddress may match. The subaddressrelaxed keyword instructs the MTA that after looking for an exact match and then a match of the form name+*, that the MTA should make one additional check for a match on just the name portion. The subaddressrelaxed keyword is the default.

Syntax: subaddressrelaxed

subaddresswild

Alias with subaddress wildcard may match. The subaddresswild keyword instructs the MTA that after looking for an exact match including the entire subaddress, the MTA should next look for an entry of the form name+*.

Syntax: subaddresswild

subdirs

Use multiple subdirectories. 

Syntax: subdirs integer

The keyword should be followed by an integer that specifies the number of subdirectories across which to spread messages for the channel. 

submit

Marks the channel as a submit-only channel. This is normally useful on TCP/IP channels, such as an SMTP server run on a special port used solely for submitting messages. RFC 2476 establishes port 587 for message submissions. 

Syntax:submit

suppressfinal

Suppress the final address form from notification messages, if an original address form is present, from notification messages. See includefinal.

Syntax:suppressfinal

switchchannel

Switch from the server channel to the channel associated with the originating host. If switchchannel is specified on the initial channel the server uses, the IP address of the connecting (originating) host is matched against the channel table; if it matches, the source channel changes accordingly. If no IP address match is found or if a match is found that matches the original default incoming channel, the MTA may optionally try matching using the host name found by performing a DNS reverse lookup.

Syntax: switchchannel

threaddepth

Number of messages per thread. The threaddepth keyword may be used to instruct the MTA’s multithreaded SMTP client to handle only the specified number of messages in any one thread, using additional threads even for messages all to the same destination (normally all handled in one thread).

Default: 10

Syntax: threaddepth integer

tlsswitchchannel

Switch to specified channel upon successful TLS negotiation. See maytls.

Syntax: tlsswitchchannel channel

The channel parameter specifies the channel to which to switch.

transactionlimit

Provides functionality equivalent to the ALLOW_TRANSACTIONS_PER_SESSION SMTP channel option (See Available SMTP Channel Options) on a per-channel basis. The default is no limit.

Syntax:

transactionlimit integer

truncatesmtp

Replaced and deprecated by truncatesmtplonglines.

Syntax: truncatesmtp

truncatesmtplonglines

Truncate the line when it is over 1000 characters. If the truncatesmtp keyword is placed on a channel, a line over 1000 characters is truncated. This keyword must be applied to the initial channel used for submission (such as tcp_local). It will not affect any channel that is switched to subsequently. See rejectsmtplonglines and wrapsmtplonglines.

Syntax: truncatesmtplonglines

unrestricted

Do not apply RFC 1137 restricted encoding to addresses. See restricted. 

Syntax: unrestricted

urgentbackoff

Specify the frequency for attempted delivery of urgent messages. See backoff.

Syntax:urgentbackoff "interval1" ["interval2"] ["interval3"] ["interval4"] ["interval5"] ["interval6"] ["interval7"] ["interval8"]

The interval uses ISO 8601P syntax and is as follows:

P[yearsY][monthsM][weeksW][daysD][T[hoursH][minutesM][secondsS]]

The variables years, months, weeks, days, hours, minutes, and seconds are integer values that specify the interval between delivery attempts (the first variable specifies the interval between the initial delivery failure and the first delivery attempt). The alphabetic variable labels (P, Y, M, W, D, H, M, S, and T) are case-insensitive. The initial P is required. The other variables are optional, except that T is required if any time values are specified.

urgentblocklimit

Force messages larger the specified size to normal priority. 

Syntax:urgentblocklimit

urgentnotices

Specify the amount of time which may elapse before notices are sent and messages returned for messages of urgent priority. See notices. 

Syntax: urgentnotices age1 [age2] [age3] [age4] [age5]

The keyword is followed by a list of up to five monotonically increasing integer values. These values refer to the message ages at which warning messages are sent. The ages have units of days if the RETURN_UNITS option is 0 or not specified in the option file; or hours if the RETURN_UNITS option is 1. When an undeliverable message attains or exceeds the last listed age, it is returned (bounced).

useintermediate

Present the address as originally presented to the MTA for notification messages. 

Syntax: useintermediate

user

Specify the queue for master channel program processing of urgent messages. The user keyword is used on pipe channels to indicate under what username to run.

Syntax: user username

Note that the argument to user is normally forced to lowercase, but original case is preserved if the argument is quoted.

userswitchchannel

Allows source channel switching based on user settings. This keyword must be present on the initial source channel for user channel switching to occur. In addition, the channel being switched to must be set to allow channel switches. It cannot, therefore, be marked with the noswitchchannel keyword. Switching is done based on information returned by rewriting the MAIL FROM address. Note that MAIL FROM addresses are easily forged so this functionality should be used with extreme care.

uucp

Use UUCP! (bang-style) routing in the envelope; synonymous with bangstyle. 

Syntax: uucp

viaaliasoptional

Specify that final recipient addresses that match the channel are not required to be produced by an alias. 

Syntax: viaaliasoptional

viaaliasrequired

Specify that any final recipient address that matches the channel must be produced by an alias. A final recipient address refers to the match after alias expansion (if relevant) has been performed. The address cannot be handed directly to the MTA as a recipient address; that is, it is not sufficient for an address to merely rewrite to the channel. After rewriting to the channel, an address must also expand through an alias to be considered to have truly matched the channel. 

The viaaliasrequired keyword may be used, for example, on the local channel to prevent delivery to arbitrary accounts (such as arbitrary native Berkeley mailboxes on a UNIX system).

Syntax: viaaliasrequired

vrfyallow

Issue a detailed, informative response for SMTP VRFY command. 

The vrfyallow, vrfydefault, and vrfyhide keywords control the MTA SMTP server’s response when a sending SMTP client issues an SMTP VRFY command. These keywords allow per-channel control of VRFY responses, as opposed to the HIDE_VERIFY option, which normally applies to all incoming TCP/IP channels handled through the same SMTP server.

Syntax: vrfyallow

vrfydefault

Provide a detailed, informative response for SMTP VRFY command, unless the channel option HIDE_VERIFY=1 has been specified. See vrfyallow.

Syntax: vrfydefault

vrfyhide

Issue only a vague, ambiguous response to SMTP VRFY command. See vrfyallow.

Syntax: vrfyhide

uucp

Use UUCP ! routing in the envelope; synonymous with BANGSTYLE. 

warnpost

Send copies of warnings to the postmaster. See copywarnpost.

Syntax: warnpost

wrapsmtp

Replaced and deprecated by wrapsmtplonglines.

Syntax: wrapsmtp

wrapsmtplonglines

Wrap the line instead of truncating it. If the wrapsmtp keyword is placed on a channel, a long line (over 1000 characters) wraps to the next line. This keyword must be applied to the initial channel used for submission (such as tcp_local). It will not affect any channel that is switched to subsequently. See rejectsmtplonglines and truncatesmtplonglines.

Syntax: wrapsmtplonglines

x_env_to

Add X-Envelope-to header lines while enqueuing. The x_env_to and nox_env_to keywords control the generation or suppression of X-Envelope-to header lines on copies of messages queued to a specific channel. On channels that are marked with the single keyword, the x_env_to keyword enables generation of these headers.

Syntax: x_env_to single

Although it will rarely make sense to do so, the x_env_to keyword can now be used without also setting single on a channel. 

Channel Configuration Keywords lists channel keywords for functional group.

For additional description about the channel keyword functionality groups, see Chapter 12, Configuring Channel Definitions, in Sun Java System Messaging Server 6.3 Administration Guide.

Table 4–7 Channel Keywords Grouped by Functionality

Functionality  

Associated Keywords  

Address types 

733, 822, uucp, header_733, header_822, header_uucp

Address interpretation 

bangoverpercent, nobangoverpercent, percentonly

Alternate channels 

alternatechannel, alternateblocklimit, alternatelinelimit, alternaterecipientlimit

Brightmail 

destinationbrightmail, destinationbrightmailoptin, sourcebrightmail, sourcebrightmailoptin

Routing information in addresses 

exproute, improute, noexproute, noimproute

Short circuiting rewriting of routing addresses 

routelocal

Address rewriting upon message dequeue 

connectalias, connectcanonical

Channel-specific rewrite rules 

norules, rules

Channel directionality 

bidirectional, master, slave

Message size affection priority 

nonurgentblocklimit, normalblocklimit, urgentblocklimit

Channel connection information caching 

cacheeverything, cachefailures, cachesuccesses, nocache

Address and message file processing amounts 

addrsperjob, filesperjob, maxjobs

Multiple addresses 

addrsperfile, multiple, single, single_sys

Expansion of multiple addresses 

expandchannel, expandlimit, holdlimit

Multiple subdirectories 

subdirs

Service job queue scheduling 

pool, maxjobs

Deferred delivery dates 

deferred, nodeferred

Undeliverable message notification times 

nonurgentnotices, normalnotices, notices, urgentnotices

Returned messages 

copysendpost, errsendpost, nosendpost, sendpost

Warning messages 

copywarnpost, errwarnpost, nowarnpost, warnpost

Postmaster returned message content 

postheadbody, postheadonly

Including altered addresses in notification messages 

includefinal, suppressfinal, useintermediate

Protocol streaming 

streaming

Triggering new threads in multithreaded channels 

threaddepth

Channel protocol selection 

nosmtp, smtp, smtp_cr, smtp_crlf, smtp_crorlf, smtp_lf

SMTP EHLO command 

checkehlo, ehlo, noehlo

Receiving an SMTP ETRN command 

allowetrn, blocketrn, disableetrn, domainetrn, silentetrn

Sending an SMTP ETRN command 

nosendetrn, sendetrn

SMTP VRFY commands 

domainvrfy, localvrfy, novrfy

Responding to SMTP VRFY commands 

vrfyallow, vrfydefault, vrfyhide

SMTP EXPN commands 

expnallow, expndisable, expndefault

TCP/IP port number 

interfaceaddress, port

TCP/IP MX record support 

defaultmx, defaultnameservers, mx, nameservers, nomx, nonrandommx, randommx

Last resort host specification 

lastresort

Reverse DNS and IDENT lookups on incoming SMTP connections 

forwardcheckdelete, forwardchecknone, forwardchecktag, identnone, identnonelimited, identnonenumeric, identnonesymbolic, identtcp, identtcplimited, identtcpnumeric, identtcpsymbolic

Alternate channels for incoming mail 

allowswitchchannel, noswitchchannel, switchchannel, userswitchchannel

Host name for incomplete addresses 

defaulthost, nodefaulthost, noremotehost, remotehost

Illegal blank recipient headers 

dropblank, nodropblank

Messages without recipient header 

missingrecipientpolicy

Eight-bit capability 

eightbit, eightnegotiate, eightstrict, sevenbit

Character set labeling 

charset7, charset8, charsetesc

Message line length restrictions 

linelength

Channel-specific use of the reverse database 

noreverse, reverse

Inner header rewriting 

inner, noinner

Restricted mailbox encoding 

norestricted, restricted, unrestricted

Message header line trimming 

headerread, headertrim, innertrim, noheaderread, noheadertrim, noinnertrim

Encoding: header line 

ignoreencoding, interpretencoding

X-Envelope-to: Header Lines generation 

nox_env_to, x_env_to

Return-path: header line generation 

addreturnpath, noaddreturnpath

Envelope To: and From: Addresses in Received: Header Lines 

noreceivedfor, noreceivedfrom, receivedfor, receivedfrom

Postmaster address 

aliaspostmaster, noreturnaddress, noreturnpersonal, returnaddress, returnpersonal

Blank envelope return addresses 

returnenvelope

Comments in address header lines 

commentinc, commentmap, commentomit, commentstrip, commenttotal, sourcecommentinc, sourcecommentmap, sourcecommentomit, sourcecommentstrip, sourcecommenttotal

Personal names in address header lines 

personalinc, personalmap, personalomit, personalstrip, sourcepersonalinc, sourcepersonalmap, sourcepersonalomit, sourcepersonalstrip

Alias file and alias database probes 

aliaslocal

Subaddresses 

subaddressexact, subaddressrelaxed, subaddresswild

Addresses produced by aliases 

viaaliasoptional, viaaliasrequired

Two or four digit date conversion 

datefour, datetwo

Day of week in date specifications 

dayofweek, nodayofweek

Automatic splitting of long header lines 

maxheaderaddrs, maxheaderchars

Header alignment and folding 

headerlabelalign, headerlinelength

Automatic defragmentation of messages and partial messages 

defragment, nodefragment

Automatic fragmentation of large messages 

maxblocks, maxlines

Absolute message size limits 

blocklimit, linelimit, noblocklimit, nolinelimit, sourceblocklimit

Maximum length header 

maxprocchars

Mail delivery to over quota users 

holdexquota, noexquota

Gateway daemons 

daemon

Processing of account or message router mailbox 

user

Message logging 

logging, nologging

Debugging channel master and slave programs 

master_debug, nomaster_debug, noslave_debug, slave_debug

Sensitivity checking 

sensitivitycompanyconfidential, sensitivitynormal, sensitivitypersonal, sensitivityprivate

SASL configuration 

maysaslserver, mustsaslserver, nosasl, nosaslserver, nosasl, saslswitchchannel

Verify the domain on mail From: is in the DNS 

mailfromdnsverify, nomailfromdnsverify

Channel operation type 

submit

Filter file location 

channelfilter, destinationfilter, fileinto, filter, nochannelfilter, nodestinationfilter, nofileinto, nofilter, nosourcefilter, sourcefilter

Authenticated address from SMTP AUTH in header 

authrewrite

Transport layer security 

maytls, maytlsclient, maytlsserver, musttls, musttlsclient, musttlsserver, notls, notlsclient, notlsserver, tlsswitchchannel

MS Exchange Gateway channels 

msexchange, nomsexchange

Remove source routes 

dequeue_removeroute

Default language 

language

Loopcheck 

loopcheck, noloopcheck

Service 

noservice, service

Deferred delivery 

backoff, nonurgentbackoff, normalbackoff, urgentbackoff

Lines over 1000 characters 

rejectsmtp, truncatesmtp, wrapsmtp

Process Channel Overrides 

dispositionchannel, notificationchannel

NO-SOLICIT SMTP extension support

sourcenosolicit, destinationnosolicit

Limits the number of bad RCPT TO: addresses

deferralrejectlimit

Alias File

The alias file is used to set aliases not set in the directory. In particular, the postmaster alias is a good example. The MTA has to be restarted for any changes to take effect. Any line that begins with an exclamation point is considered to be a comment and is ignored. Blank lines are also ignored.

A physical line in this file is limited to 1024 characters. You can split a logical line into multiple physical lines using the backslash (\) continuation character.

The format of the file is as follows:


user@domain: <address>

user@domain: <address> <address> ...

The following is an example aliases file:


! A /var/mail user
mailsrv@siroe.com: mailsrv@native-daemon

!A message store user
ms_testuser@siroe.com: mstestuser@ims-ms-daemon

Including Other Files in the Alias File

Other files can be included in the primary alias file. A line of the following form directs the MTA to read the file-spec file:


<file-spec

The file specification must be a complete file path specification and the file must have the same protections as the primary alias file; for example, it must be world readable.

The contents of the included file are inserted into the alias file at its point of reference. The same effect can be achieved by replacing the reference to the included file with the file’s actual contents. The format of include files is identical to that of the primary alias file itself. Indeed, include files may themselves include other files. Up to three levels of include file nesting are allowed.

/var/mail Channel Option File

An option file may be used to control various characteristics of the native channel. This native channel option file must be stored in the MTA configuration directory and named native_option (for example, msg-svr-base/config/native_option).

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 an integer, depending on the option's requirements.

Table 4–8 Local Channel Options

Options  

Descriptions  

FORCE_CONTENT_LENGTH

(0 or 1; UNIX only) 

If FORCE_CONTENT_LENGTH=1, then the MTA adds a Content-length: header line to messages delivered to the native channel, and causes the channel not to use the “>From” syntax when “From” is at the beginning of the line. This makes local UNIX mail compatible with Sun’s newer mail tools, but potentially incompatible with other UNIX mail tools.

FORWARD_FORMAT (string)

Specifies the location of the users’ .forward files. In this string, %u is replaced by each user’s id, and %h by each user’s home directory. The default behavior, if this option is not explicitly specified, corresponds to:

FORWARD_FORMAT=%h/.forward

REPEAT_COUNT (integer)SLEEP_TIME (integer)

In case the user’s new mail file is locked by another process when the MTA tries to deliver the new mail, these options provide a way to control the number and frequency of retries the native channel program should attempt. If the file can not be opened after the number of retries specified, the messages remain in the native queue and the next run of the native channel attempts to deliver the new messages again. 

The REPEAT_COUNT option controls how many times the channel programs attempt to open the mail file before giving up. REPEAT_COUNT defaults to 30, (30 attempts).

The SLEEP_TIME option controls how many seconds the channel program waits between attempts. SLEEP_TIME defaults to 2 (two seconds between retries).

SHELL_TIMEOUT (integer)

Controls the length of time in seconds the channel waits for a user’s shell command in a .forward to complete. Upon such timeouts, the message is returned to the original sender with an error message resembling “Timeout waiting for userb’s shell command command to complete.” The default is 600 (10 minutes).

SHELL_TMPDIR (directory-specific)

Controls the location where the local channel creates its temporary files when delivering to a shell command. By default, such temporary files are created in users’ home directories. Using this option, the administrator may instead choose the temporary files to be created in another (single) directory. For example: 

SHELL_TMPDIR=/tmp

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.

Conversions

There are two broad categories of conversions in the MTA, controlled by two corresponding mapping tables and the MTA conversions file.

The first category is that of character set, formatting, and labelling conversions performed internally by the MTA. The application of such conversions is controlled by the CHARSET-CONVERSION mapping table.

The second category is that of conversions of message attachments using external, third-party programs and site-supplied procedures, such as document converters and virus scanners. The application of such conversions is controlled by the CONVERSIONS mapping table, and messages requiring such conversions are thereby routed through the MTA conversion channel, which in turn executes the site-specified external conversion procedure.

The MTA conversions file is used to specify the details of external CONVERSION table triggered conversions and to specify the details of some internal CHARSET-CONVERSION table triggered conversions.

Character Set Conversion and Message Reformatting Mapping

One very basic mapping table in the MTA is the character set conversion table. The name of this table is CHARSET-CONVERSION. It is used to specify what sorts of channel-to-channel character set conversions and message reformatting should be performed.

The MTA probes the CHARSET-CONVERSION mapping table in two different ways. The first probe is used to determine whether or not the MTA should reformat the message and if so, what formatting options should be used. (If no reformatting is specified the MTA does not bother to check for specific character set conversions.) The input string for this first probe has the general form:


IN-CHAN=in-channel;OUT-CHAN=out-channel;CONVERT

Here in-channel is the name of the source channel (where the message comes from) and out-channel is the name of the destination channel (where the message is going). If a match occurs the resulting string should be a comma-separated list of keywords. The keywords provided are listed in Table 4–10.

Table 4–10 CHARSET-CONVERSION Mapping Table Keywords

Keyword  

Description  

Always

Force conversion even when the message is going to be passed through the conversion channel before going to out-channel.

Appledouble

Convert other MacMIME formats to Appledouble format. 

Applesingle

Convert other MacMIME formats to Applesingle format. 

BASE64

Switch MIME encodings to BASE64. 

Binhex

Convert other MacMIME formats, or parts including Macintosh type and Mac creator information, to Binhex format. 

Block

Extract just the data fork from MacMIME format parts. 

Bottom

“Flatten” any message/rfc822 body part (forwarded message) into a message content part and a header part. 

Delete

“Flatten” any message/rfc822 body part (forwarded message) into a message content part, deleting the forwarded headers. 

Level

Remove redundant multipart levels from message. 

Macbinary

Convert other MacMIME formats, or parts including Macintosh type and Macintosh creator information, to Macbinary format. 

No

Disable conversion. 

QUOTED-PRINTABLE

Switch MIME encodings to QUOTED-PRINTABLE. 

Record,Text

Line wrap text/plain parts at 80 characters. 

Record,Text= n

Line wrap text/plain parts at n characters. 

RFC1154

Convert message to RFC 1154 format. 

Top

“Flatten” any message/rfc822 body part (forwarded message) into a header part and a message content part. 

UUENCODE

Switch MIME encodings to X-UUENCODE. 

Yes

Enable conversion. 

For more information on character set conversion and message reformatting mapping, see the Sun Java System Messaging Server 6.3 Administration Guide.

Conversion File

Configuration of the conversion channel in the MTA configuration file (imta.cnf) is performed by default. With the rewrite rules from the default configuration, an address of the form user@conversion.localhostname or user@conversion is routed through the conversion channel, regardless of what the CONVERSIONS mapping states.

The actual conversions performed by the conversion channel are controlled by rules specified in the MTA conversion file. This is the file specified by the IMTA_CONVERSION_FILE option in the MTA tailor file. By default, this is the file msg-svr-base/imta/conversions.

The MTA conversion file is a text file containing entries in a format that is modeled after MIME Content-Type parameters. Each entry consists of one or more lines grouped together; each line contains one or more name=value; parameter clauses. Quoting rules conform to MIME conventions for Content-Type header line parameters. Every line except the last must end with a semicolon (;). A physical line in this file is limited to 1024 characters. You can split a logical line into multiple physical lines using the backslash (\) continuation character. Entries are terminated either by a line that does not end in a semicolon, one or more blank lines, or both.

The rule parameters currently provided are shown in Table 4–11. Parameters not listed in the table are ignored.

Table 4–11 Conversion Parameters

Parameter  

Description  

COMMAND

Command to execute to perform conversion. This parameter is required; if no command is specified, the entry is ignored. 

DELETE

0 or 1. If this flag is set, the message part is deleted. (If this is the only part in a message, then a single empty text part is substituted.) 

DPARAMETER-COPY-n

A list of the Content-Disposition: parameters to copy from the input body part’s Content-Disposition: parameter list to the output body part’s Content-Disposition: parameter list; n = 0, 1, 2, .... Takes as argument the name of the MIME parameter to copy, as matched by an IN-PARAMETER-NAME-n clause. Wildcards may be used in the argument. In particular, an argument of * means to copy all the original Content-Disposition: parameters.

DPARAMETER-SYMBOL-n

Content-disposition parameters to convert to environment variables if present; n = 0, 1, 2, .... Takes as argument the name of the MIME parameter to convert, as matched by an IN-DPARAMETER-NAME-m clause. Each DPARAMETER-SYMBOL-n is extracted from the Content-Disposition: parameter list and placed in an environment variable prior to executing the site-supplied program.

IN-A1-FORMAT

Input A1-format from enclosing message/rfc822 part. 

IN-A1-TYPE

Input A1-type from enclosing message/rfc822 part. 

IN-CHAN

Input channel to match for conversion (wildcards allowed). The conversion specified by this entry is only performed if the message is coming from the specified channel. 

IN-CHANNEL

Synonym for IN-CHAN.

IN-DESCRIPTION

Input MIME Content-Description to match for conversion. 

IN-DISPOSITION

Input MIME Content-Disposition to match for conversion. 

IN-DPARAMETER-DEFAULT-n

Input MIME Content-Disposition parameter value default if parameter is not present. This value is used as a default for the IN-DPARAMETER-VALUE-n test when no such parameter is specified in the body part.

IN-DPARAMETER-NAME-n

Input MIME Content-Disposition parameter name whose value is to be checked; n = 0, 1, 2....

IN-DPARAMETER-VALUE-n

Input MIME Content-Disposition parameter value that must match corresponding IN-DPARAMETER-NAME (wildcards allowed). The conversion specified by this entry is performed only if this field matches the corresponding parameter in the body part's Content-Disposition: parameter list.

IN-PARAMETER-DEFAULT-n

Input MIME Content-Type parameter value default if parameter is not present. This value is used as a default for the IN-PARAMETER-VALUE-n test when no such parameter is specified in the body part.

IN-PARAMETER-NAME-n

Input MIME Content-Type parameter name whose value is to be checked; n = 0, 1, 2....

IN-PARAMETER-VALUE-n

Input MIME Content-Type parameter value that must match corresponding IN-PARAMETER-NAME (wildcards allowed). The conversion specified by this entry is performed only if this field matches the corresponding parameter in the body part's Content-Type parameter list.

IN-SUBJECT

Input Subject from enclosing MESSAGE/RFC822 part.

IN-SUBTYPE

Input MIME subtype to match for conversion (wildcards allowed). The conversion specified by this entry is performed only if this field matches the MIME subtype of the body part. 

IN-TYPE

Input MIME type to match for conversion (wildcards allowed). The conversion specified is performed only if this field matches the MIME type of the body part. 

MESSAGE-HEADER-FILE

Writes all, part, or none of the original headers of a message to the file specified by MESSAGE_HEADERS. If set to 1, the original headers of the immediately enclosing message part are written to the file specified by MESSAGE_HEADER. If set to 2, the original headers of the message as a whole (the outermost message headers) are written to the file.

ORIGINAL-HEADER-FILE

0 or 1. If set to 1, the original headers of the enclosing MESSAGE/RFC822 part are written to the file represented by the OUTPUT_HEADERS symbol.

OUT-CHAN

Output channel to match for conversion (wildcards allowed). The conversion specified by this entry is performed only if the message is destined for the specified channel. 

OUT-CHANNEL

Synonym for OUT-CHAN.

OUT-DESCRIPTION

Output MIME Content-Description if it is different than the input MIME Content-Description. 

OUT-DISPOSITION

Output MIME Content-Disposition if it is different than the input MIME Content-Disposition. 

OUT-DPARAMETER-NAME-n

Output MIME Content-Disposition parameter name; n=0, 1, 2...

OUT-DPARAMETER-VALUE-n

Output MIME Content-Disposition parameter value corresponding to OUT-DPARAMETER-NAME-n.

OUT-MODE

Mode in which to read and store the converted file. This should be one of: BLOCK (binaries and executables) or TEXT.

OUT-ENCODING

Encoding to apply to the converted file when the message is reassembled. 

OUT-PARAMETER-NAME-n

Output MIME Content-Type parameter name; n = 0, 1, 2...

OUT-PARAMETER-VALUE-n

Output MIME Content-Type parameter value corresponding to OUT-PARAMETER-NAME-n.

OUT-SUBTYPE

Output MIME type if it is different than the input MIME type. 

OUT-TYPE

Output MIME type if it is different than the input type. 

OVERRIDE-HEADER-FILE

0 or 1. If set, then MIME headers are read from the OUTPUT_HEADERS symbol, overriding the original headers in the enclosing MIME part.

OVERRIDE-OPTION-FILE

If set, the conversion channel reads options from the OUTPUT_OPTIONS environment variable.

PARAMETER-COPY-n

A list of the Content-Type parameters to copy from the input body part's Content-Type parameter list to the output body part's Content-Type: parameter list; n=0, 1, 2... Takes as argument the name of the MIME parameter to copy, as matched by an IN-PARAMETER-NAME-n clause.

PARAMETER-SYMBOL-n

Content-Type parameters to convert to environment variables if present; n = 0, 1, 2... Takes as argument the name of the MIME parameter to convert, as matched by an IN-PARAMETER-NAME-n clause. Each PARAMETER-SYMBOL-n is extracted from the Content-Type: parameter list and placed in an environment variable of the same name prior to executing the site-supplied program. Takes as the argument the variable name into which the MIME parameter to convert, as matched by an IN-PARAMETER-NAME-n clause.

PART-NUMBER

Dotted integers: a. b. c... The part number of the MIME body part.

RELABEL

0 or 1. This flag causes an entry to be ignored during conversion channel processing. However, if this flag is 1, then MIME header enabling is performed during character set conversions. 

SERVICE-COMMAND

The command to execute to perform service conversion. The COMMAND parameter is required for conversion channel processing while SERVICE-COMMAND is an optional feature of charset conversion processing; if no command is specified, the entry is ignored. Note that this flag causes an entry to be ignored during conversion channel processing; SERVICE-COMMAND entries are instead performed during character set conversion processing.

TAG

Input tag, as set by a mail list CONVERSION_TAG parameter.

Predefined Environment Variables

Table 4–12 shows the basic set of environment variables available for use by the conversion command.

Table 4–12 Environment Variables used by the Conversion Channel

Environment Variable  

Description  

ATTACHMENT_NUMBER

Attachment number for the current part. This has the same format as the ATTACHMENT-NUMBER conversion match parameter.

CONVERSION_TAG

Current list of active conversion tags. This variable corresponds to the TAG conversion parameter.

INPUT_CHANNEL

Channel that enqueued the message to the conversion channel. This variable corresponds to the IN-CHANNEL conversion parameter.

INPUT_ENCODING

Encoding originally present on the body part. 

INPUT_FILE

Name of the file containing the original body part. The site-supplied program should read this file. 

INPUT_HEADERS

Name of the file containing the original headers for the enclosing part. The site-supplied program should read this file. 

INPUT_TYPE

MIME content type of the input message part. 

INPUT_SUBTYPE

MIME content subtype of the input message part. 

INPUT_DESCRIPTION

MIME content description of the input message part. 

INPUT_DISPOSITION

MIME content disposition of the input message part. 

MESSAGE_HEADERS

Name of the file containing the original headers for an enclosing message (not just the body part) or the header for the part’s most immediately enclosing MESSAGE/RFC822 part. The site-supplied program should read this file. 

OUTPUT_CHANNEL

Channel to which the message is headed. This variable corresponds to the IN-CHANNEL conversion parameter.

OUTPUT_FILE

Name of the file where the site-supplied program should store its output. The site-supplied program should create and write this file. 

OUTPUT_HEADERS

Name of the file where the site-supplied program should store MIME header lines for an enclosing part. The site-supplied program should create and write this file. Note that file should contain actual header lines (not option=value lines) followed by a blank line as its final line.

OUTPUT_OPTIONS

Name of the file from which the site-supplied program should read conversion channel options. Note that file should include header lines, followed by a blank line as its final line. 

PART_NUMBER

Part number for the current part. This has the same format as the PART-NUMBER conversion match parameter.

PART_SIZE

Size in bytes of the part being processed. 

Additional environment variables containing Content-type: parameter information or Content-disposition: parameter information can be created as needed using the PARAMETER-SYMBOL-n or DPARAMETER-SYMBOL-n parameters respectively.

Table 4–13 displays additional override options available for use by the conversion channel. The converter procedure may use these to pass information back to the conversion channel. To set these options, set OVERRIDE-OPTION-FILE=1 in the desired conversion entry and then have the converter procedure set the desired options in the OUTPUT_OPTIONS file.

Table 4–13 Options for passing information back to the conversion channel

Option  

Description  

OUTPUT_TYPE

MIME content type of the output message part. 

OUTPUT_SUBTYPE

MIME content subtype of the output message part. 

OUTPUT_DESCRIPTION

MIME content description of the output message part. 

OUTPUT_DIAGNOSTIC

Text to include in the error text returned to the message sender if a message is forcibly bounced by the conversion channel. 

OUTPUT_DISPOSITION

MIME content disposition of the output message part. 

OUTPUT_ENCODING

MIME content transfer encoding to use on the output message part. 

OUTPUT_MODE

MIME mode with which the conversion channel should write the output message part, hence the mode with which recipients should read the output message part. 

STATUS

Exit status for the converter. This is typically a special directive initiating some action by the conversion channel. A complete list of directives can be viewed in msg-svr-base/include/pmdf_err.h

Mapping File

Many components of the MTA employ table lookup-oriented information. Generally speaking, this sort of table is used to transform (that is, map) an input string into an output string. Such tables, called mapping tables, are usually presented as two columns, the first (or left-hand) column giving the possible input strings and the second (or right-hand) column giving the resulting output string for the input it is associated with. Most of the MTA databases are instances of just this sort of mapping table. The MTA database files, however, do not provide wildcard-lookup facilities, owing to inherent inefficiencies in having to scan the entire database for wildcard matches.

The mapping file provides the MTA with facilities for supporting multiple mapping tables. Full wildcard facilities are provided, and multistep and iterative mapping methods can be accommodated as well. This approach is more compute-intensive than using a database, especially when the number of entries is large. However, the attendant gain in flexibility may serve to eliminate the need for most of the entries in an equivalent database, and this may result in lower overhead overall.

For discussion on REVERSE and FORWARD address mapping, see the Sun Java System Messaging Server 6.3 Administration Guide.

Locating and Loading the Mapping File

All mappings are kept in the MTA mapping file. (This is the file specified with the IMTA_MAPPING_FILE option in the MTA tailor file; by default, this is msg-svr-base/config/mappings.) The contents of the mapping file is incorporated into the compiled configuration.

The mapping file should be world readable. Failure to allow world-read access leads to erratic behavior.

File Format in the Mapping File

The mapping file consists of a series of separate tables. Each table begins with its name. Names always have an alphabetic character in the first column. The table name is followed by a required blank line, and then by the entries in the table. Entries consist of zero or more indented lines. Each entry must be preceded by at least one space. Each entry line consists of two columns separated by one or more spaces or tabs. Any spaces within an entry must be quoted using the $ character. A blank line must appear after each mapping table name and between each mapping table; no blank lines can appear between entries in a single table. Comments are introduced by an exclamation mark (!) in the first column.

The resulting format looks like:


TABLE-1-NAME

  pattern1-1    template1-1
  pattern1-2    template1-2
  pattern1-3    template1-3
     .           .
     .           .
     .           .
  pattern1-n    template1-n

TABLE-2-NAME

  pattern2-1    template2-1
  pattern2-2    template2-2
  pattern2-3    template2-3
     .           .
     .           .
     .           .
  pattern2-n    template2-n

          .
          .
          .

TABLE-m-NAME

          .
          .
          .

An application using the mapping table TABLE-2-NAME would map the string pattern2-2 into whatever is specified by template2-2. Each pattern or template can contain up to 252 characters. There is no limit to the number of entries that can appear in a mapping (although excessive numbers of entries may consume huge amounts of CPU and can consume excessive amounts of memory). Long lines may be continued by ending them with a backslash (\). The white space between the two columns and before the first column may not be omitted.

Duplicate mapping table names are not allowed in the mapping file.

Including Other Files in the Mapping File

Other files may be included in the mapping file. This is done with a line of the form:


<file-spec

This effectively substitutes the contents of the file file-spec into the mapping file at the point where the include appears. The file specification should specify a full file path (directory, and so forth). All files included in this fashion must be world readable. Comments are also allowed in such included mapping files. Includes can be nested up to three levels deep. Include files are loaded at the same time the mapping file is loaded—they are not loaded on demand, so there is no performance or memory savings involved in using include files.

Mapping Operations

All mappings in the mapping file are applied in a consistent way. The only things that change from one mapping to the next is the source of input strings and what the output from the mapping is used for.

A mapping operation always starts off with an input string and a mapping table. The entries in the mapping table are scanned one at a time from top to bottom in the order in which they appear in the table. The left side of each entry is used as pattern, and the input string is compared in a case-blind fashion with that pattern.

Mapping Entry Patterns

Patterns can contain wildcard characters. In particular, the usual wildcard characters are allowed: an asterisk (*) matches zero or more characters, and each percent sign (%) matches a single character. Asterisks, percent signs, spaces, and tabs can be quoted by preceding them with a dollar sign ($). Quoting an asterisk or percent sign robs it of any special meaning. Spaces and tabs must be quoted to prevent them from ending prematurely a pattern or template. Literal dollar sign characters should be doubled ($$), the first dollar sign quoting the second one.

Table 4–14 Mapping Pattern Wildcards

Wildcard  

Description  

Match exactly one character. 

Match zero or more characters, with maximal or “greedy” left-to-right matching 

Back match  

Description  

$ n* 

Match the nth wildcard or glob. 

Modifiers  

Description  

$_ 

Use minimal or “lazy” left-to-right matching. 

$@ 

Turn off “saving” of the succeeding wildcard or glob. 

$^ 

Turn on “saving” of the succeeding wildcard or glob; this is the default. 

Glob wildcard  

Description  

$A% 

Match one alphabetic character, A-Z or a-z. 

$A* 

Match zero or more alphabetic characters, A-Z or a-z. 

$B% 

Match one binary digit (0 or 1). 

$B* 

Match zero or more binary digits (0 or 1). 

$D% 

Match one decimal digit 0-9. 

$D* 

Match zero or more decimal digits 0-9. 

$H% 

Match one hexadecimal digit 0-9 or A-F. 

$H* 

Match zero or more hexadecimal digits 0-9 or A-F. 

$O% 

Match one octal digit 0-7. 

$O* 

Match zero or more octal digits 0-7. 

$S% 

Match one symbol set character, that is, 0-9, A-Z, a-z, _, $. 

$S* 

Match zero or more symbol set characters, that is, 0-9, A-Z, a-z, _, $. 

$T% 

Match one tab or vertical tab or space character. 

$T* 

Match zero or more tab or vertical tab or space characters. 

$X% 

A synonym for $H%. 

$X* 

A synonym for $H*. 

$[ c]% 

Match character c. 

$[ c]* 

Match arbitrary occurrences of character c. 

$[ c1 c2 ... cn ]%

Match exactly one occurrence of character c1, c2, or cn.

$[ c1 c2 ... cn ]*

Match arbitrary occurrences of any characters c1, c2, or cn.

$[ c1 -cn ]%

Match any one character in the range c1 to cn.

$[ c1 -cn ]*

Match arbitrary occurrences of characters in the range c1 to cn.

$< IPv4> 

Match an IPv4 address, ignoring bits. 

$(IPv4) 

Match an IPv4 address, keeping prefix bits. 

${IPv6} 

Match an IPv6 address. 

For more information about mapping pattern wildcards, see Mappings File in Sun Java System Messaging Server 6.3 Administration Guide.

Mapping Entry Templates

Table 4–15 lists the special substitution and standard processing metacharacters. Any other metacharacters are reserved for mapping-specific applications.

See the Sun Java System Messaging Server 6.3 Administration Guide for more discussion on mapping entry templates.

Table 4–15 Mapping Template Substitutions and Metacharacters

Substitution sequence  

Substitutes  

$n

The nth wildcarded field as counted from left to right starting from 0.

$#...#

Sequence number substitution. 

$]...[ 

LDAP search URL lookup; substitute in result. 

$|...|

Applies specified mapping table to supplied string. 

${...} 

General database substitution. 

$}domain,attribute{ 

Adds the capability to access per-domain attributes. domain is the domain in question and attribute is the attribute associated with the domain. If the domain exists and has the attribute, its initial value is substituted into the mapping result; if either the attribute or the domain does not exist, the mapping entry fails. 

Attributes can be domain LDAP attributes or the special attributes defined below: 

_base_dn_ - The base DN for user entries in the domain 

_domain_dn_ - The DN of the domain entry itself 

_domain_name_ - The name of the domain (as opposed to an alias) 

_canonical_name_ - The canonical name associated with the domain 

$[...]

Invokes site-supplied routine; substitute in result. 

Metacharacter  

Description  

$C

Continues the mapping process starting with the next table entry; uses the output string of this entry as the new input string for the mapping process. 

$E

Ends the mapping process now; uses the output string from this entry as the final result of the mapping process. 

$L

Continues the mapping process starting with the next table entry; use the output string of this entry as the new input string; after all entries in the table are exhausted, makes one more pass, starting with the first table entry. A subsequent match may override this condition with a $C, $E, or $R metacharacter.

$R

Continues the mapping process starting with the first entry of the mapping table; uses the output string of this entry as the new input string for the mapping process. 

$nA

Inserts the nth left character of the current address starting from position 0. The entire address is inserted if n is omitted. 

$nX

Inserts the nth left component of the mailhost starting from 0. The entire mailhost is inserted of n is omitted. 

$?x?

Mapping entry succeeds x percent of the time. 

$\

Forces subsequent text to lowercase. 

$^

Forces subsequent text to uppercase. 

$_

Leaves subsequent text in its original case. 

$=

Specifies that substituted characters undergo quoting appropriate for insertion into LDAP search filters. 

$:x

Match only if the specified flag is set. 

$;x

Match only if the specified flag is clear. 

For more information on Processing Control, see Processing Control ($C, $L, $R, $E) in Sun Java System Messaging Server 6.3 Administration Guide.

For more information on the substitution sequences and metacharacters, see Chapter 10, About MTA Services and Configuration, in Sun Java System Messaging Server 6.3 Administration Guide.

For details about which MTA processes use which tables and when, see Mappings File in Sun Java System Messaging Server 6.3 Administration Guide.

Option File

Global MTA options, as opposed to channel options, are specified in the MTA option file.

The MTA uses an option file to provide a means of overriding the default values of various parameters that apply to the MTA as a whole. In particular, the option file is used to establish sizes of the various tables into which the configuration and alias files are read.


Note –

If you create an MTA LDAP attribute using any of the LDAP_* MTA options, you will need to get this attribute into the Messaging Server Schema. There are three possible scenarios:


Locating and Loading the MTA Option File

The option file is the file specified with the IMTA_OPTION_FILE option in the IMTA tailor file (msg-svr-base/config/imta_tailor). By default, this is msg-svr-base/config/option.dat.

Option File Format and Available Options

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, an integer, or a 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 v is the actual value expressed in base b.

Long option values may be broken onto several lines. Each line that is to be continued should end with a back slash (\).

Comments are allowed. Any line that begins with an exclamation point (!), hash (#), or semicolon (;) is considered to be a comment and is ignored. You are allowed comments between continuation lines. Blank lines are also ignored in any option file.

The available options are listed in Table 4–16.

Table 4–16 Option File Options

Options  

Description  

ACCESS_COUNTS

Provides a way to get at various types of recipient count information in the various recipient *_ACCESS mappings. ACCESS_COUNTS is bit-encoded and if set enables the addition of a set of counts to the end of the access mapping probe string. Bits 1-4 (values 2-16), if set, selectively enable the addition to the ORIG_SEND_ACCESS, SEND_ACCESS, ORIG_MAIL_ACCESS, and MAIL_ACCESS mappings respectively. The default is 0.

Currently the format of the count addition is: 


RCPT-TO-count/total-recipient-count/              

Note the trailing slash. It is expected that additional counter information will be added to this field in the future; all mappings making use of this information should be coded to ignore anything following the (current) last slash or they may break without warning. 

ACCESS_ERRORS (Integer 0 or 1)

Controls whether or not a $N in one of the *_ACCESS mappings that does not supply its own error text returns a generic invalid address error (value 0, the default) or a more specific you are not allowed to send to this address error (value 1).

ACCESS_ORCPT (Integer)

Setting ACCESS_ORCPT to 1 adds an additional vertical bar delimited field to the probe value passed to the SEND_ACCESS, ORIG_SEND_ACCESS, MAIL_ACCESS, and ORIG_MAIL_ACCESS mapping tables that contains the original recipient (ORCPT) address. If the message doesn't have an ORCPT address the original unmodified RCPT TO: address is used instead. Bits 1-4 (values 2-16), if set, selectively enable the addition to the ORIG_SEND_ACCESS, SEND_ACCESS, ORIG_MAIL_ACCESS, and MAIL_ACCESS mappings respectively. The default is 0.

ALIAS_DOMAINS (Integer)

Controls the format of alias file and alias database lookups. This option takes a bit-encoded integer as its argument. The default value is 1, meaning that alias file and alias database lookups probe with only the local part (mailbox portion) of the address. Not that for addresses matching the local channel, such a probe is made even if bit 0 (value 1) is not set. Setting bit 1 (value 2) causes a probe to be made using the entire address (including the domain name). Setting bit 2 (value 4) causes a wildcard (*) probe to be made. If all bits are set, that is ALIAS_DOMAIN=7, then the order of the probes is to first probe with the entire address (the most specific check), next probe with a wildcard (*) local part plus the domain name, and finally probe with just the local part.

ALIAS_ENTRY_CACHE_NEGATIVE

Controls negative caching of alias entries. A nonzero value enables caching of alias match failures. A zero value disables it. 

Default: 0

ALIAS_ENTRY_CACHE_SIZE

Controls the size, in entries, of the alias cache. 

Default: 1000

ALIAS_ENTRY_CACHE_TIMEOUT

Controls the timeout, in seconds, of the alias cache. 

Default: 600

ALIAS_URL0ALIAS_URL1ALIAS_URL2ALIAS_URL3 (URL)

Specifies a URL to query for alias lookups. The URL must be specified using standard LDAP URL syntax, except the LDAP server and port must be omitted. The LDAP server and port are specified via the LDAP_HOST and LDAP_PORT options.

See The Direct LDAP Algorithm and Implementation in Sun Java System Messaging Server 6.3 Administration Guide for certain substitution sequences.

ALIAS_HASH_SIZE (Integer <= 32,767)

Sets the size of the alias hash table. This is an upper limit on the number of aliases that can be defined in the alias file. The default is 256; the maximum value is 32,767. 

ALIAS_MAGIC

Determines he exact alias sources that are checked and the order in which they are checked. When set to 8764, the URL specified by the ALIAS_URL0 MTA option is checked first, then the URL specified by the ALIAS_URL1 MTA option, then the URL specified by the ALIAS_URL2 MTA option, and finally, the alias file. The alias database is not checked when this setting is active.

ALIAS_MEMBER_SIZE (Integer <= 20,000)

Controls the size of the index table that contains the list of alias translation value pointers. The total number of addresses on the right sides of all of the alias definitions in the alias file cannot exceed this value. The default is 320; the maximum value is 20,000. 

ALIASDETOURHOST_NULL_OPTIN

Specifies a special value which, if used in the optin attribute, is treated as the same as the attribute being omitted. The default value is "", which means that an empty attribute value is ignored. This option is similar to the SPAMFILTERx_NULL_OPTIN option..

ALLOW_UNQUOTED_ADDRS_VIOLATE_RFC2798

If set to 1, it will add additional filter terms to search on the syntactically invalid dequoted form of quoted addresses. 

Default: 0

AUTOREPLY_TIMEOUT_DEFAULT

Sets the duration, in hours, for successive autoreply responses to any give mail sender if the mailAutoReplyTimeOut attribute does not appear on a user entry.

Default: 168 

BLOCK_LIMIT (Integer > 0)

Places an absolute limit on the size, in blocks, of any message that may be sent or received with the MTA. Any message exceeding this size is rejected. By default, the MTA imposes no size limits. Note that the blocklimit channel keyword can be used to impose limits on a per-channel basis. The size in bytes of a block is specified with the BLOCK_SIZE option.

BLOCK_SIZE (Integer > 0)

The MTA uses the concept of a “block” in several ways. For example, the MTA log files (resulting from placing the logging keyword on channels) record message sizes in terms of blocks. Message size limits specified using the maxblocks keyword are also in terms of blocks. Normally, an MTA block is equivalent to 1024 characters. This option can be used to modify this sense of what a block is.

Caution: Reducing BLOCK_SIZE too much (to a value of 1) may have negative impact on the MTA.

BLOCKED_MAIL_FROM_IPS

The introduction of DNS wildcard entries in the COM and ORG top-level domains has made the mailfromdnsverify channel keyword almost useless. The mailfromdnsverify code has been modified to address this. When the DNS returns one or more A records, their values are compared against the domain literals specified by this option. If a match is found the domain is considered to be invalid. To restore correct behavior of mailfromdnsverify, the current correct setting is:

BLOCKED_MAIL_FROM_IPS=[192.168.168.3]

This option’s value defaults to an empty string. 

BOUNCE_BLOCK_LIMIT (Integer)

Used to force bounces of messages over the specified size to return only the message headers, rather than the full message content. 

BRIGHTMAIL_ACTION_n

As a pair with the matching Brightmail_verdict_n option, this can specify a Sieve command with optional if-then-else statement* to execute. For example, if you want to reject spam, then you may have the pair:

Brightmail_verdict_0=spamfolder Brightmail_action_0=data:,require "reject"; reject "Rejected by Brightmail";

The template for the Sieve command is:data:,[requirecommand;] command;Where the require statement is needed for reject and fileinto. Another example:

Brightmail_verdict_1=spam-folder Brightmail_action_1_=data;,require "fileinto";fileinto "Junk";

This files the spam (assuming spam-folder is the verdict returned by Brightmail for spam) into a folder called Junk. Without Junk, spam will be filed into the folder called spam-folder.

Default: none 

BRIGHTMAIL_CONFIG_FILE (path)

Required to activate Brightmail. Full file path and name of the Brightmail configuration file. When specified along with Brightmail_library, the MTA is enabled for Brightmail integration. Can also be used with SpamAssassin. 

Example: /opt/mailwall/configDefault: None

BRIGHTMAIL_LIBRARY (path)

Required to activate Brightmail. Full file path and name of the Brightmail SDK shared library. When specified along with Brightmail_config_file, this library is loaded by the MTA at run time. Can also be used with SpamAssassin.

Example: /opt/mailwall/lib/libbmiclient.so Default: None

BRIGHTMAIL_NULL_ACTION

Specifies a Sieve command with optional if-then-else statement* to execute when the verdict from Brightmail matches the Null action in the Brightmail configuration file. For example, if the Brightmail configuration file has: 

blSWClientDestinationLocal: spam|

where the null or nothing after the | means the null action. If the verdict for the message is spam, matching the word spam before the |, then the null action will be taken by the MTA. There is usually no reason to specify this option, since the default action is discard, matching what Brightmail means by the null action. Can also be used with SpamAssassin.

The template for the Sieve command is:data:,[requirecommand;] command;Where the require statement is needed for reject and fileinto.

Default: data:,discard;

BRIGHTMAIL_OPTIONAL

If set to 1, when the MTA calls an initialization routine to load the Brightmail SDK, but fails, the MTA continues as if Brightmail was not enabled. This setting has no effect if the MTA is already in a dialogue with Brightmail and Brightmail dies. In this case the MTA returns a temporary error to the SMTP client. 

Default: 0

BRIGHTMAIL_STRING_ACTION

Specifies a Sieve command with optional if-then-else statement* to execute when the Brightmail verdict matches an action which is a string in the Brightmail configuration file. Can also be used with SpamAssassin. For example, if in the Brightmail configuration file you have 

blSWClientDestinationLocal: spam|spam-folder

then spam-folder is a string. If the verdict is spam, then we have a string which matches the verdict. This option is rarely used, since the default action when a string is specified is to file the message into that folder.

The template for the Sieve command is:data:,[requirecommand”;] command;Where the require statement is needed for reject and fileinto.

Default: data:,require "fileinto"; fileinto "$U”;

$U is the string to the right of | in the blSWClientDestinationLocal value (in the example above it would be spam-folder)

BRIGHTMAIL_VERDICT_n

Brightmail_verdict_n and Brightmail_action_n are matched pairs, where n is a number from 0 to 9. These options are not normally specified if you take the default interpretation of Brightmail verdicts. The possible values for this option are specified by the values on the right of the | in the Brightmail configuration file options blSWClientDestinationLocal (for local domains) or blSWClientDesintationForeign (for domains that are not local). Using the example:

blSWClientDestinationLocal=spam|spamfolder

you would want to have Brightmail_verdict_0=spamfolder (not spam, which is to the left of |. This may seem non-intuitive, but that is indeed how it works.

Default: none 

CACHE_DEBUG (0 or 1)

When set to 1, this option indicates to various MTA components to write information about the domain, alias, and reverse caches to its debug log file just prior to exiting. 

CHANNEL_TABLE_SIZE

(Integer <= 32,767) 

Controls the size of the channel table. The total number of channels in the configuration file cannot exceed this value. The default is 256; the maximum is 32,767. 

CIRCUITCHECK_COMPLETED_BINS

(comma separated list of up to eight integers) 

Specifies the bin divisions, in seconds, for the MTA circuit check counters. The default values are 120, 300, 900, 1800, 3600, 7200, 14400, and 28800 (2 minutes, 5 minutes, 30 minutes, 1 hour, 2 hours, 4 hours, and 8 hours respectively). 

CIRCUITCHECK_PATCHS_SIZE

(Integer <=256) 

Controls the size of the circuit check paths table, and thus the total number of circuit check configuration file entries. The default is 10.

COMMENT_CHARS (Integer list)

Sets the comment characters in the MTA configuration files. The value of this option takes the form of a list of ASCII character values in decimal. The default is the list {33, 59}, which specifies exclamation points and semicolons as comment introduction characters. 

CONTENT_RETURN_BLOCK_LIMIT (Integer)

Specifies the maximum size of an originating message that will be returned in a notification message. If the original message content is larger than this size, then the message will not be returned in a notification message. The units are in blocks (see BLOCK_SIZE).

CONVERSION_SIZE

(Integer <= 2000) 

Controls the size of the conversion entry table, and thus the total number of conversion file entries cannot exceed this number. The default is 32.

DEFER_GROUP_PROCESSING

Whether mail groups are expanded online (by the enqueuing tcp_smtp_server, for instance, or offline by enqueuing the group address unchanged to the reprocess channel, is controlled by the value of the mailDeferprocessing attribute on the LDAP entry for the group. If that attribute is absent, then the behavior of the system is controlled by the DEFER_GROUP_PROCESSING option. If this value is set, mail groups with no mailDeferProcessing attribute are expanded offline. Otherwise they are expanded online.

The default is 1 (yes).

DELIVERY_OPTIONS

Controls the conversion of the mailDeliveryOption attribute into appropriate addresses. This option not only specifies what addresses are produced by each permissible mailDeliveryOption value, but also what the permissible mailDeliveryOption values are and whether or not each one is applicable to users, groups, or both. The value of this option consists of a comma-separated list of deliveryoption=template pairs, each pair with one or more optional single character prefixes. Refer to the Sun Java System Messaging Server 6.3 Administration Guide for more details.

Default: 

DELIVERY_OPTIONS=*mailbox=$M%$\\$2I$_+$2S@ims-ms-daemon,&members=*, *native=$M@native-daemon,/hold=@hold-daemon:$A,*unix=$M@native-daemon,&file=+$F@native-daemon,&@members_offline=*,program=$M%$P@pipe-daemon,#forward=**,*^!autoreply=$M+$D@bitbucket

DEQUEUE_DEBUG (0 or 1)

Specifies whether debugging output from the MTA's dequeue facility (QU) is produced. If enabled with a value of 1, this output is produced on all channels that use the QU routines. The default of 0 disables this output.

DEQUEUE_MAP (0 or 1)

Determines whether or not a message is mapped into memory when dequeuing. The default is 1.

DOMAIN_FAILURE

Specifies a template to use in the event of a domain lookup failure. 

Default: reprocess-daemon$Mtcp_local$1M$1~-error$4000000?Temporary lookup failure

DOMAIN_HASH_SIZE

(Integer <= 32,767) 

Controls the size of the domain rewrite rules hash table. Each rewrite rule in the configuration file consumes one slot in this hash table; thus the number of rewrite rules cannot exceed this option's value. The default is 512; the maximum number of rewrite rules is 32,767.

DOMAIN_MATCH_CACHE_SIZE 

Sets the maximum size of the MTA’s private domain match cache. 

Default: 

10000

DOMAIN_MATCH_CACHE_TIMEOUT 

Sets the timeout for entries in the MTA’s private domain match cache. 

Default: 

600 (seconds)

DOMAIN_MATCH_URL

Sets the URL for vanity domain checking. The value of this option should be set to: 

ldap:///$B?msgVanityDomain?sub?(msgVanityDomain=$D)

DOMAIN_UPLEVEL (Integer)

Controls the MTA domain and email address lookup. It accepts a two-bit binary value. Table 4–17 describes this control in detail.

Default is 0.

ERROR_TEXT_ACCEPTED_RETURN_ADDRESS

Configurable error message the SMTP server either returns or places in DSNs. 

Default:return address invalid/unroutable but accepted anyway 

ERROR_TEXT_ACCESS_FAILURE

Configures the text string returned by the MTA. The value must conform to the requirements of SMTP error response text. In particular, it is constrained to be in the US-ASCII character set. The MTA will convert any eight bit characters in such option values into the dollar character ($).

Default: you are not allowed to use this address 

ERROR_TEXT_ALIAS_AUTH

Configures the text string returned by the MTA. The value must conform to the requirements of SMTP error response text. In particular, it is constrained to be in the US-ASCII character set. The MTA will convert any eight bit characters in such option values into the dollar character ($).

Default: you are not allowed to use this list 

ERROR_TEXT_ALIAS_FILEERROR

Configures the text string returned by the MTA. The value must conform to the requirements of SMTP error response text. In particular, it is constrained to be in the US-ASCII character set. The MTA will convert any eight bit characters in such option values into the dollar character ($).

Default: error opening file/URL referenced by alias 

ERROR_TEXT_ALIAS_FILEEXIST

Configures the text string returned by the MTA. The value must conform to the requirements of SMTP error response text. In particular, it is constrained to be in the US-ASCII character set. The MTA will convert any eight bit characters in such option values into the dollar character ($).

Default: nonexistent file referenced by alias 

ERROR_TEXT_ALIAS_LOCKED

Configures the text string returned by the MTA. The value must conform to the requirements of SMTP error response text. In particular, it is constrained to be in the US-ASCII character set. The MTA will convert any eight bit characters in such option values into the dollar character ($).

Default: list is currently reserved and locked 

ERROR_TEXT_ALIAS_TEMP

Configures the text string returned by the MTA. The value must conform to the requirements of SMTP error response text. In particular, it is constrained to be in the US-ASCII character set. The MTA will convert any eight bit characters in such option values into the dollar character ($).

Default: temporary error returned by alias expansion 

ERROR_TEXT_BLOCK_OVER

Configures the text string returned by the MTA. The value must conform to the requirements of SMTP error response text. In particular, it is constrained to be in the US-ASCII character set. The MTA will convert any eight bit characters in such option values into the dollar character ($).

Default: channel size limit exceeded 

ERROR_TEXT_DELETED_GROUP

Configures the text string returned by the MTA. The value must conform to the requirements of SMTP error response text. In particular, it is constrained to be in the US-ASCII character set. The MTA will convert any eight bit characters in such option values into the dollar character ($).

Default: group no longer on server 

ERROR_TEXT_DELETED_USER

Configures the text string returned by the MTA. The value must conform to the requirements of SMTP error response text. In particular, it is constrained to be in the US-ASCII character set. The MTA will convert any eight bit characters in such option values into the dollar character ($).

Default: recipient no longer on server 

ERROR_TEXT_DISABLED_ALIAS

Configures the text string returned by the MTA. The value must conform to the requirements of SMTP error response text. In particular, it is constrained to be in the US-ASCII character set. The MTA will convert any eight bit characters in such option values into the dollar character ($).

Default: alias disabled; cannot receive new mail 

ERROR_TEXT_DISABLED_USER

Configures the text string returned by the MTA. The value must conform to the requirements of SMTP error response text. In particular, it is constrained to be in the US-ASCII character set. The MTA will convert any eight bit characters in such option values into the dollar character ($).

Default: user disabled; cannot receive new mail 

ERROR_TEXT_DUPLICATE_ADDRS

Configures the text string returned by the MTA. The value must conform to the requirements of SMTP error response text. In particular, it is constrained to be in the US-ASCII character set. The MTA will convert any eight bit characters in such option values into the dollar character ($).

Default: duplicate/ambiguous directory match 

ERROR_TEXT_INACTIVE_GROUP

Configures the text string returned by the MTA. The value must conform to the requirements of SMTP error response text. In particular, it is constrained to be in the US-ASCII character set. The MTA will convert any eight bit characters in such option values into the dollar character ($).

Default: group temporarily disabled 

ERROR_TEXT_INACTIVE_USER

Configures the text string returned by the MTA. The value must conform to the requirements of SMTP error response text. In particular, it is constrained to be in the US-ASCII character set. The MTA will convert any eight bit characters in such option values into the dollar character ($).

Default: mailbox temporarily disabled 

ERROR_TEXT_INSUFFICIENT_QUEUE_SPACE

Configurable error message the SMTP server either returns or places in DSNs. 

Default: insufficient free queue space available 

ERROR_TEXT_INVALID_RETURN_ADDRESS

Configurable error message the SMTP server either returns or places in DSNs. 

Default: invalid/unroutable return address not allowed 

ERROR_TEXT_LINE_OVER

Configures the text string returned by the MTA. The value must conform to the requirements of SMTP error response text. In particular, it is constrained to be in the US-ASCII character set. The MTA will convert any eight bit characters in such option values into the dollar character ($).

Default: channel line limit exceeded 

ERROR_TEXT_LIST_BLOCK_OVER

Configures the text string returned by the MTA. The value must conform to the requirements of SMTP error response text. In particular, it is constrained to be in the US-ASCII character set. The MTA will convert any eight bit characters in such option values into the dollar character ($).

Default: list size limit exceeded 

ERROR_TEXT_LIST_LINE_OVER

Configures the text string returned by the MTA. The value must conform to the requirements of SMTP error response text. In particular, it is constrained to be in the US-ASCII character set. The MTA will convert any eight bit characters in such option values into the dollar character ($).

Default: list line limit exceeded 

ERROR_TEXT_MAILFROMDNSVERIFY

Configurable error message the SMTP server either returns or places in DSNs. 

Default: invalid/host-not-in-DNS return address not allowed 

ERROR_TEXT_NOSOLICIT

When used with the NO-SOLICIT SMTP extension (described in the Internet Draft draft-malamud-no-soliciting-07.txt), this option specifies alternate error message text when a message is refused due to an examination of its solicitation fields.

ERROR_TEXT_OVER_QUOTA

Configures the text string returned by the MTA. The value must conform to the requirements of SMTP error response text. In particular, it is constrained to be in the US-ASCII character set. The MTA will convert any eight bit characters in such option values into the dollar character ($).

Default: user over quota; cannot receive new mail 

ERROR_TEXT_PERMANENT_FAILURE

Configures the text string returned by the MTA. The value must conform to the requirements of SMTP error response text. In particular, it is constrained to be in the US-ASCII character set. The MTA will convert any eight bit characters in such option values into the dollar character ($).

Default: unknown host or domain 

ERROR_TEXT_RECEIPT_IT

Configures the text string returned by the MTA. The value must conform to the requirements of SMTP error response text. In particular, it is constrained to be in the US-ASCII character set. The MTA will convert any eight bit characters in such option values into the dollar character ($).

Default: message accepted for list expansion processing 

ERROR_TEXT_SEND_REMOTE_ERROR

Configures the text string returned by the MTA. The value must conform to the requirements of SMTP error response text. In particular, it is constrained to be in the US-ASCII character set. The MTA will convert any eight bit characters in such option values into the dollar character ($).

Default: no protocol to SEND/SAML 

ERROR_TEXT_SEND_UNKNOWN_ERROR

Configures the text string returned by the MTA. The value must conform to the requirements of SMTP error response text. In particular, it is constrained to be in the US-ASCII character set. The MTA will convert any eight bit characters in such option values into the dollar character ($).

Default: do not know how to SEND/SAML 

ERROR_TEXT_SIEVE_ACCESS

Configures the text string returned by the MTA. The value must conform to the requirements of SMTP error response text. In particular, it is constrained to be in the US-ASCII character set. The MTA will convert any eight bit characters in such option values into the dollar character ($).

Default: filter access error 

ERROR_TEXT_SIEVE_SYNTAX

Configures the text string returned by the MTA. The value must conform to the requirements of SMTP error response text. In particular, it is constrained to be in the US-ASCII character set. The MTA will convert any eight bit characters in such option values into the dollar character ($).

Default: filter syntax error 

ERROR_TEXT_SMTP_LINES_TOO_LONG

Configurable error message the SMTP server either returns or places in DSNs. 

Default: lines longer than SMTP allows encountered; message rejected 

ERROR_TEXT_SOURCE_SIEVE_ACCESS

Configurable error message the SMTP server either returns or places in DSNs. 

Default: source channel sieve filter access error 

ERROR_TEXT_SOURCE_SIEVE_AUTHORIZATION

Configurable error message the SMTP server either returns or places in DSNs. 

Default: source channel sieve filter authorization error 

ERROR_TEXT_SOURCE_SIEVE_SYNTAX

Configurable error message the SMTP server either returns or places in DSNs. 

Default: source channel sieve filter syntax error 

ERROR_TEXT_SPAMFILTER_ERROR

Configures the text string returned by the MTA. The value must conform to the requirements of SMTP error response text. In particular, it is constrained to be in the US-ASCII character set. The MTA will convert any eight bit characters in such option values into the dollar character ($).

Default: filtering/scanning error 

ERROR_TEXT_TEMPORARY_FAILURE

Configures the text string returned by the MTA. The value must conform to the requirements of SMTP error response text. In particular, it is constrained to be in the US-ASCII character set. The MTA will convert any eight bit characters in such option values into the dollar character ($).

Default: unknown host or domain 

ERROR_TEXT_TEMPORARY_WRITE_ERROR

Configurable error message the SMTP server either returns or places in DSNs. 

Default: error writing message temporary file 

ERROR_TEXT_TRANSACTION_LIMIT_EXCEEDED

Configurable error message the SMTP server either returns or places in DSNs. 

Default: number of transactions exceeds allowed maximum 

ERROR_TEXT_UNKNOWN_ALIAS

Configures the text string returned by the MTA. The value must conform to the requirements of SMTP error response text. In particular, it is constrained to be in the US-ASCII character set. The MTA will convert any eight bit characters in such option values into the dollar character ($).

Default: unknown or illegal alias 

ERROR_TEXT_UNKNOWN_HOST

Configures the text string returned by the MTA. The value must conform to the requirements of SMTP error response text. In particular, it is constrained to be in the US-ASCII character set. The MTA will convert any eight bit characters in such option values into the dollar character ($).

Default: unknown host or domain 

ERROR_TEXT_UNKNOWN_RETURN_ADDRESS

Configurable error message the SMTP server either returns or places in DSNs. 

Default: invalid/no-such-user return address 

ERROR_TEXT_UNKNOWN_USER

Configures the text string returned by the MTA. The value must conform to the requirements of SMTP error response text. In particular, it is constrained to be in the US-ASCII character set. The MTA will convert any eight bit characters in such option values into the dollar character ($).

Default: unknown or illegal user 

ERROR_TEXT_UNNEGOTIATED_EIGHTBIT

Configurable error message the SMTP server either returns or places in DSNs. 

Default: message contains unnegotiated 8bit 

EXPANDABLE_DEFAULT

(Integer 0 or 1) 

Specifies whether or not lists are expandable by default. The option, if set to 1 enables the SMTP EXPN command. 1 is the default and allows for mail list expansion.

EXPROUTE_FORWARD

(Integer 0 or 1) 

Controls the application of the exproute channel keyword to forward-pointing (To, Cc, and Bcc lines) addresses in the message header. A value of 1 is the default and specifies that exproute should affect forward pointing header addresses. A value of 0 disables the action of the exproute keyword on forward pointing addresses.

FILE_MEMBER_SIZE

Specifies the maximum size of the table that tracks the list of files contributed to the configuration. 

FILTER_CACHE_SIZE

Controls the size of the cache that stores tokenized sieve filters for process-wide reuse. 

Default: 500

FILTER_CACHE_TIMEOUT

Controls the timeout, in seconds, of the filter cache. 

Default: 600

FILTER_DISCARD (1 or 2)

Controls whether mailbox filter discard actions cause such discarded messages to be immediately discarded, or cause such messages to go to the FILTER_DISCARD channel. The FILTER_DISCARD channel keeps messages for a short period before discarding them. The default is FILTER_DISCARD=1, which means that messages discarded by a mailbox filter are immediately discarded. Setting FILTER_DISCARD=2 causes discarded messages to instead be routed to the filter_discard channel.

FILTER_JETTISON

Controls whether the mailbox filter jettison Sieve action immediately discards jettisoned messages, or such messages go to the FILTER_DISCARD channel. The FILTER_DISCARD channel keeps messages for a short period before discarding them. FILTER_JETTISON=1 specifies that jettisoned messages are immediately discarded. FILTER_JETTISON=2 causes jettisoned messages to be routed to the FILTER_DISCARD channel. FILTER_JETTISON takes its default from the FILTER_DISCARD setting. FILTER_DISCARD in turn defaults to 1. See Sun Java System Messaging Server 6.3 Administration Guide for details.

FLORWARD_DATA_SIZE

Sets the initial number of entries in the forward text database.  

The MTA stores the database template strings in string pool 3, so the STRING_POOL_SIZE_3 MTA option controls the initial allocation of space for this purpose.  

Note that these various options only control initial sizes. The various tables and arrays will resize automatically up to the maximum allowed size. The maximum string pool size 50Mb. Up to 2 million entries are allowed.  

GENERAL_DATA_SIZE

Sets the initial number of entries in the general text database.  

The MTA stores the database template strings in string pool 3, so the STRING_POOL_SIZE_3 MTA option controls the initial allocation of space for this purpose.  

Note that these various options only control initial sizes. The various tables and arrays will resize automatically up to the maximum allowed size. The maximum string pool size 50Mb. Up to 2 million entries are allowed.  

GROUP_DN_TEMPLATE

Specifies the URLto use for group DNs. 

Default: ""ldap:///$A??sub?mail=*"

HEADER_LIMIT (Integer)

Specifies the maximum size in blocks of the primary (outermost) message header. Headers are silently truncated when the limit is reached. This limit is useful in preventing a denial of service attack involving a message with an enormous header from consuming all available memory. The default is 2000.

HISTORY_TO_RETURN (1-200)

Controls how many delivery attempt history records are included in returned messages. The delivery history provides an indication of how many delivery attempts were made and might indicate the reason the delivery attempts failed. The default value for this option is 20.

HELD_SNDOPR (Integer 0 or 1)

Controls the production of operator messages when a message is forced into a held state because it has too many Received: header lines. The default is 0 and specifies that the syslog messages are not generated when messages or forced to .HELD status due to too many Received: header lines. The value of 1 specifies that syslog messages are generated.

HOST_HASH_SIZE

(Integer <= 32,767) 

Controls the size of the channel hosts hash table. Each channel host specified on a channel definition in the MTA configuration file (both official hosts and aliases) consumes one slot in this hash table, so the total number of channel hosts cannot exceed the value specified. The default is 512; the maximum value allowed is 32,767.

ID_DOMAIN (U.S. ASCII String)

Specifies the domain name to use when constructing message IDs. By default, the official host name of the local channel is used. 

IMPROUTE_FORWARD

(Integer 0 or 1) 

Controls the application of the improute channel keyword to forward-pointing (To, Cc, and Bcc lines) addresses in the message header. A value of 1 is the default and specifies that improute should affect forward-pointing header addresses. A value of 0 disables the action of the improute keyword on forward-pointing addresses.

INCLUDE_CONNECTIONINFO

Provides a means of including the transport and application connection information in various mapping probes that otherwise would not include this material. If included, the information appears at the beginning of the mapping probe in the same format used in the FROM_ACCESS, MAIL_ACCESS, and ORIG_MAIL_ACCESS mappings. The option is a bit-encoded value that defaults to 0. Each assigned bit corresponds to a particular nonpositional alias parameter, as follows. Setting bit 0 (value 1) corresponds to the AUTH_MAPPING alias. Setting bit 1 (value 2) corresponds to the MODERATOR_MAPPING alias. Setting bit 2 (value 4) corresponds to the CANT_MAPPING alias. Setting bit 3 (value 8) corresponds to the DEFERRED_MAPPING alias. Setting bit 4 (value 16) corresponds to the DIRECT_MAPPING alias. Setting bit 5 (value 32) corresponds to the HOLD_MAPPING alias. Setting bit 6 (value 64) corresponds to the NOHOLD_MAPPING alias. Setting bit 7 (value 128) corresponds to the SASL_AUTH_MAPPING alias. Setting bit 8 (value 256) corresponds to the SASL_MODERATOR_MAPPING alias. Setting bit 9 (value 512) corresponds to the SASL_CANT_MAPPING alias.

LDAP_ADD_HEADER

Specifies the LDAP attribute to use to specify header field values that are to be added to the message header if it is present. Typically, this option is not set because the default value mgrpAddHeader corresponds to the standard schema.

LDAP_ALIAS_ADDRESSES

Can be used to override the use of the mailAlternateAddress attribute.

LDAP_DETOURHOST_OPTIN

Specifies the name of an attribute used to opt the user in to the detour (assuming the source channel has aliasoptindetourhost set). If the values of this attribute contain periods they will be compared against the list of potential detour hosts and the first host on the list that matches will be the chosen detour. If the value does not contain a period,the first detour host will be used unconditionally.

LDAP_ATTR_DOMAIN_SEARCH_FILTER

Specifies the LDAP attribute name in the global Sun ONE LDAP Schema, v2 domain search template which contains the domain search pattern. This option is ignored if the LDAP_GLOBAL_CONFIG_TEMPLATE is not set. The default value of this option is inetDomainSearchFilter.

LDAP_ATTR_DOMAIN1_SCHEMA2

Specifies the LDAP attribute name for the primary domain attribute used by Sun ONE LDAP Schema, v2. The default value is sunPreferredDomain.

LDAP_ATTR_DOMAIN2_SCHEMA2

This is the LDAP attribute name for the secondary domain attribute used by Sun ONE LDAP Schema, v2. The default value is associatedDomain.

LDAP_ATTR_MAXIMUM_MESSAGE_SIZE

Specifies the LDAP attribute to use to specify the maximum message size in bytes that can be sent to the group. Typically, this option is not set because the default value mgrpMsgMaxSize corresponds to the standard schema.

LDAP_AUTH_DOMAIN

Specifies the LDAP attribute to use to identify domains (including subdomains) from which users are allowed to send messages to the mail group. Typically, this option is not set because the default value mgrpAllowedDomain corresponds to the standard schema.

LDAP_AUTH_PASSWORD

Specifies the LDAP attribute to use to specify a password needed to post to the list. Typically, this option is not set because the default value mgrpAuthPassword corresponds to the standard schema.

LDAP_AUTH_POLICY

Specifies the LDAP attribute to use to specify the level of authentication required to access the list of broadcaster addresses. Typically, this option is not set because the default value mgrpBroadcasterPolicy corresponds to the standard schema.

LDAP_AUTH_URL

Specifies the LDAP attribute to use to identify mail users allowed to send messages to the mail group. Typically, this option is not set because the default value mgrpAllowedBroadcaster corresponds to the standard schema.

LDAP_AUTOREPLY_ADDRESSES

Specifies the LDAP attribute to use for generating :addresses arguments to sieve vacation. This option has no value by default. The attribute can be multivalued, with each value specifying a separate address to pass to the :addresses vacation parameter.

LDAP_AUTOREPLY_MODE

Specifies the LDAP attribute to use for the autoreply mode for the user mail account. Typically, this option is not set because the default value mailAutoReplyMode corresponds to the standard schema.

LDAP_AUTOREPLY_SUBJECT

Specifies the LDAP attribute to use for the contents of the subject field in the autoreply response (typically mailAutoReplySubject).

LDAP_AUTOREPLY_TEXT

Specifies the LDAP attribute to use for autoreply text sent to all senders except users in the recipient's domain. Typically, this option is not set because the default value mailAutoReplyText corresponds to the standard schema.

LDAP_AUTOREPLY_TEXT_INT

Specifies the LDAP attribute to use for autoreply text sent to senders from the recipient's domain. Typically, this option is not set because the default valuemailAutoReplyTextInternalcorresponds to the standard schema.

LDAP_AUTOREPLY_TIMEOUT

Specifies the LDAP attribute to use to set the duration, in hours, for successive autoreply responses to any give mail sender. Typically, t his option is not set because the default value mailAutoReplyTimeOut corresponds to the standard schema.

LDAP_BLOCKLIMIT

Specifies the LDAP attribute to use to impose a size limit in units of MTA blocks that can be sent to this user or group. Typically, this option is not set because the default value mailMsgMaxBlocks corresponds to the standard schema.

LDAP_CANT_DOMAIN

Specifies the LDAP attribute to use to identify domains from which users are not allowed to send messages to the mail group. Typically, this option is not set because the default value mgrpDisallowedDomain corresponds to the standard schema.

LDAP_CANT_URL

Specifies the LDAP attribute to use to identify mail users not allowed to send messages to the mail group. Typically, this option is not set because the default value mgrpDisallowedBroadcaster corresponds to the standard schema.

LDAP_CAPTURE

Specifies the attribute used to specify one or more message capture addresses. 

No default. 

LDAP_CONVERSION_TAG

Specifies the LDAP attribute to use for conversion tags attached to a message to this user or group. Tag-specific conversion actions are specified in the MTA configuration. Typically, this option is not set because the default value mailConversionTag corresponds to the standard schema.

LDAP_DEFAULT_ATTR

Specifies the default attribute if no attribute is specified in the LDAP query for URLs that are supposed to return a single result. 

LDAP_DEFAULT_DOMAIN

Overrides the service.defaultdomain configutil parameter.

LDAP_DELIVERY_FILE

Specifies the LDAP attribute to use to specify the fully-qualified local path of the file to which all messages sent to the mailing list are appended. Typically, this option is not set because the default value mailDeliveryFileURL corresponds to the standard schema

LDAP_DELIVERY_OPTION

Specifies the LDAP attribute to use to specify delivery options for the mail recipient. Typically, this option is not set because the default value mailDeliveryOption corresponds to the standard schema.

LDAP_DETOURHOST_OPTIN

Specifies the name of an attribute used to opt the user in to the detour (assuming the source channel has aliasoptindetourhost set). If the values of this attribute contain periods they will be compared against the list of potential detour hosts and the first host on the list that matches will be the chosen detour. If the value does not contain a period, the first detour host will be used unconditionally.

LDAP_DISK_QUOTA

Specifies the LDAP attribute to use to specify disk space allowed for the user's mailbox in bytes. Typically, this option is not set because the default value mailQuota corresponds to the standard schema.

LDAP_DOMAIN_ATTR_ALIAS

Specifies the LDAP attribute name which contains a pointer to another domain node in Sun ONE LDAP Schema, v1. The default value is aliasedObjectName.

LDAP_DOMAIN_ATTR_AUTOREPLY_TIMEOUT

No default. 

LDAP_DOMAIN_ATTR_BASEDN

Specifies the LDAP attribute name which contains the baseDN of the user subtree associated with a given domain in Sun ONE LDAP Schema, v1. In Sun ONE LDAP Schema, v2 mode, this attribute specifies the canonical organization node (under which the users are located) pointed to by a domain index node. The default value is inetDomainBaseDN.

LDAP_DOMAIN_ATTR_BLOCKLIMIT

Specifies the LDAP attribute to use to impose a size limit in units of MTA blocks on all messages sent to addresses in this domain. Typically, this option is not set because the default value mailDomainMsgMaxBlocks corresponds to the standard schema.

LDAP_DOMAIN_ATTR_CANONICAL

Specifies the LDAP attribute name which contains the canonical domain name associated with a Sun ONE LDAP Schema, v1 domain entry. The default value is inetCanonicalDomainName.

LDAP_DOMAIN_ATTR_CATCHALL_ADDRESS

Specifies the LDAP attribute to use to specify an address to be substituted for any address in the domain that does not match any user or group in the domain. Typically, this option is not set because the default value mailDomainCatchallAddress corresponds to the standard schema.

LDAP_DOMAIN_ATTR_CATCHALL_MAPPING

Specifies the name of an LDAP domain attribute. This option is not set by default. If set the option specifies the name of a mapping which is consulted when an address associated with the domain fails to match any user entries. The format of the mapping probe is the same as that of the forward mapping, and the USE_FORWARD_DATABASE MTA option controls the format of the probe of this mapping in the same way as the forward mapping. If the mapping sets the $Y metacharacter the resulting string will replace the address being processed.

LDAP_DOMAIN_ATTR_CONVERSION_TAG

Specifies the LDAP attribute to use for one or more conversion tags attached to messages to any user in the domain. Tag-specific conversion actions are specified in the MTA configuration. Typically, this option is not set because the default value mailDomainConversionTag corresponds to the standard schema.

LDAP_DOMAIN_ATTR_DEFAULT_MAILBOX

Specifies a domain-level attribute containing the default mailhost for the domain. If set and the attribute is present on the domain the mailhost attribute is no longer required on user entries in the domain. This option currently has no default, but preferredmailhost is the logical attribute to use as long as some other, conflicting usage does not exist.

LDAP_DOMAIN_ATTR_DISK_QUOTA

No default. 

LDAP_DOMAIN_ATTR_FILTER

Specifies the LDAP attribute to use to specify the sieve filter for all users in the domain. Typically, this option is not set because the default value mailDomainSieveRuleSource corresponds to the standard schema.

LDAP_DOMAIN_ATTR_MAIL_STATUS

Specifies the LDAP attribute to use to specify the mail status. Typically, this option is not set because the default value mailDomainStatus corresponds to the standard schema.

LDAP_DOMAIN_ATTR_MESSAGE_QUOTA

No default. 

LDAP_DOMAIN_ATTR_NOSOLICIT

When used with the NO-SOLICIT SMTP extension (described in the Internet Draft draft-malamud-no-soliciting-07.txt), this option specifies the name of an LDAP attribute used to store the solicitation field values that are to be declined in messages sent to users in a particular domain. Multiple values and glob-style wildcards are allowed.

Default: none 

LDAP_DOMAIN_ATTR_OPTIN (ASCII)

The name of the LDAP attribute used to activate Brightmail on a per-domain basis. It applies to the destination domain. It is just like LDAP_optin above except it should be in the objectclass mailDomain.

Default: none 

LDAP_DOMAIN_ATTR_PRESENCE

No default. 

LDAP_DOMAIN_ATTR_RECIPIENTCUTOFF

The LDAP attribute specifying the maximum number of recipient addresses for a message (from the domain containing this attribute) before the message is rejected. This is a domain analog to the recipientcutoff keyword. No default.

LDAP_DOMAIN_ATTR_RECIPIENTLIMIT

The LDAP attribute specifying the maximum number of recipient addresses for a message coming from the domain containing this attribute. Addresses over the limited are rejected. This is a domain analog to the recipientlimit keyword. No default.

LDAP_DOMAIN_ATTR_REPORT_ADDRESS

Specifies the LDAP attribute to use to specify the header From: address in DSNs reporting problems associated with recipient addresses in the domain. It is also used when reporting problems to users within the domain regarding errors associated with non-local addresses. If this attribute is not set, the reporting address defaults to postmaster@domain. Typically, this option is not set because the default value mailDomainReportAddress corresponds to the standard schema.

LDAP_DOMAIN_ATTR_ROUTING_HOSTS

Specifies the LDAP attribute to use to specify the fully-qualified host name of the MTA responsible for making routing decisions for users in this (and all contained) domain(s). Typically, this option is not set because the default value mailRoutingHosts corresponds to the standard schema.

LDAP_DOMAIN_ATTR_SOURCE_CHANNEL

Specifies the name of a domain-level attribute containing the name of the channel to switch to. In addition, the channel being switched to must be set to allow channel switches. It cannot, therefore, be marked with the noswitchchannel keyword. Switching is done based on information returned by rewriting the MAIL FROM address. Note that MAIL FROM addresses are easily forged so this functionality should be used with extreme care.

LDAP_DOMAIN_ATTR_SOURCE_CONVERSION_TAG

Specify domain level LDAP attribute for conversion tags associated with the source address. No default. 

LDAP_DOMAIN_ATTR_SOURCEBLOCKLIMIT

LDAP attribute specifying the maximum number of blocks a message can contain coming from the domain containing this attribute. This is a domain analog to the sourceblocklimit keyword. No default.

No default. 

LDAP_DOMAIN_ATTR_SMARTHOST

Specifies the LDAP attribute to use to specify the fully-qualified host name of a mail server responsible for handling mail for users not found in the local directory. Typically, this option is not set because the default value mailRoutingSmarthost corresponds to the standard schema.

LDAP_DOMAIN_ATTR_STATUS

Specifies the LDAP attribute to use to specify the current status of the mail domain (active, inactive, deleted, or hold). Typically, this option is not set because the default value mailDomainStatus corresponds to the standard schema.

LDAP_DOMAIN_ATTR_UID_SEPARATOR

Specifies the LDAP attribute to use to override the default mailbox (MB) home. Typically, this option is not set because the default value domainUidSeparator corresponds to the standard schema.

LDAP_DOMAIN_FILTER_SCHEMA1

This is the LDAP search filter used for Sun ONE LDAP Schema, v1 domain lookups. 

Default: (|(objectclass=inetDomain)(objectclass=inetdomainalias)).

LDAP_DOMAIN_FILTER_SCHEMA2

This is the LDAP search filter used for Sun ONE LDAP Schema, v2 domain lookups. 

Default: (objectclass=sunManagedOrganization)

LDAP_DOMAIN_ROOT

If set, overrides the service.dcroot configutil parameter.

LDAP_DOMAIN_TIMEOUT

Controls the retention time for entries in the domain map cache. This value is expressed in seconds. 

Default: 

60 * 15 (or 15 minutes)

LDAP_END_DATE

Specifies the vacation end date attribute. 

Default: vacationEndDate

LDAP_EQUIVALENCE_ADDRESSES

Can be used to override the mailEquivalentAddress attribute.

LDAP_ERRORS_TO

Specifies the LDAP attribute to use to specify the recipient of error messages generated when messages are submitted to this list. Typically, this option is not set because the default value mgrpErrorsTo corresponds to the standard schema.

LDAP_EXPANDABLE

Specifies the attribute to check for group expansion as part of an SMTP EXPN command. 

Default: mgmanMemberVisibility

LDAP_FILTER

Specifies the LDAP attribute to use to specify SIEVE rules for filtering mail. Typically, this option is not set because the default value mailSieveRuleSource corresponds to the standard schema.

LDAP_FILTER_REFERENCE

Specifies an attribute containing a DN pointing to a directory entry where the head of household sieve can be found. 

LDAP_FORWARDING_ADDRESS

Default: mailForwardingAddress

LDAP_GLOBAL_CONFIG_TEMPLATES

Specifies the LDAP baseDN which contains the global Sun ONE LDAP Schema, v2 domain template for domain searches. Use of this option is not recommended. There is no default value. 

LDAP_GROUP_DN

Specifies the LDAP attribute to use to identify a member of a group of names where each name was given a uniqueIdentifier to ensure its uniqueness. Typically, this option is not set because the default value uniqueMember corresponds to the standard schema.

LDAP_GROUP_MAIL_STATUS

Controls mail-specific group status attributes. 

LDAP_GROUP_OBJECT_CLASSES

Specifies different sets of object classes for groups. 

LDAP_GROUP_RFC822

Specifies the LDAP attribute to use to identify recipients of mail sent to mail group. Typically, this option is not set because the default value mgrpRFC822MailMember (or rfc822MailMember, used for backward compatibility) corresponds to the standard schema.

LDAP_GROUP_STATUS

Used to select alternate general status attributes for groups. 

LDAP_GROUP_URL1

Specifies the LDAP attribute to use as an alternative method of specifying mail group membership. Typically, this option is not set because the default value mgrpDeliverTo corresponds to the standard schema.

LDAP_GROUP_URL2

Specifies the LDAP attribute to use to specify a list of URLs, which, when expanded, provides a list of mailing list member addresses. Typically, this option is not set because the default value memberURL corresponds to the standard schema.

LDAP_HASH_SIZE

Specifies the size of the internal table of LDAP attribute names. 

LDAP_HOH_FILTER

Specifies an attribute containing the head of household sieve. The value of this option defaults to mailSieveRuleSource.

LDAP_HOH_OWNER

Specifies an attribute containing the email address of the owner of the head of household. The value of this option defaults to mail.

LDAP_HOST (Host name)

If set, overrides the MTA's use of the local.ugldaphost configutil parameter in accessing the LDAP directory server.

LDAP_HOST_ALIAS_LIST

If set, overrides the MTA's use of the local.imta.hostnamealiases configutil parameter in accessing the LDAP directory server.

LDAP_LOCAL_HOST

If set, overrides the MTA's use of the local.hostname configutil parameter in accessing the LDAP directory server.

LDAP_MAIL_REVERSES

Specifies the list of attributes to search containing addresses that are candidates for address reversal. If this option is not set, the local.imta.schematag configutil parameter is examined, and depending on its value, an appropriate set of default attributes is chosen.

LDAP_MAILHOST

Specifies the LDAP attribute to use to specify the fully-qualified host name of the MTA that is the final destination of messages sent to this recipient. Typically, this option is not set because the default value mailhost corresponds to the standard schema.

LDAP_MAX_CONNECTIONS

Limits the number of LDAP connections the LDAP pool the MTA uses can make. Default: 1024.

LDAP_MESSAGE_QUOTA

Specifies the LDAP attribute to use to specify the maximum number of messages permitted for a user. Typically, this option is not set because the default value mailMsgQuota corresponds to the standard schema.

LDAP_MODERATOR_URL

Specifies the LDAP attribute to use to specify the LDAP URI or mailto URL identifying the moderators allowed to submit messages to this list. Typically, this option is not set because the default value mgrpModerator corresponds to the standard schema.

LDAP_NOSOLICIT

When used with the NO-SOLICIT SMTP extension (described in the Internet Draft draft-malamud-no-soliciting-07.txt), this option specifies the name of an LDAP attribute used to store solicitation field values a user declines to accept in a user entry. Multiple attribute values can be used to specify multiple values. Glob-style wildcards can be used.

Default: none; a value must be specified to enable per-user solicitation blocking. 

LDAP_OPTIN (ASCII)

The name of the LDAP attribute used to activate Brightmail on a per-user basis. This should be an attribute in the inetMailUser objectclass. If you do not have another predefined attribute, use mailAntiUBEService.

The attribute itself (example: mailAntiUBEService) is multi-valued, case-sensitive. Its value could be either spam or virus in lowercase. If the user is opting for both, then he would have two such attributes, one containing spam, one containing virus.

Default: none 

LDAP_PARENTAL_CONTROLS

Specifies an attribute containing a string value of either “Yes” or “No”. “Yes” means a head of household sieve is to be applied to this entry, “No” means no such sieve is to be applied. 

LDAP_PASSWORD

If set, overrides the MTA's use of the local.ugldapbindcred configutil parameter in accessing the LDAP directory server.

LDAP_PERSONAL_NAME

The alias processing machinery keeps track of any personal name information specified in the attribute named by the LDAP_PERSONAL_NAME MTA option and will use this information in constructing From: fields for any MDNs or vacation replies that are generated. No default.

Use with caution to avoid exposing personal information. 

LDAP_PORT (Integer)

Specifies the port to which to connect when performing LDAP queries. The default value is 389, the standard LDAP port number.

LDAP_PREFIX_TEXT

Specifies the LDAP attribute to use to specify the text to be added to the beginning of the message text. Typically, this option is not set because the default value mgrpMsgPrefixText corresponds to the standard schema.

LDAP_PRESENCE

Specifies a URL that can be resolved to return presence information about the user. If the option is specified and the attribute is present, its value is saved for possible use in conjunction with sieve presence tests. The domain level attribute set by the LDAP_DOMAIN_ATTR_PRESENCE MTA option is used as source for this URL if no value exists for the user entry.

LDAP_PRIMARY_ADDRESS

Overrides the LDAP attribute to use to specify the primary address typically stored in the mail attribute.

LDAP_PROGRAM_INFO

Specifies the LDAP attribute to use to specify one or more programs used for program delivery. Typically, this option is not set because the default value mailProgramDeliveryInfo corresponds to the standard schema.

LDAP_RECIPIENT

Specifies the name of an LDAP attribute used to store a sending-user-specific maximum number of envelope recipients (additional recipients are rejected). This is a per-user/group analogue of the recipientlimit channel keyword, or the LDAP_DOMAIN_ATTR_RECIPIENTLIMIT domain level attribute.

LDAP_RECIPIENTLIMIT

The LDAP attribute to specify a sending-user-specific maximum number of envelope recipients that a message can contain from a specific sender. Additional recipients are rejected. This attribute is added to a user’s entry. This is a per-user analogue of the recipientlimit channel keyword.

No default. 

LDAP_RECIPIENTCUTOFF

Specifies the name of an LDAP attribute used to store a sending-user-specific maximum number of envelope recipients (messages with more recipients are rejected entirely). This is a per user/group analogue of the recipientcutoff channel keyword, or the LDAP_DOMAIN_ATTR_RECIPIENTCUTOFF domain level attribute.

No default. 

LDAP_REJECT_ACTION

Single-valued attribute that controls what happens if any of the subsequent access checks fail. Only one value is defined: TOMODERATOR, which if set instructs the MTA to redirect any access failures to the moderator specified by the mgrpModerator attribute. The default (and any other value of this attribute) causes an error to be reported and the message rejected.

Default: mgrpMsgRejectAction

LDAP_REJECT_TEXT

Specifies the LDAP attribute to use to specify text to return if any of the authentication attributes cause the message to be rejected. Typically, this option is not set because the default value mailRejectText corresponds to the standard schema.

LDAP_REMOVE_HEADER

Specifies the LDAP attribute to use to specify a header field that is to be removed from the message header if it is present. Typically, this option is not set because the default value mgrpRemoveHeader corresponds to the standard schema.

LDAP_REPROCESS

Specifies the attribute used for deferred mail processing. 

Default: mailDeferProcessing

LDAP_ROUTING_ADDRESS

Specifies the LDAP attribute to use to determine whether or not the address should be acted on at this time or forwarded to another system. Typically, this option is not set because the default value mailRoutingAddress corresponds to the standard schema.

LDAP_SCHEMALEVEL

If set to value 2, this enables support for Sun ONE LDAP Schema, v2.

LDAP_SCHEMATAG

Can be used to override the setting of the local.imta.schematag configutil parameter specifically for the MTA.

LDAP_SOURCE_CHANNEL

Specifies the name of a user-level attribute containing the name of the channel to switch to. In addition, the channel being switched to must be set to allow channel switches. It cannot, therefore, be marked with the noswitchchannel keyword. Switching is done based on information returned by rewriting the MAIL FROM address. Note that MAIL FROM addresses are easily forged so this functionality should be used with extreme care.

LDAP_SOURCE_CONVERSION_TAG

Specifies user-level LDAP attribute for conversion tags associated with the source address. No default. 

LDAP_SOURCEBLOCKLIMIT

The LDAP attribute to specify the maximum number of blocks allowed in a user’s message. The MTA rejects messages containing more blocks than this from a user. An MTA block is normally 1024 bytes, but this can be changed with the BLOCK_SIZE option in the MTA option file. This is a user analog to the sourceblocklimit keyword and has no default.

LDAP_SPARE_1

Spare slot for additional attributes to be used to build customized address expansion facilities. No default. 

LDAP_SPARE_2

Spare slot for additional attributes to be used to build customized address expansion facilities. No default. 

LDAP_SPARE_3

Spare slot for additional attributes to be used to build customized address expansion facilities. No default. 

LDAP_SPARE_4

Spare slot for additional attributes to be used to build customized address expansion facilities. No default. 

LDAP_SPARE_5

Spare slot for additional attributes to be used to build customized address expansion facilities. No default. 

LDAP_START_DATE

Specifies the vacation start date attribute. 

Default: vacationStartDate

LDAP_SUFFIX_TEXT

Specifies the LDAP attribute to use to specify the text to append to the text message. Typically, this option is not set because the default value mgrpMsgSuffixText corresponds to the standard schema.

LDAP_TIMEOUT (Integer)

Controls the length of time to wait (in hundredths of seconds) before timing out on an LDAP query. The default value is 180000.

LDAP_UG_FILTER

Object class settings are used to construct an actual LDAP search filter that can be used to check to see that an entry has the right object classes for a user or a group. This filter is accessible through the $K metacharacter. It is also stored internally in the MTA's configuration for use by channel programs and is written to the MTA option file, option.dat, as the LDAP_UG_FILTER option when the command imsimta cnbuild -option is used. This option is only written to the file. The MTA never reads it from the option file.

LDAP_UID

Specifies the LDAP attribute to use to identify the entry’s userid. Typically, this option is not set because the default value uid corresponds to the standard schema. Identifies the entry's userid.

LDAP_USE_ASYNC

Controls the use of asynchronous LDAP lookups. This option is a bit-encoded value. Each bit, if set, enables the use of asynchronous LDAP lookups in conjunction with a specific use of LDAP within the MTA. This value is a decimal integer representing a bit-encoded integer, the interpretation of which is given in Table 4–21.

Default: 0 (asynchronous LDAP looks are disabled)

LDAP_USERNAME

If set, overrides the MTA’s use of the local.ugldapbinddn configutil parameter in accessing the LDAP directory server.

LDAP_USER_MAIL_STATUS

Controls mail-specific user status attributes. 

LDAP_USER_OBJECT_CLASSES

Specifies different sets of object classes for users. 

LDAP_USER_ROOT

If set, overrides the MTA’s use of the local.ugldapbasedn configutil parameter.

LDAP_USER_STATUS

Used to select alternate general status attributes for users. 

LINE_LIMIT (Integer)

Places an absolute limit on the overall number of lines in any message that may be sent or received with the MTA. Any message exceeding this limit is rejected. By default, the MTA imposes no line-count limits.The linelimit channel keyword can be used to impose limits on a per channel basis.

LINES_TO_RETURN (Integer)

Controls how many lines of message content the MTA includes when generating a notification message for which it is appropriate to return on a sample of the contents. Setting the LINES_TO_RETURN option to 0 disables partial content return. Only the headers of the message part are returned. The default is 20.

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. 

LOG_CONNECTIONS_SYSLOG (0 or 1)

Sends MTA connection log file entries to syslog (UNIX) or event log (Windows NT). 0 is the default and indicates that syslog (event log) logging is not performed. A value of 1 indicates that syslog logging is performed.

LOG_SENSITIVITY (0 or 1)

Controls whether message Sensitivity: header values are included in log entries. A value of 1 enables such logging. The default value of 0 disables such logging. If logging is enabled, the sensitivity value is logged in an integer representation after the connection information and before the transport information.

LOG_DELAY_BINS

Specifies the bins for delivery delay range counters. The parameters for this options should be a comma-separated list of up to five integers. The default values are 60, 600, 6000, 60000, 600000.

LOG_ENVELOPE_ID (0 or 1)

Controls whether or not envelope IDs are logged. If envelope IDs are logged, they appear just before the message IDs in the log. 

The value of this option defaults to 0, which prevents envelope IDs from being logged.

LOG_FILENAME (0 or 1)

Controls whether the names of the files in which messages are stored are saved in the mail.log file. A value of 1 enables file name logging. A value of 0 (the default) disables it.

LOG_FILTER (0 or 1)

Specifies whether or not the list of active filters enclosed by single quotes are written into enqueue records in the log file just prior to the diagnostics field. The default is 0 (do not write lists into enqueue records).

LOG_FORMAT (1, 2, 3, or 4)

Controls formatting options for the mail.log file. A value of 1 (the default) is the standard format. A value of 2 requests non-null formatting: empty address fields are converted to the string “<>.” A value of 3 requests counted formatting: all variable length fields are preceded by N, where N is a count of the number of characters in the field. A value of 4 causes log entries to be written in an XML-compatible format. For details about value 4, see Specifying Additional MTA Logging Options in Sun Java System Messaging Server 6.3 Administration Guide

LOG_FRUSTRATION_LIMIT

Specifies the limit of “frustration counts.” In a process, if repeated retries of writing a counter fails, the “frustration count” is incremented. Once the count reaches this limit, that process stops attempting to write counters. 

LOG_HEADER (0 or 1)

Controls whether the MTA writes message headers to the mail.log file. A value of 1 enables message header logging. The specific headers written to the log file are controlled by a site-supplied log_header.opt file. The format of this file is that of other MTA header option files. For example, a log_header.opt file containing the following would result in writing the first To and the first From header per message to the log file. A value of 0 (the default) disables message header logging:

To: MAXIMUM=1

From: MAXIMUM=1

Defaults: MAXIMUM=-1

LOG_INTERMEDIATE

Enables the system to log the address initially presented in the RCPT TO as well as the intermediate address generated during alias expansion. If Bit 0 is set (value 1) the intermediate address will be logged. If Bit 1 (value 2) is set, the initially presented address is logged. If logged, this information appears immediately before filter information in the log record, with the intermediate address coming first if both are logged. 

LOG_LOCAL (0 or 1)

Controls whether the domain name for the local host is appended to logged addresses that don't already contain a domain name. A value of 1 enables this feature, which is useful when logs from multiple systems running the MTA are concatenated and processed. A value of 0, the default, disables this feature.

LOG_MESSAGE_ID (0 or 1)

Controls whether message IDs are saved in the mail.log file. A value of 1 enables message ID logging. A value of 0 (the default) disables it.

LOG_MESSAGES_SYSLOG (0 or 1)

A value of 0 disables generation of the syslog notices. A non-zero value enables generation of the syslog notices, with the absolute value controlling the syslog priority and facility mask. (Positive values mean syslog notices and the regular mail.log* entries; negative values, which are not recommended, mean syslog notices only, disabling the regular mail.log* entries. A value of 0 is the default and indicates that syslog (event log) logging is not performed.

LOG_PROCESS (0 or 1)

Includes the enqueuing process ID in the MTA’s log entries. 

LOG_QUEUE_TIME (0 or 1)

Log the amount of time a message has spent in the queue. Queue time is logged as an integer value in seconds. It appears immediately after the application information string in non-XML format logs. The attribute name in XML formatted logs for this value is "qt". 1 enables, O disables.  

Default: 0  

LOG_REASON(0 or 1)

Controls storage of error reason information in log records. Setting the option to 1 enables this storage, 0 disables it. This information, if present, appears just before diagnostic information in log records. 

Default: 0 

LOG_SNDOPR (0 or 1)

Controls the production of syslog messages by the MTA message logging facility. 

LOG_SIZE_BINS

Specifies the bin sizes for message size range counters. The value is a comma-separated list of up to five integers. The default values are 2, 10, 50, 100, 500.

LOG_USERNAME (0 or 1)

The LOG_USERNAME option controls whether or not the username associated with a process that enqueues mail is saved in the mail.log file. Note that messages submitted via SMTP with authentication (SMTP AUTH) will be considered to be owned by the username that authenticated, prefixed with the asterisk, *, character. A value of 1 enables username logging. When username logging is enabled, the username will be logged after the final form envelope To: address field in log entries---and after the message ID, if LOG_MESSAGE_ID=1 is also enabled. A value of 0 (the default) disables username logging.

MAIL_OFF (String)

Specifies the comment string that disables mail delivery for list addresses. The default is NOMAIL.

MAP_NAMES_SIZE

(Integer > 0) 

Specifies the size of the mapping table name table, and thus the total number of mapping table cannot exceed this number. The default is 32.

MAX_ALIAS_LEVELS (Integer)

Controls the degree of indirection allowed in aliases; that is, how deeply aliases may be nested, with one alias referring to another alias, and so forth. The default value is 10.

MAX_FILEINTOS (Integer)

Specifies the maximum number of files that may be specified by a mailbox filter’s fileinto operator.

Default: 10

MAX_FORWARDS (Integer)

Specifies the maximum number of forwarding addresses that may be specified by a mailbox filter’s forward operator. 

Default: 10

MAX_HEADER_BLOCK_USE

(Real Number Between 0 and 1) 

Controls what fraction of the available message blocks can be used by message headers. 

MAX_HEADER_LINE_USE

(Real Number Between0 and 1) 

Controls what fraction of the available message lines can be used by message headers. 

MAX_INTERNAL_BLOCKS (Integer)

Specifies how large (in MTA blocks) a message the MTA keeps entirely in memory; messages larger than this size is written to temporary files. The default is 30. For systems with lots of memory, increasing this value may provide a performance improvement.

MAX_LOCAL_RECEIVED_LINES (Integer)

As the MTA processes a message, it scans any Received: header lines attached to the message looking for references to the official local host name. (Any Received line that the MTA inserts contains this name.) If the number of Received lines containing this name exceeds the MAX_LOCAL_RECEIVED_LINES value, the message is entered in the MTA queue in a held state. The default for this value is 10 if no value is specified in the option file. This check blocks certain kinds of message forwarding loops. The message must be manually moved from the held state for processing to continue.

MAX_MIME_LEVELS (Integer)

Specify the maximum depth to which the MTA should process MIME messages. The default is 100, which means that the MTA processes up to 100 levels of message nesting.

MAX_MIME_PARTS (Integer)

Specify the maximum number of MIME parts that the MTA should process in a MIME message. 

MAX_MR_RECEIVED_LINES (Integer)

As the MTA processes a message, it counts the number of MR_Received: header lines in the message’s header. If the number of MR-Received: lines exceeds the MAX_MR_RECEIVED_LINES value, the message is entered into the MTA queue in a held state. The default value for this option is 20 if no value is specified in the Option File. This check blocks certain kinds of message forwarding loops. The message must be manually moved from the held state for processing to continue.

MAX_RECEIVED_LINES (Integer)

As the MTA processes a message, it counts the number of Received: header lines in the message's header. If the number of Received lines exceeds the MAX_RECEIVED_LINES value, the message is entered in the MTA queue in a held state. The default for this value is 50 if no value is specified in the option file. This check blocks certain kinds of message forwarding loops. The message must be manually moved from the held state for processing to continue.

MESSAGE_HASH_ALGORITHM

Specifies the hash algorithm. Possible values are md2, md4, md5, sha1, md128(for RIPE-MD128), or md160 (for RIPE-MD160).

Default: md5 

MESSAGE_HASH_FIELDS

Comma separated list of fields from the header to hash (in order). Any known header field can be specified. If this option is not specified it defaults to "message-id,from,to,cc,bcc, resent-message-id,resent-from,resent-to,resent-cc,resent-bcc, subject,content-id,content-type,content-description". 

MISSING_RECIPIENT_GROUP_TEXT

Configures the text string returned by the MTA. The value must conform to the requirements of SMTP error response text. In particular, it is constrained to be in the US-ASCII character set. The MTA will convert any eight bit characters in such option values into the dollar character ($).

Default: recipients not specified 

MISSING_RECIPIENT_POLICY (Integer)

Legalizes messages that lack any recipient headers. If set to 1, the MTA does nothing about illegal headers that do not contain a To:, Cc:, or Bcc: field. If set to 0, the MTA adds a To: field to the headers to make them legal.

Default: 0

MAX_SIEVE_LIST_SIZE (Integer)

Controls the number of strings that can appear in a list construct in MTA sieve scripts. The default is 64.

MAX_TOTAL_RECEIVED_LINES (Integer)

As the MTA processes a message, it counts the number of Received:, MR-Received:, and X400-Received: header lines in the message’s header. If the number of all such header lines exceeds the MAX_TOTAL_RECEIVED_LINES value, the message is entered into the MTA queue in a held state. The default value is 100 if no value is specified in the option file. This check blocks certain kinds of message forwarding loops. The message must be manually moved from the held state for processing to continue.

MAX_URLS (Integer)

Specifies the URL to query for address reversal. Standard LDAP URL syntax is used, except omitting the LDAP server and port which are instead specified via the LDAP_HOST and LDAP_PORT options.

MAX_X400_RECEIVED_LINES (Integer)

As the MTA processes a message, it counts the number of X400-Received: header lines in the message’s header. If the number of Received: lines exceeds the MAX_X400_RECEIVED_LINES value, the message is entered into the MTA queue in a held state. The default value for this option is 50 if no value is specified in the Option File. This check blocks certain kinds of message forwarding loops. The message must be manually moved from the held state for processing to continue.

NORMAL_BLOCK_LIMIT (Integer)

Used to instruct the MTA to downgrade the priority of messages based on size: messages above the specified size is downgraded to non-urgent priority. This priority, in turn, affects the processing priority of the message—how quickly the Job Controller processes the message. 

NON_URGENT_BLOCK_LIMIT (Integer)

Used to instruct the MTA to downgrade the priority of messages based on size: Messages above the specified size is downgraded to lower than nonurgent priority. The value is interpreted in terms of MTA blocks, as specified by the BLOCK_SIZE option. Note also that the nonurgentblocklimit channel keyword may be used to impose such downgrade thresholds on a per channel basis.

NOTARY_DECODE (-1, 0, or 1)

Specifies the decoding condition of encoded words. If set to 1, NOTARY_DECODE causes the subset of the original message headers that are added to the first part of a DSN by the %H substitution to be decoded and converted to match the charset of the first part. A value of 0 decodes the subset of encoded words in the header that matches the charset of the first part; no charset conversion is performed. A value of -1 disables decoding of encoded words unconditionally.

Caution should be used with a setting of 1, as information loss can occur and confusion can result when a rich charset like UTF-8 is converted to a limited charset like ISO-8859-1 or US-ASCII.

The default is 0.

OPTIN_USER_CARRYOVER (Integer)

Controls how the spam filtering optin list is carried from one user/alias entry to another when forwarding occurs. This is a bit-encoded value; the interpretation is as follows: 

Bit-0 Value-1: When set, each LDAP user entry overrides any previously active user/domain optins unconditionally. 

Bit-1 Value-2: When set, it overrides any previous user, domain, or alias optins that were active if a user’s domain has an optin attribute. 

Bit-2 Value-4: When set, it overrides any previous user, domain, or alias optins that were active, if a user has an optin attribute. 

Bit-3 Value-8: When set, an optin specified by an (optin) nonpositional parameter overrides any previous user, domain, or alias optins that were active. 

The value of this option defaults to 0. Optins will accumulate if one user has a delivery option that forwards to another user. The default ensures that site security policies will be effective when forwarding mail.

OR_CLAUSES (0 or 1)

Specifies mailing list access controls are OR’ed by default, instead of AND’ed. 

POST_DEBUG (0 or 1)

Specifies whether or not debugging output is produced by the MTA’s periodic delivery job. If enabled with a value of 1, this output is produced in the post.log file. The default value of 0 disables this output.

RECEIVED_DOMAIN (String)

Sets the domain name to use when constructing Received headers. By default, the official host name of the local channel is used.

RECEIVED_VERSION (String)

Sets the Sun Java System Messaging Server version string that is to be used when constructing Received: header lines. By default, the string “(Sun Java System Messaging Server version-info)” is used; use of the default is strongly recommended. Note that this option is a complement to the (also not recommended) CUSTOM_VERSION_STRING TCP/IP SMTP channel option.

In the above description, note the mention of constructing a Received: header line; that is, this option does not change already present Received: header lines, but rather only affects what is used when generating a new Received: header line. Also note that this option is option and the CUSTOM_VERSION_STRING option should not be used.

A non-ASCII string could be specified, but the MTA would then have to MIME encode the non-ASCII characters. Since user agent handling of MIME encoded header lines is not always useful, specifying a non-ASCII value would be inadvisable. So while the value is not strictly limited to being an ASCII string, it is not recommended to use anything other than ASCII. 

RETURN_ADDRESS (String)

Sets the return address for the local postmaster. The local postmaster's address is postmaster@localhost by default, but it can be overridden with the address of your choice. Care should be taken in the selection of this address—an illegal selection may cause rapid message looping and pileups of huge numbers of spurious error messages.

RETURN_DEBUG (0 or 1)

Enables or disables debugging output in the nightly message bouncer batch job. A value of 0 disables this output (the default), while a value of 1 enables it. Debugging output, if enabled, appears in the output log file, if such a log file is present. The presence of an output log file is controlled by the crontab entry for the return job.

RETURN_DELIVERY_HISTORY

(0 or 1) 

Controls whether or not a history of delivery attempts is included in returned messages. The delivery history provides some indication of how many delivery attempts were made and, in some cases, indicates the reason the delivery attempts failed. A value of 1 enables the inclusion of this information and is the default. A value of 0 disables return of delivery history information. The HISTORY_TO_RETURN option controls how much history information is actually returned.

RETURN_ENVELOPE (Integer)

Takes a single integer value, which is interpreted as a set of bit flags. Bit 0 (value = 1) controls whether return notifications generated by the MTA are written with a blank envelope address or with the address of the local postmaster. Setting the bit forces the use of the local postmaster address; clearing the bit forces the use of a blank addresses. Note that the use of blank address is mandated by RFC 1123. However, some systems do not handle blank-envelope-from-address properly and may require the use of this option. Bit 1 (value = 2) controls whether the MTA replaces all blank envelope addresses with the address of the local postmaster. Again, this is used to accommodate noncompliant systems that don't conform to RFC 821, RFC 822, or RFC 1123. Note that the returnenvelope channel keyword can be used to impose this sort of control on a per-channel basis.

RETURN_PERSONAL (String)

Specifies the personal name to use when the MTA generates postmaster messages (for example, bounce messages). By default, the MTA uses the string, Internet Mail Delivery.

RETURN_UNITS (0 or 1)

Controls the time units used by the message return system. A value of 0 selects units of days. A value of 1 selects units of hours. By default, units of days are used. Return job scheduling is controlled by the local.schedule.return_job configutil parameter.

REVERSE_ADDRESS_CACHE_SIZE

Specifies the maximum size of the address reversal cache. 

Default: 100000

REVERSE_ADDRESS_CACHE_TIMEOUT

Specifies the timeout, in seconds, for entries in the address reversal cache. 

Default: 600

REVERSE_DATA_SIZE

Sets the initial number of entries in the forward text database.  

The MTA stores the database template strings in string pool 3, so the STRING_POOL_SIZE_3 MTA option controls the initial allocation of space for this purpose.  

Note that these various options only control initial sizes. The various tables and arrays will resize automatically up to the maximum allowed size. The maximum string pool size 50Mb. Up to 2 million entries are allowed.  

REVERSE_ENVELOPE (0 or 1)

Controls whether the MTA applies the address reversal to envelope From addresses as well as header addresses. This option has no effect if the USE_REVERSE_DATABASE option is set to 0 or if the reverse database and reverse mapping does not exist. The default is 1, which means that the MTA attempts to apply the database to envelope From addresses. A value of 0 disables this use of the address reversal database.

REVERSE_URL (URL)

Specifies the URL to query for address reversal. Standard LDAP URL syntax is used, except omitting the LDAP server and port, which are instead specified using the LDAP_HOST and LDAP_PORT options. REVERSE_URL applicability is not controlled by any bit in USE_REVERSE_DATABASE.


Note –

Changing REVERSE_URL for any reason is discouraged.


ROUTE_TO_ROUTING_HOST (0 or 1)

Specifies (value set to 1) that the Messaging Server routes all addresses associated with the domain to the first host listed in the mailRoutingHosts attribute. A value of 0 indicates that a failure to match an existant mailRoutingHosts attribute against causes the domain to be treated as non-local; addresses are routed onward according to their rewrite rules. The default is 0.

SEPARATE_CONNECTION_LOG

(0 or 1) 

Controls whether the connection log information generated by setting LOG_CONNECTION =1 is stored in the usual the MTA message logging files, mail.log* or is stored separately in connection.log* files. The default (0) causes connection logging to be stored in the regular message log files; 1 causes the connection logging to be stored separately.

SIEVE_USER_CARRYOVER (0 or 1)

Controls how user sieves are combined when forwarding occurs. This is a bit-encoded value; the interpretation is as follows: 

Bit-0 Value-1: When set, user-to-user forwarding cancels the domain and user scripts associated with the original user entry. 

The value of this option defaults to 0.

Using this option is not recommended, because it prevents a user from filtering mail prior to it being forwarded. 

SNDOPR_PRIORITY (Integer)

Sets the syslog level of syslog messages or the severity of the Windows NT event log entry. 

For syslog, this option corresponds to the priority argument of the syslog call. Both the facility and severity can be set by applying a logical OR operation to the desired values. On Solaris, see /usr/include/sys/syslog.h for a definition of valid values. Be sure to coordinate setting the SNDOPR_PRIORITY option with how syslog messages are handled, as controlled by the syslog.conf file.

The default for UNIX is 5; the default for Windows NT is 1.

SPAMFILTERn_OPTIONAL

Controls whether certain failures reported by the filtering library X are treated as a temporary processing failure or ignored. The default value of 0 specifies that spam filtering problems cause a temporary processing failure. Changing the value to 1 causes spam filter processing to be skipped in the event of some, but possibly not all, filtering library failures. In particular, if the system gets stuck without a return in the library code, some portion of the MTA may also get stuck. -2 and 2 can also be set. The are the same as 0 and 1 respectively except that they also cause a syslog message to be sent in the event of a problem reported by the spam filter plugin. A value of 3 causes spam filter failures to accept the message but queue it to the reprocess channel for later processing. A value of 4 does the same thing but also logs the spam filter temporary failure to syslog.

Default: 0

SPAMFILTERX_ACTION_N

See SPAMFILTERX_VERDICT_N.

Default: none 

SPAMFILTERX_CONFIG_FILE

Specifies the full file path and name of the filtering software X configuration file.

Default: none 

SPAMFILTERX_FINAL

 

Some filtering libraries have the ability to perform a set of actions based on recipient addresses. What sort of recipient address is passed to the filtering library depends on the setting of the SPAMFILTERX_FINAL MTA option. The default value of 0 results in a so-called intermediate address being passed to the filtering library. This address is suitable for use in delivery status notifications and for directory lookups. If bit 0 (value 1) of SPAMFILTERX_FINAL is set, however, the final form of the recipient address is passed. This form may not be suitable for presentation but is more appropriate for subsequent forwarding operations.

The SPAMFILTERX_FINAL option is only available in Messaging Server 6.0 and later; Messaging Server 5.2 behaves as if the option had the default value of 0.

In 6.2 and later bit 1 (value 2) of SPAMFILTERX_FINAL controls whether or not source routes are stripped from the address that's passed to the filtering interface. Setting the bit enables source route stripping.

Default: 0

SPAMFILTERX_LIBRARY

Specifies the full file path and name of the filtering software X shared library.

Default: none 

SPAMFILTERX_NULL_OPTIN

Specifies a string which, if found, as a value of the attribute defined by LDAP_optinX or LDAP_domain_attr_optinX, causes the MTA to act as if the attribute wasn't there. That is, it disables filtering for that entry. See Specifying the Messages to Be Filtered in Sun Java System Messaging Server 6.3 Administration Guide

Default: The empty string. Empty optin attributes are ignored by default. (This is a change from Messaging Server 5.2, where empty optin attributes triggered filtering with an empty optin list. The 5.2 behavior can be restored by setting spamfilterX_null_optin to a string that never occurs in practice.)

SPAMFILTERX_STRING_ACTION

Defines Sieve rule specifying what to do with the message if the verdict is a string. Sieve expressions can be stored externally using a file URL. For example: file:///var/opt/SUNWmsgsr/config/null_action.sieve. Also, do not reject spam using the Sieve reject action, as it tends to deliver a nondelivery notification to the innocent party whose server was used to send the spam.

Default: data:,require "fileinto"; fileinto "$U;

where $U is the string that verdict returned.

SPAMFILTERX_VERDICT_N

The options spamfilterX_verdict_n and spamfilterX_action_n are matched pairs, where n is a number from 0 to 9. These options allow you to specify Sieve filters for arbitrary verdict strings. This is done by setting spamfilterX_verdict_nand spamfilterX_action_n to the verdict string and sieve filter, respectively, where n is an integer from 0 to 9. For example, a site could have the "reject" verdict cause a sieve reject action by specifying:


spamfilter1_verdict_0=reject
spamfilter1_action_0=data:,require "reject";
reject "Rejected by spam filter";

STRICT_REQUIRE (0 or 1)

Enforces strict Sieve compliance for location of require clauses. The default is 0.

STRING_POOL_SIZE

(Integer <= 10,000,000) 

Controls the number of character slots allocated to the string pool used to hold rewrite rule templates and alias list members. A fatal error occurs if the total number of characters consumed by these parts of the configuration and alias files exceeds this limit. The default is 60,000; the maximum allowed value is 10,000,000.

STRING_POOL_SIZE_3

Controls the initial allocation of space for template strings for the general, forward, and reverse text databases. 

UNIQUE_ID_TEMPLATE

Specifies a template used to convert an address into a unique identifier. The template's substitution vocabulary is the same as that for delivery options. The resulting unique identifier is intended for use by message archiving tools. 

URGENT_BLOCK_LIMIT (Integer)

Used to instruct the MTA to downgrade the priority of messages based on size: messages above the specified size are downgraded to normal priority. This priority, in turn, affects the Job Controller’s processing priority for processing the message. The value is interpreted in terms of the MTA blocks, as specified by the BLOCK_SIZE option. Note also that the urgentblocklimit channel keyword may be used to impose such downgrade thresholds on a per-channel basis.

URL_RESULT_CACHE_SIZE

Specifies the cache size of URL results from lookups done in rewrite rules and mappings. Default: 10000 entries

URL_RESULT_CACHE_TIMEOUT

Specifies the timeout period for rewrite rules and mapping URL lookups. Default: 600 seconds

USE_ALIAS_DATABASE (0 or 1)

Controls whether the MTA uses the alias database as a source of system aliases for local addresses. The default (1), means that the MTA checks the database if it exists. A value of 0 disables this use of the alias database.

USE_CANONICAL_RETURN (Integer)

This option is bit-encoded with the various bits matching those of the USE_ORIG_RETURN option. Each place where the MTA performs a comparison operation against the envelope from (MAIL FROM) address has an assigned bit. If the bit in USE_CANONICAL_RETURNis clear, normal rewriting is applied to the envelope from address prior to use. In particular rewriting from mailAlternateAddress attributes to mail attributes will be performed; mailEqvuialentAddress attributes will not be rewritten to the corresponding mail attribute. If, however, the bit is set, the corresponding address will be rewritten if it appears in a mailEquivalentAddress attribute. It should be noted that the bit USE_ORIG_RETURN will, if set, disable rewriting entirely. So setting a bit in USE_ORIG_RETURN renders the corresponding bit in USE_CANONICAL_RETURN useless.

The value is a decimal integer representing a bit-encoded integer, the interpretation of which is given in Table Table 4–19

USE_DOMAIN_DATABASE (0 or 1)

Controls the use of the domain database. The default (1) means that the MTA checks the database if it exists.

USE_FORWARD_DATABASE (Integer)

Control use of the forward database. 

The value is a decimal integer representing a bit-encoded integer, the interpretation of which is given below: 

Bit–0 (Value=1) When set, the Forward Database is used. Bit-0 (Value=1) is the least significant bit. The default value for the USE_FORWARD_DATABASE is 0 which means the Forward Database is not used at all. Note that a Forward Mapping, if present, is always consulted.

Bit-3 (Value=8) When set, channel-level granularity is used with the forward database entries. The forward database entries' left hand side must have the form (note the | vertical bars): 

source-channel|from-address|to-address

Bit-4 (Value=16) When set, channel-level granularity is used with FORWARD mapping. FORWARD mapping entries' patterns (left hand sides) must have the form (note the | vertical bars); 

source-channel|from-address|to-address

USE_ORIG_RETURN (Integer)

Controls the bit-encoded field. 

The value is a decimal integer representing a bit-encoded integer, the interpretation of which is given in Table Table 4–19.

USE_PERMANENT_ERROR (0-4)

Controls whether or not certain errors returned by the MTA are marked as temporary or permanent. Each bit in this option corresponds to a specific error condition. When set, this option instructs the MTA to return a permanent error. The value is a decimal integer representing a bit-encoded integer, the interpretation of which is given in Table 4–18. The default value is 0.

USE_PERSONAL_ALIASES (0 or 1)

Controls whether or not the MTA makes use of personal alias databases as a source of aliases for local addresses. The default is 1, which means that the MTA checks such databases, if they exist. A value of 0 disables personal aliases and makes them unavailable to all users.

USE_REVERSE_DATABASE (0-31)

Controls whether the MTA uses the address reversal database and REVERSE mapping as a source of substitution addresses. This value is a decimal integer representing a bit-encoded integer, the interpretation of which is given in Table 4–20.

Note that bit 0 is the least significant bit. 

The default value for USE_REVERSE_DATABASE is 5, which means that the MTA reverse envelope From addresses and both backward and forward pointing addresses after they have passed through the normal address rewriting process. Simple address strings are presented to both REVERSE mapping and the reverse database. A value of 0 disables the use of the address reversal completely.

USE_TEXT_DATABASES

Stores information that previously would have gone in the general, forward, and reverse databases in the compiled configuration. This option is bit encoded. If bit 0 (value 1) is set, the file IMTA_TABLE:general.txt is read as the MTA configuration is initialized and the information from that file replaces all uses of the general database. If bit 1 (value 2) is set, the file IMTA_TABLE:reverse.txt is read and used instead of the reverse database.If bit 2 (value 4) is set, the file IMTA_TABLE:forward.txt is read and used instead of the forward database. The default value for this option is 0, which disables all use of text databases. Note that use of the text database option means that changes to the underlying files will only be seen after issuing the imsimta cnbuild and imtsimta reload commands.

WILD_POOL_SIZE (integer)

Controls the total number of patterns that appear throughout mapping tables. the default is 8000. The maximum allowed is 200,000.

Table 4–17 DOMAIN_UPLEVEL Bit Values

Bit  

Value  

Usage  

If clear, only look up the domain that is actually specified in an address. If set, look up not only that domain but every superior domain. For example, if the bit is clear and the domain is host1.siroe.com, only host1.siroe.com is looked up. If the bit is set host1.siroe.com will be looked up, if that fails siroe.com, and if that fails com.

Controls how filters are constructed for address searches in the directory. If the bit is clear, only the originally supplied address is searched for. If it is set, both the original supplied address and an address built using the domain that was found in the directory are searched for. 

Controls which domain is used in checks against service.defaultdomain to determine whether or not the domain is the default domain or a hosted domain. If the bit is set, the domain extracted from the address that matched a domain entry is used. If the bit is clear the canonical domain from the domain entry that matched is used.

Checks the address with an upleveled/canonicalized domain name against the mailEqvuialentAddress during address reversal. A match disables rewriting the address to the value of the mail attribute.

16 

Control whether address reversal rewriting is skipped if the address is a mailEquivalentAddress (bit clear) or performed only if the address is a mailAlternateAddress (bit set)

Table 4–18 USE_PERMANENT_ERROR Bit Values

Bit  

Value  

Error  

Mailbox is temporarily disabled (inactive). 

Group is temporarily disabled (inactive). 

User is over quota; cannot receive new mail. 

Various alias expansion errors. 

16 

too many recipients specified 

Table 4–19 USE_CANONICAL_RETURN and USE_ORIG_RETURN Bit Values

Bit 

Value 

Usage 

When set, use the original envelope From: address in ORIG_SEND_ACCESS mapping table probes.

When set, use the original envelope From: address in SEND_ACCESS mapping table probes.

When set, use the original envelope From: address in ORIG_MAIL_ACCESS mapping table probes.

When set, use the original envelope From: address in MAIL_ACCESS mapping table probes.

16 

When set, use the original envelope From: address in mailing list [AUTH_LIST], [MODERATOR_LIST], [SASL_AUTH_LIST], and [SASL_MODERATOR_LIST] checks.

32 

When set, use the original envelope From: address in mailing list [CANT_LIST] and [SASL_CANT_LIST] checks.

64 

When set, use the original envelope From: address in mailing list [AUTH_MAPPING], [MODERATOR_MAPPING], [SASL_AUTH_MAPPING], and [SASL_MODERATOR_MAPPING] checks.

128 

When set, use the original envelope From: address in mailing list [CANT_MAPPING] and [SASL_CANT_MAPPING] checks.

256 

When set, use the original envelope From: address in mailing list [ORIGINATOR_REPLY] comparisons.

512 

When set, use the original envelope From: address in mailing list [DEFERRED_LIST], [DIRECT_LIST], [HOLD_LIST], and [NOHOLD_LIST] checks.

10 

1024 

When set, use the original envelope From: address in mailing list [DEFERRED_MAPPING], [DIRECT_MAPPING], [HOLD_MAPPINGS], and [NOHOLD_MAPPING] checks.

11 

2048 

When set, use the original envelope From: address in mailing list checks for whether the sender is the list moderator. 

12 

4096 

When set, use the original envelope From: address in mailing list LDAP_AUTH_DOMAIN LDAP attribute (e.g., mgrpAllowedDomain) checks.

13 

8192 

When set, use the original envelope From: address in mailing list LDAP_CANT_DOMAIN LDAP attribute (e.g., mgrpDisallowedDomain) checks

14 

16384 

When set, use the original envelope From: address in mailing list LDAP_AUTH_URL LDAP attribute (e.g., mgrpAllowedBroadcaster) checks.

15 

32768 

When set, use the original envelope From: address in mailing list LDAP_CANT_URL LDAP attribute (e.g., mgrpDisallowedBroadcaster) checks.

16 

65536 

Obsolete. In Messaging Server 5.0 and 5.1, when set, used the original envelope From: address in mailing list LDAP_MODERATOR_RFC822 comparisons. As of Messaging Server 5.2 there is no longer any such global MTA option nor need for such an attribute (since the LDAP_MODERATOR_URL attribute value can, in fact, specify a mailto: URL pointing to an RFC 822 address), this bit no longer has any meaning.

17 

131072 

When set, use the original envelope From: address in mailing list LDAP_MODERATOR_URL LDAP attribute (e.g., mgrpModerator) comparisons.

18 

262144 

When set, use the original envelope From: address in any source-specific FORWARD mapping tables probes. 

19 

524288 

When set, use the original envelope From: address in any source-specific FORWARD database probes. 

Table 4–20 UUSE_REVERSE_DATABASE Bit Values

Bit  

Value  

Usage  

When set, address reversal is applied to addresses after they have been rewritten by the MTA address rewriting process. 

When set, address reversal is applied before addresses have had the MTA address rewriting applied to them. 

When set, address reversal is applied to all addresses, not just to backward pointing addresses. 

When set, channel-level granularity is used with REVERSE mapping. REVERSE mapping table (pattern) entries must have the form (note the vertical bars [|]).

source-channel|destination-channel|address

16 

When set, channel-level granularity is used with address reversal database entries. Reversal database entries must have the form (note the vertical bars [|]).

source-channel|destination-channel|address

Table 4–21 LDAP_USE_ASYNC Bit Values

Bit  

Value  

Specific Use of LDAP  

LDAP_GROUP_URL1 (mgrpDeliverTo) URLs

LDAP_GROUP_URL2 (memberURL) URLs

LDAP_GROUP_DN (UniqueMember) DNs

auth_list, moderator_list, sasl_auth_list, and sasl_moderator_list nonpositional list parameter URLs

16 

cant_list, sasl_cant_list nonpositional list parameter URLs

32 

originator_reply nonpositional list parameter URLs

64 

deferred_list, direct_list, hold_list, nohold_list nonpositional list parameter URLs

128 

username_auth_list, username_moderator_list, username_cant_list nonpositional list parameter URLs

256 

alias file list URLs 

512 

alias database list URLs 

10 

1024 

LDAP_CANT_URL (mgrpDisallowedBroadcaster) outer level URLs

11 

2048 

LDAP_CANT_URL inner level URLs

12 

4096 

LDAP_AUTH_URL (mgrpAllowedBroadcaster) outer level URLs

13 

8192 

LDAP_AUTH_URL inner level URLs

14 

16384 

LDAP_MODERATOR_URL (mgrpModerator) URLs

Header Option Files

Some special option files may be associated with a channel that describe how to trim the headers on messages queued to that channel or received by that channel. This facility is completely general and may be applied to any channel; it is controlled by the headertrim, noheadertrim, headerread, and noheaderread channel keywords.

Various MTA channels have their own channel-level option files as well. Header option files have a different format than other MTA option files, so a header option file is always a separate file.

Header Option File Location

For destination channel based header trimming to be applied upon message enqueue after normal header processing, the MTA looks in the config directory (msg-svr-base/config) for header options files with names of the form channel_headers.opt, where channel is the name of the channel with which the header option file is associated. The headertrim keyword must be specified on the channel to enable the use of such a header option file.

For source channel based header trimming to be applied upon message enqueue before normal header processing, the MTA looks in the config directory (msg-svr-base/config) for header options files with names of the form channel_read_headers.opt, where channel is the name of the channel with which the header option file is associated. The headerread keyword must be specified on the channel to enable the use of such a header option file.

Header option files should be world readable.

Header Option File Format

Simply put, the contents of a header option file are formatted as a set of message header lines. Note, however, that the bodies of the header lines do not conform to RFC 822.

The general structure of a line from a header options file is:


Header-name: OPTION=VALUE, OPTION=VALUE, OPTION=VALUE, ...

Header-name is the name of a header line that the MTA recognizes (any of the header lines described in this manual may be specified, plus any of the header lines standardized in RFC 822, RFC 987, RFC 1049, RFC 1421, RFC 1422, RFC 1423, RFC 1424, RFC 1327, and RFC 1521 (MIME).

Header lines not recognized by the MTA are controlled by the special header line name Other:. A set of options to be applied to all header lines not named in the header option file can also be given on a special Defaults: line. The use of Defaults: guards against the inevitable expansion of the MTA's known header line table in future releases.

Various options can then be specified to control the retention of the corresponding header lines. The available options are listed in Table 4–22.

Table 4–22 Header options

Option  

Description  

ADD (Quoted String)

Creates a new header line of the given type. The new header line contains the specified string. The header line created by ADD appears after any existing header lines of the same type. The ADD option cannot be used in conjunction with the Defaults header line type; it is ignored if it is specified as part of an Other: option list.

FILL

(Quoted String) 

Creates a new header line of the given type only if there are no existing header lines of the same type. The new header line contains the specified string. The FILL option cannot be used in conjunction with the header line type; it is ignored if it is specified as part of an Other option list.

GROUP

(Integer 0 or 1) 

Controls grouping of header lines of the same type at a particular precedence level. A GROUP value of 0 is the default, and indicates that all header lines of a particular type should appear together. A value of 1 indicates that only one header line of the respective type should be output and the scan over all header lines at the associated level should resume, leaving any header lines of the same type unprocessed. Once the scan is complete it is then repeated in order to pick up any remaining header lines. This header option is primarily intended to accommodate Privacy Enhanced Mail (PEM) header processing.

LINELENGTH (Integer)

Controls the length at which to fold headers. See the headerlinelength channel keyword.

MAXCHARS (Integer)

Controls the maximum number of characters that can appear in a single header line of the specified type. Any header line exceeding that length is truncated to a length of MAXCHARS. This option pays no attention to the syntax of the header line and should never be applied to header lines containing addresses and other sorts of structured information. The length of structured header lines should instead be controlled with the maxheaderchars and maxheaderaddrs channel keywords.

MAXIMUM (Integer)

Controls the maximum number of header lines of this type that may appear. This has no effect on the number of lines; after wrapping, each individual header line can consume. A value of -1 is interpreted as a request to suppress this header line type completely.

MAXLINES (Integer)

Controls the maximum number of lines all header lines of a given type may occupy. It complements the MAXIMUM option in that it pays no attention to how many header lines are involved, only to how many lines of text they collectively occupy. As with the MAXIMUM option, headers are trimmed from the bottom to meet the specified requirement.

PRECEDENCE (Integer)

Controls the order in which header lines are output. All header lines have a default precedence of zero. The smaller the value, the higher the precedence. Positive PRECEDENCE values push header lines toward the bottom of the header while negative values push them toward the top. Equal precedence ties are broken using the MTA's internal rules for header line output ordering.

RELABEL (header name)

Changes a header line to another header line; that is, the name of the header is changed, but the value remains the same. For instance, 

X-MSMail-Priority: RELABEL="Priority"

X-Priority: RELABEL="Importance"

Tailor File

The MTA tailor file (imta_tailor) is an option file in which the location of various MTA components are set. This file must always exist in the msg-svr-base/config directory for the MTA to function properly. The file may be edited to reflect the changes in a particular installation. Some options in the file should not be edited. The MTA should be restarted after making any changes to the file. It is preferable to make the changes while the MTA is down.

An option setting has the form:


option=value

The value can be either a string or an integer, depending on the option's requirements. If you make changes to values in order to specify directory paths, note that these values are prefixes, not paths. You must include a trailing slash. Comments are allowed. Any line that begins with an exclamation point is considered to be a comment and is ignored. Blank lines are also ignored. Options that are available and can be edited are shown in Table 4–23.

Table 4–23 Tailor File Options

Option  

Description  

IMTA_ALIAS_DATABASE

The alias database. The default is msg-svr-base/data/db/aliasesdb.

IMTA_ALIAS_FILE

The MTA aliases file. Aliases not set in the directory, for example, postmaster, are set in this file. The default is msg-svr-base/config/aliases.

IMTA_CHARSET_DATA

Specifies where the MTA compiled character set data is located. The default is msg-svr-base/config/charset_data.

IMTA_CHARSET_OPTION_FILE

File used for charset conversion options. The default is msg-svr-base/config/option_charset.dat.

IMTA_COM

Specifies where the MTA command definition files are located. The default is msg-svr-base/sbin/.

IMTA_CONFIG_DATA

Compiled configuration for the MTA. The default is msg-svr-base/imta/lib/config_data.

IMTA_CONFIG_FILE

The MTA configuration file. Rewrite rules and per-channel options are set in this file. The default is msg-svr-base/config/imta.cnf.

IMTA_CONVERSION_FILE

File to set rules for the conversion channel. The default is msg-svr-base/config/conversions.

IMTA_DISPATCHER_CONFIG

The MTA dispatcher’s configuration file. The default is msg-svr-base/config/dispatcher.cnf.

IMTA_DOMAIN_DATABASE

Database used to store additional rewrite rules. The default is msg-svr-base/data/db/domaindb.

IMTA_DNSRULES

The MTA DNS configuration library. The default is msg-svr-base/imta/lib/imdnsrules.so.

IMTA_BIN

Location of the MTA executables. The default is msg-svr-base/lib/.

IMTA_FORWARD_DATABASE

Not used. 

IMTA_GENERAL_DATABASE

Provided for each site’s customized usage. Generally, lookups can be embedded in mappings and rewrite rules. The default is msg-svr-base/config/generaldb.

IMTA_HELP

Location of the help files for the MTA utility. The default is msg-svr-base/imta/lib/.

IMTA_JBC_CONFIG_FILE

The MTA Job Controller’s configuration file. The default is msg-svr-base/config/job_controller.cnf.

IMTA_LANG

Locale of the MTA’s notary messages. By default it is msg-svr-base/imta/locale/C/LC_MESSAGES.

IMTA_LIB

Directory where the MTA libraries and executables are stored. The default is msg-svr-base/imta/lib/.

IMTA_LIBUTIL

The MTA utility library. By default it is msg-svr-base/lib/libimtautil.so.1.

IMTA_LOG

Location of the MTA log files. The default is msg-svr-base/imta/log/.

IMTA_MAPPING_FILE

File used for setting access control rules, reverse mapping rules, forward mapping rules, and so forth. The default value is msg-svr-base/config/mappings.

IMTA_NAME_CONTENT_FILE

Location of file used by the MTA for certain attachment handling labeling. The default is msg-svr-base/config/name_content.dat.

IMTA_OPTION_FILE

Name of the MTA’s option file. The default is msg-svr-base/config/option.dat.

IMTA_QUEUE

The MTA message queue directory. The default is msg-svr-base/imta/queue/.

CAUTION: Do not add any files or directories in the MTA queue directory as this causes problems. When using a separate file system for the MTA queue directories, create a subdirectory under that mount point and specify that subdirectory as the value of IMTA_QUEUE.

IMTA_RETURN_PERIOD

Controls the return of expired messages and the generation of warnings. The default value for this option is 1. If this options is set to an integer value N, then the associated action is only performed every N times the return job runs. By default, the return job runs once every day.

IMTA_RETURN_SPLIT_PERIOD

Controls splitting of the mail.log file. The default value for this option is 1. If this options is set to an integer value N, then the associated action is only performed every N times the return job runs. By default, the return job runs once every day.

IMTA_REVERSE_DATABASE

The MTA reverse database. This database is used for rewriting From addresses. The default is msg-svr-base/data/db/reversedb.

IMTA_ROOT

Base directory for the MTA installation. The default is msg-svr-base/imta/.

IMTA_SYSTEM_FILTER_FILE

Specifies the location of the MTA system filter file. The value of this option can be either a file name or a URL. 

IMTA_TABLE

The MTA configuration directory. The default is msg-svr-base/config/.

IMTA_USER

Name of the postmaster. The default is inetmail. If this is changed be sure to edit the msg-svr-base/config/aliases file to reflect the change to the postmaster address.

IMTA_USER_PROFILE_DATABASE

Database used for storing user’s vacation, forwarding, and program delivery information. The default is msg-svr-base/data/db/profiledb.

IMTA_USER_USERNAME

Specifies the userid of the subsidiary account the MTA uses for certain “non-privileged” operations—operations which it doesn't want to perform under the usual MTA account. The default is nobody.

IMTA_VERSION_LIMIT

Maximum versions of log files to be preserved while purging old log files. The default value is 5.

IMTA_WORLD_GROUP

Can perform certain privileged operations as a member of this group. The default is mail.

Job Controller Configuration

At startup, the Job Controller reads a configuration file that specifies parameters, pools, and channel processing information. This configuration information is specified in the file job_controller.cnf in the msg-svr-base/config/ directory.

For more information on the Job Controller, see the Chapter 10, About MTA Services and Configuration, in Sun Java System Messaging Server 6.3 Administration Guide.

Job Controller Configuration File

In accordance with the format of the MTA option files, the Job Controller configuration file contains lines of the form:


option=value

In addition to option settings, the file may contain a line consisting of a section and value enclosed in square-brackets ([ ]) in the form:


[section-type=value]

Such a line indicates that option settings following this line apply only to the section named by value. Initial option settings that appear before any such section tags apply globally to all sections. Per section option settings override global defaults for that section. Recognized section types for the Job Controller configuration file are POOL, to define pools and their parameters, and CHANNEL, to define channel processing information and PERIODIC_JOB for the various periodic jobs started by the Job Controller. The PERIODIC_JOB is deprecated and will be removed in a future release. Use the local.schedule.periodic_job configutil parameter instead.

Any options permitted on POOL or CHANNEL sections can be specified at the beginning (general options), thus becoming the default for the option.

The Job Controller configuration file options are described in the following three tables (Table 4–24, Table 4–25, and Table 4–26). They are split into general options, pool options, and channel options groups.

Table 4–24 shows the general Job Controller configuration options.

Table 4–24 General Job Controller Configuration File Options

Option  

Description  

COMMAND

Specifies the command to be run periodically in a PERIODIC_JOB section.

The PERIODIC_JOB is deprecated and will be removed in a future release. Use the local.schedule.periodic_job configutil parameter instead.

DEBUG=integer

If DEBUG is set to a value other than zero, the MTA writes debugging information to a file in the msg-svr-base/imta/log directory named job_controller-uniqueid, where uniqueid is a unique ID string that distinctively identifies the file name. The imsimta purge utility recognizes the uniqueids and can be used to remove older log files. The value for DEBUG is a bit mask specifying what sort of debugging information is requested:

  • 1—Trace protocol messages between the Job Controller and other MTA components.

  • 2—More detailed analysis of the messages and interactions.

  • 4—State change events.

  • 8—Trace rebuild decisions.

  • 16—Dump each queue on every queue action.

  • 32—Be cautious about deleting items from queues.

  • 64—Perform queue integrity check on every queue operation

  • 128—Verbose output about operation of select.

    Specifying bit value 16 can cause log files to grow very quickly. Specifying 32 does not generate any more output, and should only be used in extreme cases. If DEBUG is not specified, it defaults to 0.

INTERFACE_ADDRESS=adapter

Specifies the IP address interface to which the Job Controller should bind. The value specified (adapter) can be one of ANY, ALL, LOCALHOST, or an IP address. By default the Job Controller binds to all addresses (equivalent to specifying ALL or ANY). Specifying INTERFACE_ADDRESS=LOCALHOST means that the Job Controller only accepts connections from within the local machine. This does not affect normal operation, since no inter-machine operation is supported by the Job Controller. However, this may be inappropriate in an HA environment where an HA agent may be checking if the Job Controller is responding. If the machine on which the Messaging Server is running is in an HA environment, has an “internal network” adapter and an “external network” adapter, and you are not confident of your firewall’s ability to block connections to high port numbers, you should consider specifying the IP address of the “internal network” adapter.

MAX_MESSAGES=integer

The Job Controller keeps information about messages in an in-memory structure. In the event that a large backlog builds, it may need to limit the size of this structure. If the number of messages in the backlog exceeds the parameter specified here, information about subsequent messages is not kept in memory. Mail messages are not lost because they are always written to disk, but they are not considered for delivery until the number of messages known by the Job Controller drops to half this number. At this point, the Job Controller scans the queue directory mimicking an imsimta cache -sync command.

The minimum value is 10. 

The default is 100000.

REBUILD_IN_ORDER

If set to a non-zero value, then on startup the job controller adds previously untried ZZ* messages to the delivery queue in creation order. Previous (and default) behavior is to add the messages in the order in which they are found on disk. There is a cost associated with recreating the queues in order.

SECRET=file_spec

Shared secret used to protect requests sent to the Job Controller. 

SYNCH_TIME=time_spec

The Job Controller occasionally scans the queue files on disk to check for any new message files that are missing from the Job Controller’s list of messages that need to be added. By default, this takes place every four hours, starting four hours after the Job Controller is started. The format of the time_spec is HH:MM/hh:mm or /hh:mm. The variable hh.mm is the interval between the events in hours (h) and minutes (m). The variable HH:MM is the first time in a day the even should take place. For example specifying, 15:45/7:15 starts the event at 15:45 and every seven hours and fifteen minutes from then.

TCP_PORT=integer

Specifies the TCP port on which the Job Controller should listen for request packets. Do not change this unless the default conflicts with another TCP application on your system. If you do change this option, change the corresponding IMTA_JBC_SERVICE option in the MTA tailor file, msg-svr-base/config/imta_tailor, so that it matches. The TCP_PORT option applies globally and is ignored if it appears in a [CHANNEL] or [POOL] section.

TIME=time_spec

Specifies the time and frequency that a periodic job is run in a PERIODIC_JOB section. By default, this is /4:00, which means every four hours. The format of time_spec is HH:MM/hh:mm or /hh:mm. hh.mm is the interval between the events in hours (h) and minutes (m). HH:MM is the first time in a day that a job should occur. For example, specifying 15:45/7:15 starts the event at 15:45 and every seven hours and fifteen minutes from then. The PERIODIC_JOB is deprecated and will be removed in a future release. Use the local.schedule.periodic_job configutil parameter instead.

Table 4–25 describes the POOL option for the Job Controller configuration.

Table 4–25 Job Controller POOL Option

Option  

Description  

JOB_LIMIT=integer

Specifies the maximum number of processes that the pool can use simultaneously (in parallel). The JOB_LIMIT applies to each pool individually; the maximum total number of jobs is the sum of the JOB_LIMIT parameters for all pools. If set outside of a section, it is used as the default by any [POOL] section that doesn’t specify JOB_LIMIT. This option is ignored inside of a [CHANNEL] section.

Table 4–26 describes the CHANNEL options for the Job Controller configuration.

Table 4–26 Job Controller CHANNEL Options

Option  

Description  

MASTER_COMMAND=file_spec

Specifies the full path to the command to be executed by the UNIX system process created by the Job Controller to run the channel and dequeue messages outbound on that channel. If set outside of a section, it is used as the default by any [CHANNEL] section that doesn’t specify a MASTER_COMMAND. This option is ignored inside of a [POOL] section.

MAX_LIFE_AGE=integer

Specifies the maximum life time for a channel master job in seconds. If this parameter is not specified for a channel, then the global default value is used. If no default value is specified, 14400 (240 minutes) is used.

MAX_LIFE_CONNS=integer

In addition to the maximum life age parameter, the life expectancy of a channel master job is limited by the number of times it can ask the Job Controller if there are any messages. If this parameter is not specified for a channel, then the global default value is used. If no default value is specified, 300 is used.

NONURGENT_DELIVERY=time

Allows the delivery of non-urgent messages to be scheduled only between certain times as configured. The value is, a set of up to five time windows separated by a comma. Each time window is either a daily window, of the form hh:mm - hh:mm, or is a weekly window of the form day hh:mm - day hh:mm or day hh:mm - hh:mm. In this last case the window is assumed to end on the same day that it began. 

Examples of windows are: 


  18:00 - 22:00 which means between 6pm and 10pm each day  
20:00 - 06:30 which means between 8pm and 6:30am each night  
Sat 06:15 - 15:30 which means each Saturday between 6:15am and 3:30pm  
Wed 12:00 - Fri 00:00 which means between noon Wednesday and midnight between Thursday and Friday.  
Thus to specify that delivery can be attempted at night or at weekends, you could specify  22:00 - 05:30, Sat 00:00 - Sun 23:59             

Up to 5 windows can be specified for each priority levels. 

NORMAL_DELIVERY=time

Allows the delivery of non-urgent messages to be scheduled only between certain times as configured. The value is, a set of up to five time windows separated by a comma. Each time window is either a daily window, of the form hh:mm - hh:mm, or is a weekly window of the form day hh:mm - day hh:mm or day hh:mm - hh:mm. In this last case the window is assumed to end on the same day that it began. 

Examples of windows are: 


  18:00 - 22:00 which means between 6pm and 10pm each day  
20:00 - 06:30 which means between 8pm and 6:30am each night  
Sat 06:15 - 15:30 which means each Saturday between 6:15am and 3:30pm  
Wed 12:00 - Fri 00:00 which means between noon Wednesday and midnight between Thursday and Friday.  
Thus to specify that delivery can be attempted at night or at weekends, you could specify  22:00 - 05:30, Sat 00:00 - Sun 23:59             

Up to 5 windows can be specified for each priority levels. 

SLAVE_COMMAND=file_spec

Specifies the full path to the command to be executed by the UNIX system process created by the Job Controller in order to run the channel and poll for any messages inbound on the channel. Most MTA channels do not have a SLAVE_COMMAND. If that is the case, the reserved value NULL should be specified. If set outside of a section, it is used as the default by any [CHANNEL] section that doesn’t specify a SLAVE_COMMAND. This option is ignored inside of a [POOL] section.

URGENT_DELIVERY=time

Allows the delivery of non-urgent messages to be scheduled only between certain times as configured. The value is, a set of up to five time windows separated by a comma. Each time window is either a daily window, of the form hh:mm - hh:mm, or is a weekly window of the form day hh:mm - day hh:mm or day hh:mm - hh:mm. In this last case the window is assumed to end on the same day that it began. 

Examples of windows are: 


  18:00 - 22:00 which means between 6pm and 10pm each day  
20:00 - 06:30 which means between 8pm and 6:30am each night  
Sat 06:15 - 15:30 which means each Saturday between 6:15am and 3:30pm  
Wed 12:00 - Fri 00:00 which means between noon Wednesday and midnight between Thursday and Friday.  
Thus to specify that delivery can be attempted at night or at weekends, you could specify  22:00 - 05:30, Sat 00:00 - Sun 23:59             

Up to 5 windows can be specified for each priority levels. 

Dispatcher

The MTA multithreaded Dispatcher is a multithreaded connection dispatching agent that permits multiple multithreaded servers to share responsibility for a given service. When using the Dispatcher, it is possible to have several multithreaded SMTP servers running concurrently. In addition to having multiple servers for a single service, each server may handle simultaneously one or more active connections.

Dispatcher Configuration File

The Dispatcher configuration information is specified in the msg-svr-base/imta/dispatcher.cnf file. A default configuration file is created at installation time and can be used without any changes made. However, if you want to modify the default configuration file for security or performance reasons, you can do so by editing the dispatcher.cnf file.

Configuration File Format

The Dispatcher configuration file format is similar to the format of other MTA configuration files. Lines specifying options have the following form:


option=value

The option is the name of an option and value is the string or integer to which the options is set. 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 v is the actual value expressed in base b. Such option specifications are grouped into sections corresponding to the service to which the following option settings apply, using lines of the following form:


[SERVICE=service-name]

The service-name is the name of a service. Initial option specifications that appear before any such section tag apply globally to all sections.

Table 4–27 shows the available options.

Table 4–27 Dispatcher configuration file options

Option  

Description  

BACKLOG=integer

Controls the depth of the TCP backlog queue for the socket. The default value for each service is MAX_CONNS*MAX_PROCS (with a minimum value of 5). This option should not be set higher than the underlying TCP/IP kernel supports.

DEBUG

Enables debugging output. Enabling all debugging is done by setting the option to -1. The actual meaning of each bit is described in Table 4–28.

DNS_VERIFY_DOMAIN

Specifies the host name or IP address of source against which to check incoming connections. Various groups maintain information about unsolicited email sources or open relay sites. Some sites check incoming IP connections against the lists maintained by such groups. Up to five DNS_VERIFY_DOMAIN options can be specified for each service. Note that SMTP is typically the only service for which such checks make sense. For example:

[SERVICE=SMTP]

PORT=25

DNS_VERIFY_DOMAIN=rbl.maps.siroe.com

DNS_VERIFY_DOMAIN=dul.maps.siroe.com

If this option is enabled on a well known port (25, 110, or 143), then a standard message such as the one below is sent before the connection is closed: 

500 5.7.1 access_control: host 192.168.51.32 found on DNS list and rejected

If you wish the MTA to log such rejections, the 24th bit of the Dispatcher debugging DEBUG option can be set (DEBUG=16%1000000) to cause logging of the rejections to the dispatcher.log file. Log entries take the following form:

access_control: host a.b.c.d found on DNS list and rejected

ENABLE_RBL=0 or 1

This option is deprecated. You should use the DNS_VERIFY_DOMAIN option or the dns_verify callout from the PORT_ACCESS mapping table instead.

HISTORICAL_TIME=integer

Controls how long, in seconds, the expired connections (those that have been closed) and processes (those that have exited) remain listed for statistical purpose in the Dispatcher statistics. 

INTERFACE_ADDRESS=IP address

The INTERFACE_ADDRESS option can be used to specify the IP address interface to which the Dispatcher service should bind. By default, the Dispatcher binds to all IP addresses. But for systems having multiple network interfaces each with its own IP address, it may be useful to bind different services to the different interfaces. Note that if INTERFACE_ADDRESS is specified for a service, then that is the only interface IP address to which that Dispatcher service bind. Only one such explicit interface IP address may be specified for a particular service (though other similar Dispatcher services may be defined for other interface IP addresses).

IDENT=0 or 1

If IDENT=1 is set for a service, it causes the Dispatcher to try an IDENT query on incoming connections for that service, and to note the remote username (if available) as part of the Dispatcher statistics. The default is IDENT=0, meaning that no such query is made.

IMAGE=file specification

Specifies the image that is run by server processes when created by the Dispatcher. The specified image should be one designed to be controlled by the Dispatcher. 

LOGFILE=file specification

Causes the Dispatcher to direct output for corresponding server processes to the specified file. LOGFILE can include a %s which includes the local system’s hostname in the file specification. For example, LOGFILE=tcp_smtp_server_%s.log on node freddy results in log files with the name tcp_smtp_server_freddy.log-*.

MAX_CONNS=integer

Specifies a maximum number of connections that may be active on any server process. The MAX_CONNS option affects the Dispatcher’s management of connections. The default value for MAX_CONNS is 10. The maximum possible value for MAX_CONNS is 50.

The choice of setting this option is mainly a performance issue relating to the number of processes and the size of the process virtual address space. 

Setting MAX_CONNS to higher values allows more connections, but at the potential cost of decreased performance for each individual connection. If it is set to 1, then for every incoming client connection, only one server process is used. Note that the value of MAX_CONNS multiplied by the value of MAX_PROCS controls the maximum number of simultaneous connections that can be accepted.

MAX_HANDOFFS=integer

Specifies the maximum number of concurrent asynchronous handoffs in progress that the Dispatcher allows for newly established TCP/IP connections to a service port. A suitable way to calculate an appropriate value is to determine the expected connection rate per second and divide that number by 2. For example, if you need to handle 100 connections per second, you can guesstimate that half a second is a reasonable hand off time on a sufficiently capable system, so an appropriate value might be MAX_HANDOFFS=50. The default value is 5.

MAX_IDLE_TIME=integer

Specifies the maximum idle time, in seconds, for a server process. When an server process has had no active connections for this period, it becomes eligible for shutdown. This option is only effective if there are more than the value of MIN_PROCS server processes currently in the Dispatcher’s pool for this service.

MAX_LIFE_CONNS

Specifies the maximum number of connections an server process can handle in its lifetime. Its purpose is to perform worker-process housekeeping. 

MAX_LIFE_TIME=integer

Requests that server processes be kept only for the specified number of seconds. This is part of the Dispatcher’s ability to perform worker-process housekeeping. When an server process is created, a countdown timer is set to the specified number of seconds. When the countdown time has expired, the SMTP server process is subject to shutdown. Default value is 86400 (one day).

MAX_PROCS=integer

Controls the maximum number of server processes that are created for this service. 

MAX_SHUTDOWN=integer

Specifies the maximum number of server processes which can be in the shutdown state. In order to provide a minimum availability for the service, the Dispatcher does not shut down server processes that might otherwise be eligible for shutdown if shutting them down results in having more than MAX_SHUTDOWN server processes for the service in the shutdown statue. This means that processes that are eligible for shutdown can continue running until a shutdown “slot” is available.

MIN_CONNS=integer

Determines the minimum number of connections that each Worker Process must have before considering the addition of a new server process to the pool of currently available server processes. The Dispatcher attempts to distribute connections evenly across this pool. 

MIN_PROCS=integer

Determines the minimum number of server processes that are created by the Dispatcher for the current service. Upon initialization, the Dispatcher creates this many detached processes to start its pool. When a process is shut down, the Dispatcher ensures that there are at least this many available processes in the pool for this service. 

PARAMETER

The interpretation and allowed values for the PARAMETER option are service specific. In the case of an SMTP service, the PARAMETER option may be set to CHANNEL=channelname, to associate a default TCP/IP channel with the port for that service. For instance:

[SERVICE=SMTP_SUBMIT]

PORT=587

...

PARAMETER=CHANNEL=tcp_incoming

This can be useful if you want to run servers on multiple ports—if your internal POP and IMAP clients have been configured to use a port other than the normal port 25 for message submission, separating their message traffic from incoming SMTP messages from external hosts—and if you want to associate different TCP/IP channels with the different port numbers. 

PORT=integer...

Specifies the TCP port(s) to which the Dispatcher listens for incoming connections for the current service. Connections made to this port are transferred to one of the SMTP server processes created for this service. Specifying PORT=0 disables the current service.

STACKSIZE

Specifies the thread stack size of the server. The purpose of this option is to reduce the chances of the server running out of stack when processing deeply nested MIME messages (several hundreds of levels of nesting). Note that these messages are in all likelihood spam messages destined to break mail handlers. Having the server fail protects other mail handlers farther down the road. 

TLS_PORT

To enable TLS for a Dispatcher service, add a TLS_PORT option to the configuration for that service. For example, to add TLS support on port 465 for SMTP (the established port for SMTP TLS use), you would use:


[SERVICE=SMTP] 
PORT=25 
TLS_PORT=465 
... 

Debugging and Log Files

Dispatcher error and debugging output (if enabled) are written to the file dispatcher.log in the MTA log directory.

Debugging output may be enabled using the option DEBUG in the Dispatcher configuration file, or on a per-process level, using the IMTA_DISPATCHER_DEBUG environment variable (UNIX).

The DEBUG option or IMTA_DISPATCHER_DEBUG environment variable (UNIX) defines a 32-bit debug mask in hexadecimal. Enabling all debugging is done by setting the option to -1, or by defining the logical or environment variable system-wide to the value FFFFFFFF. The actual meaning of each bit is described in Table 4–28.

Table 4–28 Dispatcher Debugging Bits

Bit 

 

Hexadecimalvalue  

Decimalvalue  

Usage 

 

x 00001 

Basic Service Dispatcher main module debugging. 

x 00002 

Extra Service Dispatcher main module debugging. 

x 00004 

Service Dispatcher configuration file logging. 

x 00008 

Basic Service Dispatcher miscellaneous debugging. 

x 00010 

16 

Basic service debugging. 

x 00020 

32 

Extra service debugging. 

x 00040 

64 

Process related service debugging. 

x 00080 

128 

Not used. 

x 00100 

256 

Basic Service Dispatcher and process communication debugging. 

x 00200 

512 

Extra Service Dispatcher and process communication debugging. 

10 

x 00400 

1024 

Packet level communication debugging. 

11 

x 00800 

2048 

Not used. 

12 

x 01000 

4096 

Basic Worker Process debugging. 

13 

x 02000 

8192 

Extra Worker Process debugging. 

14 

x 04000 

16384 

Additional Worker Process debugging, particularly connection hand-offs. 

15 

x 08000 

32768 

Not used. 

16 

x 10000 

65536 

Basic Worker Process to Service Dispatcher I/O debugging. 

17 

x 20000 

131072 

Extra Worker Process to Service Dispatcher I/O debugging. 

20 

x 100000 

1048576 

Basic statistics debugging. 

21 

x 200000 

2097152 

Extra statistics debugging. 

24 

x 1000000 

16777216 

Log PORT_ACCESS denials to the dispatcher.log file. 

SMS Channel Option File

The Messaging Server SMS (Short Message Service) channel is a one-way email to SMS gateway. Mail can be sent to an SMS gateway, but handling of SMS notifications (that is, replies and delivery receipts) and origination of email from SMS users (mobile to email) is presently not supported. The channel converts enqueued email messages to SMS messages. This conversion process includes handling of multipart MIME messages as well as character set translation issues.

The generated SMS messages are submitted to a Short Message Service Centre (SMSC) using the Short Message Peer to Peer (SMPP) protocol. Specifically, SMPP V3.4 is used over a TCP/IP connection to the SMSC’s SMPP server. Operating in this capacity, the channel functions as a External Short Message Entity (ESME).

For more information about the SMS channel, see the Sun Java System Messaging Server Administration Guide.

An option file may be used to control various characteristics of the SMS channel. The channel options are stored in a text file in the msg-svr-base/config/ directory. The name of the file takes the form:

channel-name_option

For instance, if the channel is named sms_mway, then the channel option file is:

msg-svr-base/config/sms_mway_option

Format of the File

Each option is placed on a single line in the file using the format:


option-name=option-value

For example:


PROFILE=GSM
SMSC_DEFAULT_CHARSET=iso-8859-1
USE_UCS2=1

A sample option file named sms_option.sample is distributed with Sun Java System Messaging Server. Copy this option file and use it as a starting point.

Available Options

The SMS channel contains a number of options which divide into four broad categories: email to SMS conversion, SMS fields, SMPP protocol, and localization. These categories and their corresponding options are detailed in the following sections.

Email to SMS Conversion

The email to SMS conversion options control the email to SMS conversion process. In general, a given email message may be converted into one or more SMS messages. These options are described in Table 4–29.

Table 4–29 SMS Channel Options: Email to SMS Conversion

Option  

Description  

GATEWAY_NOTIFICATIONS

Specify whether or not to convert email notification messages to SMS messages. 

Default: 0

MAX_MESSAGE_PARTS (Integer)

Maximum number of message parts to extract from an email message. 

When converting a multi-part email message to an SMS message, only the first MAX_MESSAGE_PARTS text parts will be converted. The remaining parts are discarded. By default, MAX_MESSAGE_PARTS is 2. To allow an unlimited number of message parts, specify a value of -1. When a value of 0 is specified, then no message content will be placed into the SMS message. This has the effect of using only header lines from the email message (for example, Subject:) to generated the SMS message.

Note that an email message containing both text and an attachment will typically consist of two parts. Note further that only message parts of type text are converted. All other MIME content types are discarded. 

MAX_MESSAGE_SIZE (Integer, >=10)

Maximum number of bytes to extract from an email message. 

With this option, an upper limit may be placed on the total number of bytes placed into the SMS messages generated from an email message. Specifically, a maximum of MAX_MESSAGE_SIZE bytes will be used for the one or more generated SMS messages. Any additional bytes are discarded.

By default, an upper limit of 960 bytes is imposed. This corresponds to MAX_MESSAGE_SIZE=960. To allow any number of bytes, specify a value of zero.

The count of bytes used is made after converting the email message from Unicode to either the SMSC’s default character set or UCS2. This means, in the case of UCS2, that a MAX_MESSAGE_SIZE of 960 bytes will yield, at most, 480 characters since each UCS2 character is at least two bytes long.

Note that the MAX_MESSAGE_SIZE and MAX_PAGES_PER_MESSAGE options both serve the same purpose: to limit the overall size of the resulting SMS messages. For example, MAX_MESSAGE_SIZE=960 and MAX_PAGE_SIZE=160 implies MAX_PAGES_PER_MESSAGE=6. The two different options exist to allow control of the overall size or number of pages without having to consider the maximal size of a single SMS message, MAX_PAGE_SIZE. While this may not be important in the channel option file, it is important when using the MAXPAGES or MAXLEN addressing attributes described in the Sun Java System Messaging Server 6.3 Administration Guide.

Finally, note that the smaller of the two limits of MAX_MESSAGE_SIZE and MAX_PAGE_SIZE * MAX_PAGES_PER_MESSAGE is used.

MAX_PAGE_SIZE (Integer, >=10)

Maximum number of bytes to allow into a single SMS message. By default, a value of 160 bytes is used. 

MAX_PAGES_PER_MESSAGE (Integer, 1-255)

Maximum number of SMS messages to generate for a given email message. This option truncates the email message, only converting to SMS messages that part of the email message which fits into MAX_PAGES_PER_MESSAGE SMS messages.

By default, MAX_PAGES_PER_MESSAGE is set to the larger of 1 or MAX_MESSAGE_SIZE divided by MAX_PAGE_SIZE.

ROUTE_TO

Route SMS messages to the specified IP host name. 

SMSC_DEFAULT_CHARSET (string)

Default character set used by the SMSC. The character set names in the msg-svr-base/imta/confic/charsets.txt file are used. US-ASCII is the default.

When processing an email message, the header lines and text message parts are first decoded and then converted to Unicode. Next, the data is converted to either the SMCS’s default character set or USC2, as follows: 

  • 1—The SMSC default character set is used whenever possible. When the originating email message contains glyphs not in the SMSC default character set, then the UCS2 character set is used.

  • 0—The SMSC default character set is always used. Glyphs nor available in that character set are represented by mnemonics (for example, “AE” for AE-ligature).

USE_HEADER_FROM

Set this option to allow the From: address to be passed to the SMS channel. The value indicates where the From: address is taken from and what format it will have.

0—SMS source address never set from the From: address. Use attribute-value pair found

1—SMS source address set to from-local@from-domain, where the From: address is: @from-route:from-local@from-domain

2—SMS source address set to from-local, where the From: address is: @from-route:from-local@from-domain

Default: 0

USE_HEADER_PRIORITY (0 or 1)

Controls the use of priority information from the email message’s header (RFC822 Priority: header lines). By default, information from the Priority: header line is used to set the resulting SMS message’s priority flag, overriding the default SMS priority specified with the DEFAULT_PRIORITY option. This case corresponds to USE_HEADER_PRIORITY=1. To disable use of the RFC822 Priority: header line, specify USE_HEADER_PRIORITY=0.

The default is USE_HEADER_PRIORITY =1.

See the description of the DEFAULT_PRIORITY option for further information on the handling the SMS priority flag.

USE_HEADER_REPLY_TO (0 or 1)

Controls the use of Reply-to: header lines when generating SMS source addresses. When SET_SMS_SOURCE_ADDRESS=1, this option controls whether or not a Reply-to: or Resent-reply-to: header line is considered for use as the SMS source address. By default, Reply-to: and Resent-reply-to: header lines are ignored. This corresponds to an option value of 0. To enable consideration of these header lines, use an option value of 1.

Note that RFC 2822 has deprecated the use of Reply-to: and Resent-reply-to: header lines. This is the reason why, by default, USE_HEADER_REPLY_TO=0.

USE_HEADER_RESENT (0 or 1)

Controls the use of Resent-*: header lines when generating originator information. When SET_SMS_SOURCE_ADDRESS=1, this option controls whether or not Resent- header lines are considered for use as the SMS source address. By default, Resent- header lines are ignored. This corresponds to an option value of 0. To enable consideration of these header lines, use an option value of 1.

Note that RFC 2822 has deprecated the use of Resent- header lines; hence, why this option has the default value of 0.

USE_HEADER_SENSITIVITY (0 or 1)

Controls the use of privacy information from the email message’s header (RFC822 Sensitivity: header lines).By default, information from the Sensitivity: header line is used to set the resulting SMS message’s privacy flag, overriding the default SMS privacy specified with the DEFAULT_PRIVACY option. This case, which is the default, corresponds to USE_HEADER_SENSITIVITY=1. To disable use of RFC822 Sensitivity: header lines, specify USE_HEADER_SENSITIVITY=0.

See the description of the DEFAULT_PRIVACY option for further information on the handling the SMS privacy flag.

USE_UCS2 (0 or 1)

Specifies that the UCS2 character set is to be used in SMS messages when applicable. The default behavior is to use the UCS2 character set, and corresponds to USE_UCS2=1. To disable the use of the UCS2 character set, specify USE_UCS2=0. See the description of the SMSC_DEFAULT_CHARSET option for further information on character set issues.

SMS Gateway Server Option

The SMS Gateway Server Option specifies the Gateway profile. shows. This option is described in Table 4–30.

Table 4–30 SMS Channel Options: SMS Gateway Server Option

Option  

Description  

GATEWAY_PROFILE

Match the gateway profile name configured in the SMS Gateway Server’s configuration file, sms_gateway.cnf.

SMS Fields

The SMS fields options control SMS-specific fields in generated SMS messages. These options are described in Table 4–31.

Table 4–31 SMS Channel Options: SMS Fields

Option  

Description  

DEFAULT_DESTINATION_NPI (Integer, 0-255)

Default NPI for SMS destination addresses. By default, destination addresses are assigned an NPI (Numeric Plan Indicator) value of zero. With this option, an integer value in the range 0 to 255 may be assigned. Typical NPI values include:

0—Unknown

1—ISDN (E.163, E.164)

3—Data (X.121)

4—Telex (F.69)

6—Land Mobile (E.212)

8—National

9—Private

10—ERMES

14—IP address (Internet)

18—WAP client ID

>=19— Undefined

Values for this option may be specified in one of three ways: 

  • A decimal value (for example, 10).

  • A hexadecimal value prefixed by 0x (for example, 0x0a).

  • One of the following case-insensitive text strings (the associated decimal value is shown in parentheses): data (3), default (0), e.163 (1), e.212 (6), ermes (10), f.69 (4), internet (14), ip (14), isdn (1), land-mobile (6), national (8), private (9), telex (4), unknown (0), wap (18), x.121 (3).

DEFAULT_DESTINATION_TON (Integer, 0-255)

Default TON for SMS destination addresses. By default, destination addresses are assigned a TON (Type of Number) designator value of zero. With this option, an alternate integer value in the range of 0 to 255 may be assigned. Typical TON values include:

0—Unknown

1—International

2—National

3—Network- specific

4—Subscriber number

5—Alphanumeric

6—Abbreviated

>=7—Undefined

Values for this option may be specified in one of three ways: 

  • A decimal value (for example, 10).

  • A hexadecimal value prefixed by 0x (for example, 0x0a).

  • One of the following case-insensitive text strings (the associated decimal value is shown in parentheses): abbreviated (6), alphanumeric (5), default (0), international (1), national (2), network-specific (3), subscriber (4), unknown (0).

DEFAULT_PRIORITY (Integer, 0-255)

Default priority setting for SMS messages. All SMS messages have a mandatory priority field. The interpretation of SMS priority values is described in Table 4–32.

With this option, the default priority to assign to SMS messages may be specified. When not specified, a default priority of 0 is used for PROFILE=GSM and CDMA, and a priority of 1 for PROFILE=TDMA.

Note that if USE_HEADER_PRIORITY=1 and an email message has an RFC822 Priority: header line, then the priority specified in that header line is instead used to set the priority of the resulting SMS message. Specifically, the results are as follows:

0—The SMS priority flag is always set in accord with the DEFAULT_PRIORITY option. The RFC822 Priority: header line is always ignored.

1 (default)—The originating email message’s RFC822 Priority: header line is used to set the SMS message’s priority flag. If that header line is not present, then the SMS priority flag is set using the DEFAULT_PRIORITY option.

In translating RFC822 Priority: header line values to SMS priority flags, the mappings used are described in Table 4–33.

DEFAULT_PRIVACY (Integer, -1, 0-255)

Default privacy value flag for SMS messages. Whether or not to set the privacy flag in an SMS message, and what value to use is controlled by the DEFAULT_PRIVACY and USE_HEADER_SENSITIVITY options. By default, a value of -1 is used for DEFAULT_PRIVACY.

The results from the combination of DEFAULT_PRIVACY and USE_HEADER_SENSITIVITY values are described in Table 4–34.

The SMS interpretation of privacy values is as follows: 

  • 0—Unrestricted

  • 1—Restricted

  • 2—Confidential

  • 3—Secret

  • >=4—Undefined

    To translate Sensitivity: header line values to SMS privacy values, the following mapping is used:

  • Personal—1 (Restricted

  • Private—2 (Confidential)

DEFAULT_SERVICE_TYPE (String, 055 bytes)

SMS application service associated with submitted SMS messages. By default, no service type is specified (that is, a zero length string). Some common service types are: CMT (cellular messaging), SPT (cellular paging), VMN (voice mail notification), VMA (voice mail alerting), WAP (wireless application protocol), and USSD (unstructured supplementary data services). 

DEFAULT_SOURCE_ADDRESS (String, 0-20 bytes)

Default SMS source address to use for SMS messages generated from email messages. Note that the value specified with this option is typically overridden by the email message’s originator address when SET_SMS_SOURCE_ADDRESS=1. The default is no source address is specified (0 length string).

DEFAULT_SOURCE_NPI (Integer, 0-255)

Default NPI for SMS source addresses. By default, source addresses are assigned an NPI value of zero. With this option, an alternate integer value in the range of 0 to 255 may be assigned. See the description of the DEFAULT_DESTINATION_NPI option for a list of typical NPI values.

DEFAULT_SOURCE_TON (Integer, 0-255)

Default TON for SMS source addresses. By default, source addresses are assigned a TON designator value of zero. With this option, an alternate integer value in the range of 0 to 255 may be assigned. See the description of the DEFAULT_DESTINATION_TON option for a list of typical TON values.

DEFAULT_VALIDITY_PERIOD (String, 0-252 bytes)

Default validity period for SMS messages. This option specifies a different relative validity period. By default, SMS messages are given no relative validity period, using the SMSC’s default value. Values may be specified in units of seconds, minutes, hours, or days: 

nnn—Implicit units of seconds; for example, 604800nnns—Units of seconds; for example, 604800snnnm—Units of minutes; for example, 10080mnnnh—Units of hours; for example, 168hnnnd—Units of days, for example, 7d

A specification of 0, 0s, 0m, 0h, or 0d may be used to select the SMSC’s default validity period. That is, when a specification of 0, 0s, 0m, 0h, or 0d is used, an empty string is specified for the validity period in generated SMS messages.

Note that this option does not accept values in UTC format. 

DEFAULT_ADDRESS_NUMERIC (0 or 1)

Reduce the destination SMS address to only the characters 0-9. This option strips all non-numeric characters from the SMS destination address extracted from the email envelope To: address. For instance, if the envelope To: address is: 

"(800) 555-1212"@sms.siroe.com

then it will be reduced to: 

8005551212@sms.siroe.com

To enable this stripping, specify a value of 1 for this option. By default, this stripping is disabled which corresponds to an option value of 0. Note that when enabled, the stripping is performed before any destination address prefix is added via the DESTINATION_ADDRESS_PREFIX option.

DESTINATION_ADDRESS_PREFIX (String)

Text string with which to prefix destinationSMS addresses. In some instances, it may be necessary to ensure that all SMS destination addresses are prefixed with a fixed text string; for example, “+”. This option may be used to specify just such a prefix. The prefix will then be added to any SMS destination address which lacks the specified prefix. To prevent being stripped by the DESTINATION_ADDRESS_NUMERIC option, this option is applied after the DESTINATION_ADDRESS_NUMERIC option.

PROFILE (String)

Specifies the SMS profile to use with the SMSC. Possible values are GSM, TDMA, and CDMA. When not specified, GSM is assumed. This option is only used to select defaults for other channel options such as DEFAULT_PRIORITY and DEFAULT_PRIVACY.

SET_SMS_SOURCE_ADDRESS (0 or 1)

Set the SMS source address to the originator address of the email message. Use of this option forces the SMS source address TON to be set to alphanumeric (0x05), and the SMS source address to be an originator address extracted from the email message. As email messages may have a number of originator addresses, the particular address chosen is the one most likely to be the address to which any replies should be directed. Consequently, the choice is made from one of the seven header lines described in Table 4–35, listed in order of decreasing preference:

The selected address is reduced to just its local and domain parts; that is, any source route, phrase, or comments are stripped from the address. Furthermore, if the length of the reduced address exceeds 20 bytes, it will be truncated to 20 bytes. 

When none of the seven listed header lines are suitable, the default source SMS address is instead used as specified with the DEFAULT_SOURCE_ADDRESS option. In that case, the TON is set as per the DEFAULT_SOURCE_TON.

To enable this option, specify SET_SMS_SOURCE_ADDRESS=1. By default, this option is enabled.

USE_SAR (0 or 1)

Sequence multiple SMS messages using the SMS sar_fields. Sufficiently large email messages may need to be broken into multiple SMS messages. When this occurs, the individual SMS messages can optionally have sequencing information added using the SMS sar_ fields. This produces a “segmented” SMS message which can be re-assembled into a single SMS message by the receiving terminal. Specify USE_SAR=1 to indicate that this sequencing information is to be added when applicable. The default is to not add sequencing information and corresponds to USE_SAR=0.

When USE_SAR=1 is specified, the REVERSE_ORDER option is ignored.

Table 4–32 describes the interpretation of the priority field for the DEFAULT_PRIORITY option.

Table 4–32 Priority Fields for DEFAULT_PRIORITY

Value  

GSM  

TDMA  

CDMA  

Non-priority 

Bulk 

Normal 

Priority 

Normal 

Interactive 

Priority 

Urgent 

Urgent 

Priority 

Urgent 

Emergency 

Table 4–33 describes the mappings used in translating Priority: header line values to SMS priority flags for the DEFAULT_PRIORITY option.

Table 4–33 Mappings for Priority Flags

RFC822  

SMS Priority Flag  

 

 

Priority: value  

GSM  

TDMA  

CDMA  

Third 

Non-priority (0) 

Bulk (0) 

Normal (0) 

Second 

Non-priority (0) 

Bulk (0) 

Normal (0) 

Non-urgent 

Non-priority (0) 

Bulk (0) 

Normal (0) 

Normal 

Non-priority (0) 

Normal (1) 

Normal (0) 

Urgent 

Priority (1) 

Urgent (2) 

Urgent (2) 

The results from the combination of DEFAULT_PRIVACY and USE_HEADER_SENSITIVITY values are described in Table 4–34.

Table 4–34 Results from DEFAULT_PRIVACY and USE_HEADER_SENSITIVITY Values

DEFAULT_PRIVACY  

USE_HEADER_SENSITIVITY  

Result  

The SMS privacy flag is never set in SMS messages. 

n >=0 

The SMS privacy flag is always set to the value n. RFC822 Sensitivity: header lines are always ignored. 

-1 (default 

1 (default) 

The SMS message’s privacy flag is only set when the originating email message has an RFC822 Sensitivity: header line. In that case, the SMS privacy flag is set to correspond to the Sensitivity: header line’s value. This is the default.

n >= 0 

The SMS message’s privacy flag is set to correspond to the originating email message’s RFC822 Sensitivity: header line. If the email message does not have a Sensitivity: header line, then the value of the SMS privacy flag is set to n.

Table 4–35 describes the seven header lines used with the SET_SMS_SOURCE_ADDRESS option, their restrictions and SMS source address TON (if applicable) in decreasing preference.

Table 4–35 SET_SMS_SOURCE_ADDRESS Header Restrictions

Email message field  

Restrictions  

TON  

1. Resent-reply-to: 

Requires USE_HEADER_RESENT=1 and USE_HEADER_REPLY_TO=1

 

2. Resent-from: 

Requires USE_HEADER_RESENT=1

 

3. Reply-to: 

Requires USE_HEADER_REPLY_TO=1

0x05 

4. From: 

   

5. Resent-sender: 

Requires USE_HEADER_RESENT=1

 

6. Sender: 

   

7.Envelope From: 

   

8. DEFAULT_SOURCE_ADDRESS

Used as a last resort (that is, when the envelope From: address is empty) 

As per DEFAULT_SOURCE_TON

SMPP Protocol

The SMPP protocol options are associated with the use of the SMPP protocol over TCP/IP. The options with names beginning with the string “ESME_” serve to identify the MTA when it acts as an External Short Message Entity (ESME); that is, when the MTA binds to an SMPP server in order to submit SMS messages to the server’s associated SMSC. These options are described in Table 4–36.

Table 4–36 SMS Channel Options: SMPP Protocol

Option  

Description  

ESME_ADDRESS_NPI (Integer, 0-255)

ESME NPI to specify when binding to the SMPP server. By default, bind operations specify an ESME NPI value of zero indicating an unknown NPI. With this option, an alternate integer value in the range 0 to 255 may be assigned. See the description of the DEFAULT_DESTINATION_NPI option for a table of typical NPI values.

ESME_ADDRESS_TON (Integer, 0-255)

ESME TON to specify when binding to the SMPP server. By default, bind operations specify an ESME TON value of 0. With this option, an alternate integer value in the range 0 to 255 may be assigned. See the description of the DEFAULT_DESTINATION_TON option for a table of typical TON values.

ESME_IP_ADDRESS (String, 0-15 bytes)

IP address of the host running Messaging Server. When binding to the SMPP server, the bind PDU indicates that the client’s (that is, ESME’s) address range is an IP address. This is done by specifying a TON of 0x00 and an NPI of 0x0d. The value of the address range field is then set to be the IP address of the host running the SMS channel. Specify the IP address in dotted decimal format; for example, 127.0.0.1.

ESME_PASSWORD (String, 0-9 bytes)

Password to present when binding to the SMPP server. If a password is required, then specify it with this option. By default, a zero-length password string is presented. 

ESME_SYSTEM_ID (String, 0-15 bytes)

System identification to present to the SMSC when binding. If a password is required, then specify it with this option. By default, a zero-length password string is presented. 

ESME_SYSTEM_TYPE (String, 0-12 bytes)

System type for the MTA to present to the SMSC when binding. By default, no system type is specified (that is, a zero-length string is used). 

MAX_PAGES_PER_BIND (Integer, >=0)

Maximum number of SMS messages to submit during a single session with an SMPP server. Some SMPP servers may limit the maximum number of SMS messages submitted during a single, bound session. In recognition of this, this option allows specification of the maximum number of SMS messages to submit during a single session. Once that limit is reached, the channel unbinds, closes the TCP/IP connection, re-connects, and then rebinds. 

By default, a value of 1024 is used for MAX_PAGES_PER_BIND. Note that the channel also detects ESME_RTHROTTLED errors and adjusts MAX_PAGES_PER_BIND during a single run of the channel accordingly.

REVERSE_ORDER (0 or 1)

Transmission sequence of multi-part SMS messages. When an email message generates more than one SMS message, those SMS messages can be submitted to the SMSC in sequential order (REVERSE_ORDER=0), or reverse sequential order (REVERSE_ORDER=1). Reverse sequential order is useful for situations where the receiving terminal displays the last received message first. In such a case, the last received message will be the first part of the email message rather than the last. By default, REVERSE_ORDER=1 is used.

Note that this option is ignored when USE_SAR=1 is specified.

SMPP_MAX_CONNECTIONS (Integer, 1-50)

Maximum number of simultaneous SMPP server connections per process. As each connection has an associated thread, this option also places a limit on the maximum number of “worker” threads per process. By default, SMPP_MAX_CONNECTIONS=20.

SMPP_PORT (Integer, 1-65535)

TCP port on which the SMPP server listens. The TCP port may be specified with either this option or the port channel keyword. This port number must be specified through either of these two mechanisms. If it is specified with both mechanisms, then the setting made with the SMPP_PORT option takes precedence. Note that there is no default value for this option.

SMPP_SERVER (String, 1-252 bytes)

Host name of the SMPP server to which to connect. By default, the IP host name of the SMPP server to which to connect is the official host name associated with the channel; that is, the host name shown on the second line of the channel’s definition in MTA’s configuration. This option may be used to specify a different host name or IP address which overrides that specified in the channel definition. When specifying an IP address, use dotted decimal notation; for example, 127.0.0.1

TIMEOUT (Integer, >=2)

Timeout for completion of read and write actions with the SMPP server. By default, a timeout of 30 seconds is used when waiting for data “writes” to the SMPP server to complete or for data to be received from the SMPP server. Use the TIMEOUT option to specify, in units of seconds, a different timeout value. The specified value should be at least 2 seconds.

Localization

The Localization options allow for localization of text fields inserted into SMS messages. These options are described in Table 4–37. In constructing SMS messages, the SMS channel has a number of fixed text strings it places into those messages. These strings, for example, introduce the email’s From: address and Subject: header line. With the channel options described below, versions of these strings may be specified for different languages and a default language for the channel then specified. This section of the option file appears as follows:


LANGUAGE=default-language

[language=i-default]FROM_PREFIX=From:SUBJECT_PREFIX=Subj:
CONTENT_PREFIX=Msg:LINE_STOP= NO_MESSAGE=[no message]REPLY_PREFIX=Re:

[language=en]FROM_PREFIX=From:SUBJECT_PREFIX=Subj:
CONTENT_PREFIX=Msg:LINE_STOP= NO_MESSAGE=[no message]REPLY_PREFIX=Re: ...

Within each [language=x] block, the localization options relevant to that language may be specified. If a particular option is not specified within the block, then the global value for that option is used. A localization option specified outside of a [language=x] block sets the global value for that option.

For the options listed below, the string values must be specified using either the US-ASCII or UTF-8 character sets. Note that the US-ASCII character set is a special case of the UTF-8 character set.

Table 4–37 SMS Channel Options: Localization

Option  

Description  

CONTENT_PREFIX (String, 0-252 bytes)

Text string to place in the SMS message before the content of the email message itself. Default global value is the US-ASCII string “Msg:”.

DSN_DELAYED_FORMAT

Formatting string for delivery delay notifications 

DSN_FAILED_FORMAT

Formatting string for delivery failure notifications 

DSN_RELAYED_FORMAT

Formatting string for relay notifications. 

DSN_SUCCESS_FORMAT

Formatting string to successful delivery notifications. 

FROM_FORMAT (String, 0-252 bytes)

Text to display indicating the originator of the email message. The default global value is the US-ASCII string “$a” which substitutes in the originator’s email address.

FROM_NONE (String, 0-252 bytes)

Text to display when there is no originator address to display. The default global value is an empty string. 

Note that normally, this option is never used as sites typically reject email messages which lack any originator address. 

LANGUAGE (String, 0-40 bytes)

Language group from which to select text fields. If not specified, the language is derived from the host’s default locale specification. If the host’s locale specification is not available or corresponds to “C” then i-default is used. (i-default corresponds to “English text intended for an international audience.”) 

LINE_STOP (String, 0-252 bytes)

Text to place at the end of each line extracted from the email message. The default global value is the US-ASCII space character. 

NO_MESSAGE (String, 0-252 bytes)

Text to indicate that the message contains no content. The default global value is the US-ASCII string “[no message]”.

REPLY_PREFIX (String, 0-252 bytes)

Reserved for future use. The default global value is the US-ASCII string “Re: “.

SUBJECT_FORMAT (String, 0-252 bytes)

Formatting template to format the content of the Subject: header line for display in the SMS message. The global default value for this option is the US-ASCII string “($s)”.

See the SUBJECT_NONE option for a description of the handling when there is no Subject: header line or the content of that header line is an empty string.

SUBJECT_NONE (String, 0-252 bytes)

Text to display when no subject exists for the email message, or the Subject: header line’s value is an empty string. The default global value for this option is the empty string. 

Miscellaneous

Debug: Enable verbose debug output.