checksendmail (8)
Leading comments
BSDI $Id: checksendmail.8,v 1.1.1.1 1994/01/13 21:15:31 polk Exp $
NAME
checksendmail - verify sendmail address transformations.SYNOPSIS
checksendmail [-a ] [-d ] [-b ] [-C file.cf ] [-b sendmail_binary ] [-l log_file ] [-r resolve ] [-T test.address ]
DESCRIPTION
The checksendmail program is a perl script that aids the testing of sendmail(8)'s various configuration files. checksendmail passes typical addresses (supplied in input files) through sendmail and prints the results of the resolution and transformation routines.
The input files contain a list of addresses, one per line. For example:
user user@site user@site.com
The input file can contain comments started with a # and blank lines.
OPTIONS
- -a
- Show aliasing of local addresses in mail address resolution phase of testing
- -d
- Precede each address translation line with ruleset sequence summary
- -C file.cf
- Use the sendmail configuration file file.cf instead of the default /etc/sendmail.cf file.
- -b sendmail_binary
- Use the specified sendmail_binary as the path to invoke sendmail (instead of /usr/sbin/sendmail )
- -l log_file
- Log sendmail address test mode debugging output to log_file
- -r resolve
- Use resolve as the input file for the addresses to be used for mail resolving. Defaults to address.resolve
- -T test.address
- Use test.address as the single address to test. Cannot be used in conjunction with file setting flags.
EXAMPLES
The following command will pass the addresses in address.resolve through sendmail using the configuration information in myconfig.cf
example% cat address.resolve user user@site user@site.com example% checksendmail -C myconfig.cf system: myhost.gadget.com current dir: /tmp/Checksendmail resolve file: address.resolve sendmail binary: /usr/sbin/sendmail sendmail version: 8.9.3 config file: /etc/sendmail.cf config file version: V8/Berkeley Mail address resolution user --(ether )--> user[rmtc] user@site --(ether )--> user@site[rmtc] user@site.com --(ether )--> user@site.com[rmtc] `To' address transformations for mailer ether: user ----> user user@site ----> user@site user@site.com ----> user@site.com `From' address transformations for mailer ether: user ----> user user@site ----> user user@site.com ----> user
The first section of the output shows how the addresses in the input files are resolved by sendmail(8). Consider the following output line:
"user@site.com --(ether )--> user@site.com[rmtc]"
The input address
user@site.com
resolves to use the
ether
mailer. That mailer is directed to send the mail to
to the user
user@site.com
at site
rmtc
(as indicated in the square brackets).
The two later sections of output show how the addresses specified as the To and From address are transformed in the text of the headers. In the example above, the To addresses are untouched. The From addresses, however, all lose their machine information on the way through the mailer:
"user@site ----> user"
This may be desirable when using a configuration file on a
workstation which is to be hidden as a mailhost from the rest of the
network.
The following is a set of addresses used at one site for the purposes of testing address resolution. Comments after the addresses detail why particular addresses are present:
- user
- Standard trivial address
- user@rmtc
- qualified at one level
- user@rmtc.central
- qualified at two levels
- user@rmtc.central.sun.com
- qualified all the way
- rmtc!user
- local but specified as uucp
- user@summit
- a workstation (normally delivered locally, though)
- user@summit.central
- same but more qualified
- user@summit.central.sun.com
- same but fully qualified
- summit!user
- same but specified as uucp
- user@prisma
- Backward compatibility tests
- user@prisma.com
- prisma!user
- user@central
- Superior domain testing
- user@machine.central
- more qualified, but unknown
- user@summit.central
- more qualified and known
- user@eng
- name in faraway domain
- user@machine.eng
- unknown machine in faraway domain
- user@summit.eng
- local machine, far away domain
- user@hoback
- far away machine
- user@machine
- apparently local but unknown machine
- user@sun.com
- Standard trivial address
- user@machine.dom.sun.com
- fully qualified but unknown machine
- user@foo.com
- standard, known, really far away domain
- user@foo.dom
- standard, unknown, really far away domain
- site!user
- Single level uucp
- site1!site2!user
- Double level uucp
- user@foo.dom@bar.dom
- Trickier address
- site!user@foo.dom
- Mixed uucp/domain
- site!user@uunet.uu.net
- Mixed double uucp/domain
NOTES
Note that checksendmail is a perl script. If your site does not have perl(1), it can be obtained via anonymous ftp from ftp: ftp.uu.netsendmail requires that the user have access to directory specified by the OQ parameter in the configuration file (normally /usr/spool/mqueue ) checksendmail verifies that the user has access to this directory before allowing the test to continue.
AUTHORS
Gene Kim Rob Kolstad Jeff Polk
Modified by Robert Harker