Document
Sendmail 8.9.1 Configuration
Author
Mark <mark@ibiblio.org>



What is it

Sendmail 8.9.1 is a program for the delivering of email, generally across homogenous TCP/IP networks. The implementation that is shipped with Solaris is adequate but is generally lagging behind the latest available version and thus could contain security holes which are widely known.

The installation of the sendmail is controlled by the package subsystem, thus it is quite easy to install and upgrade when new versions become available.

The main web site for the software is http://www.sendmail.org/.



Installation Of The Software

Fetch the package and install it with:

    # umask 0
    # gunzip -c sendmail.8.9.1.SPARC.Solaris.2.6.pkg.tgz | /usr/bin/tar -xvvf -
    # pkgadd -d. sendmail
    # rm -rf sendmail


Configuration Of The Daemon

# cd /usr/local/etc/mail
# /usr/local/bin/m4 /usr/local/etc/mail/cf/m4/cf.m4 cf/cf/generic-solaris2.mc > /usr/local/etc/mail/mybox.cf
# ln -s /usr/local/etc/mail/mybox.cf /usr/local/etc/mail/sendmail.cf


Make sure you use the GNU m4. This creates a generic file which you can modify. I'll take this opportunity to indicate a complete lack of desire to configure the few thousands of sendmail.cf files people will email me asking to fix. Buy the O'Reilly Sendmail book.

If the sendmail.?? files don't exist then use touch(1) to create them. sendmail will complain to alert you as to which ones it can't find.



Configuration Of The System

What we now need to do is convert the o.s. and filesystem to use the new sendmail. There is a /usr/local/etc/mail/convert_to_new_sendmail script which will backup the orginal files, if needed, and make the links to point to the new sendmail and new tools. It will also move and link the /etc/mail/aliases file to the new location.

After you run the convert_to_new_sendmail script there will be a original.email.files.<date> in the /usr/local/etc/mail which will contain all the original programs, stored with safe file attributes. It's safe to run the convert_to_new_sendmail script more than once too.

To be fully complete you should edit the /etc/rc2.d/S88sendmail startup script to point to the new sendmail binary, but this is not technically essential since the old binary is now a soft-link to the new one, but it's bad practice to continue to call the old location. ps(1) will show the old one as running when the new binary is actually being executed.

The new sendmail requires more stringent directory permissions, without which it complains a lot. You should run these commands as root:

    chmod go-w / /etc /etc/mail /usr /var /var/spool /var/spool/mqueue
    chown root / /etc /etc/mail /usr /var /var/spool /var/spool/mqueue
If you see:

    WARNING: writable directory /etc
    WARNING: writable directory /usr/spool/mqueue
then you should also make the permissions on those directories more restrictive. Alternatively you can specify more options to the DontBlameSendmail option in the /usr/local/etc/mail/sendmail.cf file.

Try running:

# /usr/local/etc/mail/sendmail -v -bi
/usr/local/etc/mail/aliases: 16 aliases, longest 37 bytes, 509 bytes total

You should see the above output as it initializes the alias database. Any other output should be examined and any faults rectified.

More answers to installation problems can be found at http://www.sendmail.org/faq/, the Release Notes and the sendmail web site.

Finally, send some test email to various destinations to verify local and remote functionality.



Email To
Send email to sendmail-bugs@sendmail.org

Solaris Issues
Each sendmail package requires installation on the Solaris release it was built on. Only install the correct version for your system.

Source Code
You can download the source code from ftp://ftp.sendmail.org/pub/sendmail/sendmail.8.9.1.tar.gz

Special Issues
See the main packages README for installation information.