Show Table of Contents
19.3.2.2. The Default Sendmail Installation
In order to use Sendmail, first ensure the sendmail package is installed on your system by running, as
root:
~]# yum install sendmail
In order to configure Sendmail, ensure the sendmail-cf package is installed on your system by running, as
root:
~]# yum install sendmail-cf
For more information on installing packages with Yum, see Section 8.2.4, “Installing Packages”.
Before using Sendmail, the default MTA has to be switched from Postfix. For more information how to switch the default MTA see Section 19.3, “Mail Transport Agents”.
The Sendmail executable is
/usr/sbin/sendmail.
Sendmail's lengthy and detailed configuration file is
/etc/mail/sendmail.cf. Avoid editing the sendmail.cf file directly. To make configuration changes to Sendmail, edit the /etc/mail/sendmail.mc file, back up the original /etc/mail/sendmail.cf file, and use the following alternatives to generate a new configuration file:
- Use the included makefile in
/etc/mail/to create a new/etc/mail/sendmail.cfconfiguration file:~]#
make all -C /etc/mail/All other generated files in/etc/mail(db files) will be regenerated if needed. The old makemap commands are still usable. The make command is automatically used whenever you start or restart thesendmailservice. - Alternatively you may use the
m4macro processor to create a new/etc/mail/sendmail.cf. Them4macro processor is not installed by default. Before using it to create/etc/mail/sendmail.cf, install the m4 package as root:~]#
yum install m4
More information on configuring Sendmail can be found in Section 19.3.2.3, “Common Sendmail Configuration Changes”.
Various Sendmail configuration files are installed in the
/etc/mail/ directory including:
access— Specifies which systems can use Sendmail for outbound email.domaintable— Specifies domain name mapping.local-host-names— Specifies aliases for the host.mailertable— Specifies instructions that override routing for particular domains.virtusertable— Specifies a domain-specific form of aliasing, allowing multiple virtual domains to be hosted on one machine.
Several of the configuration files in
/etc/mail/, such as access, domaintable, mailertable and virtusertable, must actually store their information in database files before Sendmail can use any configuration changes. To include any changes made to these configurations in their database files, run the following command, as root:
~]# makemap hash /etc/mail/<name> < /etc/mail/<name>
where <name> represents the name of the configuration file to be updated. You may also restart the
sendmail service for the changes to take effect by running:
~]# service sendmail restart
For example, to have all emails addressed to the
example.com domain delivered to bob@other-example.com, add the following line to the virtusertable file:
@example.com bob@other-example.com
To finalize the change, the
virtusertable.db file must be updated:
~]# makemap hash /etc/mail/virtusertable < /etc/mail/virtusertable
Sendmail will create an updated
virtusertable.db file containing the new configuration.

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.