The information in this chapter has been extensively revised and updated.
This chapter defines the following terms and describes how they are used in the mail services.
- Systems in a mail configuration.
- Mail hub.
- Mail client.
- Mail user agent (MUA).
- Mail transport agent (MTA)
- Mail delivery agents (sometimes called mailers).
- Mail addressing.
New Mail Service Features
The Solaris_ 8 mail services use the Version 8.9.3 sendmail mail-transport agent. The following list describes some of the important changes that are included in this new version.
You no longer edit the sendmail.cf file directly. You should treat it as a binary that is not editable. Instead, you start with a file with an .mc (mail configuration) suffix and use the m4 macro processor together with the m4 macro files included with sendmail to "compile" the file with a .cf suffix. See "Generating the sendmail Configuration File" on page 53 for more information.
The new MaxHeadersLength configuration file option limits the length of the sum of all header lines in a message. The default value is 32786 bytes. Incoming messages with headers that exceed the MaxHeadersLength value are rejected. See "Processing Options" on page 61 for more information. Note that even processing options such as these are controlled from the .mc file. Never change any of these options in the .cf file as long as the m4 macro files enable you to set them in the .mc file. See Chapter 2, "Customizing sendmail Configuration Files" for more information.
You can use the new /etc/default/sendmail file to store options used to start sendmail. In previous releases, the options were stored in an init script. When you use the /etc/default/sendmail file, upgrading systems is easier because you do not need to change the init scripts.
The new /etc/default/sendmail file is handy for client sendmail systems. For example, you use this file to leave out the -bd option when running sendmail on a client system. Without the -bd option, sendmail delivers e-mail sent only from inside the systemsent by users currently logged in locally. sendmail does not listen to TCP port 25 in this case, so this system cannot have e-mail transported through or into it, only from inside it. This feature improves security because only a very few sendmail servers have the -bd option turned on in this file and only those hosts have sendmail listening on TCP port 25 for incoming e-mail transmissions.
The mail.local program is extended to use the Local Mail Transfer Protocol (LMTP). This protocol returns error codes for each recipient so that the message is re-sent only to the recipients that did not receive the message. In previous releases, the message was requeued to all of the recipients so that everyone who had previously received the message would receive duplicates. This protocol was added to sendmail in the Solaris 7 release.
You can use the new /usr/bin/praliases command to turn the data in the alias database into plain text. If you specify an argument on the command line, the command displays any matching key:value pair.
You can use the new smrsh shell to limit the number of commands that can be run with the "|program" syntax of sendmail. When this feature is enabledby adding FEATURE(´smrsh') in the *.mc fileonly programs included in /var/adm/sm.bin can be run. See "Using the sendmail Restricted Shell" on page 55 and the smrsh(1M) manual page for more information.
The vacation program has new options. You can use the -f option to select an alternate database instead of ~/.vacation.ext. You can use the -m option to specify an alternate message file instead of ~/.vacation.msg. You can use the -s option to specify the reply address instead of the UNIX From line in the incoming message.
With the mailx program you can use the From: header as the basis of the sender instead of the envelope sender. This change to mailx makes it consistent with mailtool and dtmail.
The /usr/lib/sendmail.mx programpreviously used to access DNS mail exchange recordshas been removed. This functionality is now included in sendmail by default. /etc/nsswitch.conf file simply turns on the system's ability to use DNS. It does not affect sendmail directly. If DNS is available, sendmail uses it. Make sure DNS is available on all systems that run sendmail by modifying the hosts: entry in the /etc/nsswitch.conf file. See "Configuring Hosts to Use DNS Mail Exchange Records" on page 112 for more information.
You can find additional information on the Solaris version of sendmail at http://www.sendmail.org/sun-specific/migration+sun.html.