Man Linux: Main Page and Category List

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          Preceed 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.uu.net.

     sendmail 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

SEE ALSO

     sendmail(8)