36. The Command Line
Contents:
The initial behavior of sendmail is determined largely by the command line used to invoke it. The command line can, for example, cause sendmail to use a different configuration file or to rebuild the aliases file rather than deliver mail. The command line can be typed at your keyboard, executed from a boot-time script, or even executed by an MUA when sending mail. The format of the sendmail command line is:
Here, 36.1 Alternative argv[0] NamesThe sendmail program may exist in any of several places, depending on the version of the operating system you are running. Usually, it is located in the /usr/lib directory and is called sendmail , [1] but it can alternatively be located in the /etc , /usr/sbin , or /usr/etc directory. The location of the sendmail program can be found by examining the /etc/rc files for BSD UNIX or the /etc/init.d files for Sys V UNIX (see Section 3.4, "Role as a Daemon" ).
In addition to the name sendmail , other names (in other directories) can exist that alter the behavior of sendmail . Those alternative names are usually symbolic links to /usr/lib/sendmail . On some systems they may be hard links, and in rare cases you may actually find them to be copies. The complete list of other names is shown in Table 36.1 .
When sendmail looks for the name under which it is running, it strips any leading directory components from argv[0] and compares the result (in a case-sensitive fashion) to its internal list of alternative names. If a match is found, its mode of operation is changed to conform to that of the alternative name. If no match is found (if, say, a link is named Mailq , note the uppercase M ), sendmail does not change its mode. The name that is found is used to build an argument list for use with process listings. For example, if the name was sendmail.mx (from SunOS), a process listing produced with ps (3) would look something like this:
root 1247 620 p0 S 07:22 0:00 -AA15186 (sendmail.mx)
Here, the Note that sendmail uses the hard-coded name " sendmail " for logging purposes with syslog (3) (see Section 26.1.1, "syslog(3)" ). Therefore logged errors and warnings always appear to come from sendmail , no matter what name was used to run it. As a final note, be aware that command-line switches are processed immediately after the name but before sendmail finalizes its mode of operation. Thus the use of particular switches can completely cancel any special meaning given a name. 36.1.1 hoststat (V8.8 and Above)
The
hoststat
command is a synonym for the The output produced by this command begins with a heading like this:
------- Hostname -------- How long ago -----Results----- Then for each host that has its status saved, sendmail prints this information:
To illustrate, consider this output:
------- Hostname -------- How long ago -----Results----- there.ufoa.edu 00:00:51 250 PAA27153 Message acce *books.ora.com 07:43:39 250 GAA01255 Message acce prog.ammers.com 06:55:08 No status available fbi.dc.gov 03:28:53 Connection refused Here, the previous connections to there.ufoa.edu and books.ora.com were successful. The status for books.ora.com is currently being updated, hence the asterisk showing it is locked. The host prog.ammers.com shows no status because connection to it could not be made. The last example show that the connection to fbi.dc.gov was refused by that host.
Note that the results are limited to 27 characters unless the 36.1.2 mailq
The name
mailq
(a synonym for the
Note that the location of the queue is set with the
36.1.3 newaliases
The name
newaliases
(a synonym for the
The location of the
aliases
file is given in the configuration
file with the 36.1.4 purgestat (V8.8 and Above)
The name
purgestat
is a synonym for the V8.8 and above 36.1.5 smtpd
The name
smtpd
is a synonym for the | ||||||||||||||||||
|