Previous Section Next Section

24.7 Interrelating Options

At the end of this chapter we describe all the options in detail, with those descriptions in alphabetical order for easy lookup. Here, we present them grouped by application with only a brief description.

24.7.1 File Locations

sendmail knows the location of only its configuration file.[6] Options in the configuration file tell sendmail where all other files and directories are located. The options that specify file locations are summarized in Table 24-6. All file location options are of type string.

[6] Beginning with V8.6 sendmail, it also knows the location of its default pid file.

Table 24-6. File location options

Option name

 

§

File

AliasFile

(A)

AliasFile

Aliases file and its database files

CACertFile

 

CACertFile

File containing certificates for certificate authorities

CACertPath

 

CACertPath

Directory with certificates of certificate authorities

ClientCertFile

 

ClientCertFile

File containing the client's public certificate

ClientKeyFile

 

ClientKeyFile

File with the client certificate's private key

ControlSocketName

 

ControlSocketName

Path to control socket

DeadLetterDrop

 

DeadLetterDrop

Define dead.letter file location

DHParameters

 

DHParameters

Parameters for DSA/DH cipher suite

ErrorHeader

(E)

ErrorHeader

Set error message header

ForwardPath

(J)

ForwardPath

Set forward file search path

HelpFile

(H)

HelpFile

Specify location of the help file

HostsFile

 

HostsFile

Specify alternate /etc/hosts file

HostStatusDirectory

 

HostStatusDirectory

Location of persistent host status

PidFile

 

PidFile

Location of the sendmail pid file

QueueDirectory

(Q)

QueueDirectory

Location of queue directory

RandFile

 

RandFile

Source for random numbers

SafeFileEnvironment

 

SafeFileEnvironment

Directory for safe file writes

ServerCertFile

 

ServerCertFile

File containing the server's certificate

ServerKeyFile

 

ServerKeyFile

File with the server certificate's private key

ServiceSwitchFile

 

ServiceSwitchFile

Specify file for switched services

StatusFile

(S)

StatusFile

Specify statistics file

UserDatabaseSpec

(U)

UserDatabaseSpec

Specify user database

File and directory locations should be expressed as full pathnames. Use of relative names will cause the location to become relative to the queue directory or, for some options, cause the name to be interpreted as something other than a file or directory.

24.7.2 The Queue

Several options combine to determine your site's policy for managing the sendmail queue (see Chapter 11). Among them is one that specifies the location of the queue directory and another that sets the permissions given to files in that directory. The list of many options that affect the queue is shown in Table 24-7.

Table 24-7. Options that affect the queue

Option name

 

§

Description

CheckpointInterval

(C)

CheckpointInterval

Checkpoint the queue

DataFileBufferSize

 

DataFileBufferSize

Buffered I/O df limit

HoldExpensive

(c)

HoldExpensive

Queue for expensive mailers

MaxQueueChildren

 

MaxQueueChildren

Limit total concurrent queue processors

MaxQueueRunSize

 

MaxQueueRunSize

Maximum queue messages processed

MaxRunnersPerQueue

 

MaxRunnersPerQueue

Limit concurrent queue processors per queue group

MinFreeBlocks

(b)

MinFreeBlocks

Define minimum free disk blocks

MinQueueAge

 

MinQueueAge

Skip queue file if too young

NiceQueueRun

 

NiceQueueRun

Default nice(3) setting for queue processors

PrivacyOptions

(p)

PrivacyOptions

Increase privacy of the daemon

QueueDirectory

(Q)

QueueDirectory

Location of queue directory

QueueFactor

(q)

QueueFactor

Factor for high-load queuing

QueueFileMode

 

QueueFileMode

Default permissions for queue files

QueueLA

(x)

QueueLA

On high load, queue only

QueueSortOrder

 

QueueSortOrder

How to presort the queue

QueueTimeout

(T)

QueueTimeout

Limit life of a message in the queue to days

RecipientFactor

(y)

RecipientFactor

Penalize large recipient lists

RetryFactor

(Z)

RetryFactor

Increment per job priority

RunAsUser

 

RunAsUser

Run as nonroot[7]

SharedMemoryKey

 

SharedMemoryKey

Enable shared memory by setting the key

SuperSafe

(s)

SuperSafe

Queue everything just in case

TempFileMode

(F)

TempFileMode

Permissions for temporary files

Timeout.queuereturn

 

See this section

Timeout life in queue

Timeout.queuewarn

 

See this section

Timeout for still-in-queue warnings

TrustedUser

 

TrustedUser

Alternative to root administration[7]

XscriptFileBufferSize

 

