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.
Letter | Units |
---|---|
s
|
Seconds |
m
|
Minutes |
h
|
Hours |
d
|
Days |
w
|
Weeks |
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
'