Полезная информация


sendmailSearch this book
Previous: 34.4 Alphabetical Table of All OptionsChapter 34
Next: 34.6 Interrelating Options

34.5 Option Argument Types

The second column of Table 34.4 shows the type of the argument for each option. The allowable types are the following:


A Boolean-type argument can have only one of two possible values: true or false. If the Boolean argument is present, its first letter is compared to the four letters T, t, Y, and y. If that first letter matches any of those four, the option is set to true; otherwise, it is set to false. If a Boolean argument is absent, the option defaults to true. For example,

Oc                          <- Boolean absent, `c' is set true.
OcTrue                      <- Boolean=`T'rue, `c' is set true.
OcFalse                     <- Boolean=`F'alse, `c' is set false.

and beginning with V8.7, you can also do this:

O HoldExpensive             <- Boolean absent, option is set true.
O HoldExpensive=True        <- Boolean=`T'rue, option is set true.
O HoldExpensive=False       <- Boolean=`F'alse, option is set false.


A character type is a single ASCII character. Options that take a single character as an argument may also take a whole word or sentence, but in that case, only the first character is recognized:

Odb                         <- b for background mode
Odbackground                <- same

Beginning with V8.7 the same form looks like this:

O DeliveryMode=b            <- b for background mode
O DeliveryMode=background   <- same

The argument is case-sensitive, that is, the character b is considered to be different from the character B:

Odb                         <- b for background mode
OdB                         <- meaningless


A numeric type is an ASCII representation of an integer value. It may be positive, zero, or negative. The base is determined after any leading sign is handled. A leading 0 causes the octal base to be used. A leading 0x or 0X causes the hexadecimal base to be used. Otherwise, a decimal base is used (see atoi(3)). Decimal is best to use for options like the hop count (option h):

Oh15                        <- decimal for hop count
O MaxHopCount=15            <- decimal for hop count V8.7 style


A string type is a line of ASCII text. A string is all text from the single-character option name up to the end of the line. If the following line is a continuation line (one that begins with a tab or a space), it is joined (appended) to the string. Prior to V8 the maximum length of a string was defined by MAXLINE in conf.h. Beginning with V8 sendmail, strings may be of virtually unlimited length. If the string is quoted, the quotation marks are not stripped by sendmail:

OA/etc/aliases              <- location of the aliases file
OA"/etc/aliases"            <- bad, quotes are retained

Beginning with V8.7, the string is considered to begin at the first nonspace character following the = character of a multicharacter option declaration:

O AliasFile =  /etc/aliases
               from here


An octal type is like the numeric type above but is always interpreted as an octal (base 8) number even if the leading zero is absent. This type is specially designed for file permissions:

OF0600                      <- octal for file permissions
OF600                       <- octal even without the leading zero
O TempFileMode=0600         <- octal for file permissions V8.7 style


A time type is the expression of a period of time. Time is expressed as a number modified by a trailing letter. The recognized letters (shown in Table 34.5 determine what the number means. For example, 24h means 24 hours, and 15m means 15 minutes.

Table 34.5: Option Time Argument Units

Times may be mixed; for example, 1h30m means one hour and 30 minutes. If the letter modifier is missing, pre-V8 versions of sendmail default the time to days:

Or2h                       <- SMTP timeout is 2 hours
OT2                        <- life in queue is 2 days

V8 sendmail uses different default units depending on the specific option. For consistent results, always include the units for all versions of sendmail. Prior to V8.7, unrecognized unit characters (such as j when you really meant h) would silently default to days. Beginning with V8.7, unrecognized unit characters cause sendmail to print the following error and default the units to those specified by the particular option:

Invalid time unit `character'

Previous: 34.4 Alphabetical Table of All OptionssendmailNext: 34.6 Interrelating Options
34.4 Alphabetical Table of All OptionsBook Index34.6 Interrelating Options