XscriptFileBufferSize

Set xf file buffered I/O limit

[7] This is not strictly related to queueing, but it does have indirect bearing on the permissions of the process.

24.7.3 Managing Aliases

In addition to knowing the location of the aliases file, some options determine how that file and its associated database files will be used. For example, there is an option that tells sendmail to check the right side of the aliases for validity. The various aliases-related options are shown in Table 24-8.

Table 24-8. Options for managing aliases

Option name

 

§

Description

AliasFile

(A)

AliasFile

Define the location of the aliases file

AliasWait

(a)

AliasWait

Wait for aliases file rebuild

AutoRebuildAliases

(D)

AutoRebuildAliases

Autorebuild the aliases database (V8.11 and earlier)

CheckAliases

(n)

CheckAliases

Check RHS of aliases

DefaultUser

(u)

DefaultUser

Default delivery agent identity

DontBlameSendmail

 

DontBlameSendmail

Relax file security checks

MaxAliasRecursion

 

MaxAliasRecursion

Maximum recursion of aliases

ServiceSwitchFile

 

ServiceSwitchFile

Specify file for switched services

TrustedUser

 

TrustedUser

Alternative to root administration

24.7.4 Controlling Machine Load

Several options control the sendmail program's behavior under high-machine-load conditions. They are intended to reduce the impact of sendmail on machines that provide other services and to help protect sendmail from overburdening a machine. The list of options that determine and help to prevent high-load conditions is shown in Table 24-9.

Table 24-9. Options that determine load

Option name

 

§

Description

ClassFactor

(z)

ClassFactor

Multiplier for priority increments

ConnectionRateThrottle

 

ConnectionRateThrottle

Incoming SMTP connection rate

DelayLA

 

DelayLA

Add one second SMTP sleep on high load

DeliveryMode

(d)

DeliveryMode

Set delivery mode

HoldExpensive

(c)

HoldExpensive

Queue for expensive mailers

MaxDaemonChildren

 

MaxDaemonChildren

Maximum forked children

MaxQueueRunSize

 

MaxQueueRunSize

Maximum queue messages processed

MaxRunnersPerQueue

 

MaxRunnersPerQueue

Limit concurrent queue processors per queue group

MinQueueAge

 

MinQueueAge

Skip queue file if too young

NiceQueueRun

 

NiceQueueRun

Default nice(3) setting for queue processors

QueueFactor

(q)

QueueFactor

Factor for high-load queuing

QueueLA

(x)

QueueLA

On high load, queue only

QueueSortOrder

 

QueueSortOrder

How to presort the queue

RefuseLA

(X)

RefuseLA

Refuse connections on high load

Timeout

(r)

Timeout

Set timeouts

24.7.5 Connection Caching

Connection caching improves the performance of SMTP-transported mail. In processing the queue or delivering to a long list of recipients, keeping a few SMTP connections open (just in case another message is for one of those same sites) will improve the speed of transfers. Caching is of greatest benefit on busy mail hub machines but can benefit any machine that sends a great deal of network mail. Table 24-10 lists the options that determine how connections will be cached.

Table 24-10. Options that determine connection caching

Option name

 

§

Description

ConnectionCacheSize

(k)

ConnectionCacheSize

SMTP connection cache size

ConnectionCacheTimeout

(K)

ConnectionCacheTimeout

SMTP connection cache time out

HostStatusDirectory

 

HostStatusDirectory

Location of persistent host status

SingleThreadDelivery

 

SingleThreadDelivery

Set single-threaded delivery

24.7.6 Problem Solving

The sendmail program offers a few options that will help in locating and solving some mail delivery problems. Table 24-11 lists the available options.

Table 24-11. Options that help with problem solving

Option name

 

§

Description

CheckAliases

(n)

CheckAliases

Check RHS of aliases

DoubleBounceAddress

 

DoubleBounceAddress

Errors when sending errors

LogLevel

(L)

LogLevel

Set (increase) the logging level

PostmasterCopy

(P)

PostmasterCopy

Extra copies of bounce messages (not V5 BSD)

Verbose

(v)

Verbose

Run in verbose mode

Other means to solve problems are described in Chapter 16, which discusses the -d debugging command-line switch, and in Chapter 14 (specifically Section 14.2), which covers the -X traffic-logging command-line switch.

24.7.7 Other Options

The sendmail program supports a vast array of options, each of which is described at the end of this chapter. For now, study each one well enough to get a basic feeling for what it does. Then, as you gain experience with sendmail, you'll know where to look for the particular option that will meet your needs.

    Previous Section Next Section