Introduction to Sendmail

The Sendmail package contains a Mail Transport Agent (MTA).

Package information

Sendmail dependencies

Installation of Sendmail

Before building Sendmail, create the users, groups and directories that Sendmail requires with the following commands issued as the root user:

groupadd smmsp &&
groupadd mail &&
useradd -c "Sendmail Daemon" -g smmsp -G mail smmsp &&
chmod 1777 /var/mail &&
mkdir /var/spool/mqueue

Note: See the source tree sendmail/README file for information on linking optional packages into the build. Use the example below, which adds support for tcpwrappers, SASL, StartTLS (OpenSSL) and OpenLDAP, as a starting point. Of course, modify it to suit your particular needs.

cat >> devtools/Site/site.config.m4 << "EOF"
APPENDDEF(`confLIBS', `-lssl -lcrypto -lwrap -lsasl2 -lldap -llber')
APPENDDEF(`confINCDIRS', `-I/usr/include/sasl')

Install Sendmail with the following commands:

cat >> devtools/Site/site.config.m4 << "EOF"
cd sendmail &&
sh Build &&
cd ../cf/cf &&
cp &&
sh Build

Now, as the root user:

install -v -d -m755 /etc/mail &&
sh Build install-cf &&
cd ../../ &&
sh Build install &&
cp -v -R cf/* /etc/mail &&
cp -v cf/cf/{submit,sendmail}.mc /etc/mail &&
for manpage in sendmail editmap mailstats makemap praliases smrsh 
    install -v -m444 $manpage/$manpage.8 /usr/share/man/man8
done &&
install -v -m444 sendmail/aliases.5    /usr/share/man/man5 &&
install -v -m444 sendmail/mailq.1      /usr/share/man/man1 &&
install -v -m444 sendmail/newaliases.1 /usr/share/man/man1 &&
install -v -m444 vacation/vacation.1   /usr/share/man/man1

Install the Sendmail Installation and Operations Guide with the following commands:

cd doc/op &&
sed -i -e 's/groff/GROFF_NO_SGR=1 groff/' Makefile &&
make op.txt op.pdf

Now, as the root user:

install -v -d -m755 /usr/share/doc/sendmail-8.13.3 &&
install -v -m644 op.txt op.pdf \
    /usr/share/doc/sendmail-8.13.3 &&
cd ../../

Note: remove op.pdf from the make and install commands if you don't have Ghostscript installed.

Command explanations

cat > devtools/Site/site.config.m4 << "EOF": This creates a configuration file changing some of the default settings.

sh Build; sh Build; sh Build install-cf; sh Build install: Sendmail uses an m4 based build script to create the various Makefile's. These commands build and install the package.

for manpage in...;do...;done; install ...: The man pages are installed already formatted and man displays them somewhat garbled. These commands replace the formatted pages with pages man can display properly.

Configuring Sendmail

Config files


Configuration information

Create the /etc/mail/local-host-names and /etc/mail/aliases files using the following commands as the root user:

echo $(hostname) > /etc/mail/local-host-names
cat > /etc/mail/aliases << "EOF"
postmaster: root

newaliases -v

Sendmail's primary configuration file, /etc/mail/, is complex and not meant to be directly edited. The recommended method to make changes is to modify /etc/mail/, and various m4 files, then run the m4 macro processor from within /etc/mail as follows:

m4 m4/cf.m4 >

A full explanation of the files to modify, and the available parameters can be found in /etc/mail/README.

To automate the running of Sendmail at startup, install the /etc/rc.d/init.d/sendmail init script included in the blfs-bootscripts-6.0 package.

make install-sendmail


The -qNm option to sendmail, where N is number of minutes, controls how often Sendmail will process the mail queue. A default of 5 minutes is used in the init script. Individual workstation users may want to set this as low as 1 minute, large installations handling more mail may want to set it higher.


Installed Programs: editmap, hoststat, mailstats, mailq, makemap, newaliases, praliases, purgestat, sendmail, smrsh and vacation
Installed Libraries: None
Installed Directories: /etc/mail and /usr/share/doc/sendmail-8.13.3

Short Descriptions


queries and edits Sendmail map files.


prints Sendmail's persistent host status.


displays Sendmail statistics.


prints a summary of outbound mail messages waiting for delivery.


creates Sendmail map files.


rebuilds /etc/mail/aliases.db from the contents of /etc/mail/aliases.


displays current Sendmail aliases.


causes Sendmail to clear (purge) all its host-status information.


is the Sendmail mail transport agent.


is a restricted shell for Sendmail.


is an email auto responder.

Last updated on 2005-03-02 22:40:08 -0700