Postfix
Originally developed at IBM by security expert and programmer Wietse Venema, Postfix is a Sendmail-compatible MTA that is designed to be secure, fast, and easy to configure.
To improve security, Postfix uses a modular design, where small processes with limited privileges are launched by a master daemon. The smaller, less privileged processes perform very specific tasks related to the various stages of mail delivery and run in a change rooted environment to limit the effects of attacks.
Configuring Postfix to accept network connections from hosts other than the local computer takes only a few minor changes in its configuration file. Yet for those with more complex needs, Postfix provides a variety of configuration options, as well as third party add ons that make it a very versatile and full-featured MTA.
The configuration files for Postfix are human readable and support upward of 250 directives. Unlike Sendmail, no macro processing is required for changes to take effect and the majority of the most commonly used options are described in the heavily commented files.
Before using Postfix, the default MTA must be switched from Sendmail to Postfix.
The Postfix executable is Postfix stores its configuration files in the The default When changing some options within files in the By default, Postfix does not accept network connections from any host other than the local host. Perform the following steps as root to enable mail delivery for other hosts on the network:
Once these steps are complete, the host accepts outside emails for delivery.
Postfix has a large assortment of configuration options. One of the best ways to learn how to configure Postfix is to read the comments within The Default Postfix Installation
/usr/sbin/postfix
. This daemon launches all related processes needed to handle mail delivery.
/etc/postfix/
directory. The following is a list of the more commonly used files:
access
- Used for access control, this file specifies which hosts are allowed to connect to Postfix.
aliases
- A configurable list required by the mail protocol.
main.cf
- The global Postfix configuration file. The majority of configuration options are specified in this file.
master.cf
- Specifies how Postfix interacts with various processes to accomplish mail delivery.
transport
- Maps email addresses to relay hosts./etc/postfix/main.cf
file does not allow Postfix to accept network connections from a host other than the local computer. For instructions on configuring Postfix as a server for other clients, refer to "Basic Postfix Configuration".
/etc/postfix/
directory, it may be necessary to restart the postfix
service for the changes to take effect. The easiest way to do this is to type the following command:
service postfix restart
Basic Postfix Configuration
/etc/postfix/main.cf
file with a text editor, such as vi
.
mydomain
line by removing the hash mark (#
), and replace domain.tld
with the domain the mail server is servicing, such as example.com
.
myorigin = $mydomain
line.
myhostname
line, and replace host.domain.tld
with the hostname for the machine.
mydestination = $myhostname, localhost.$mydomain
line.
mynetworks
line, and replace 168.100.189.0/28
with a valid network setting for hosts that can connect to the server.
inet_interfaces = all
line.
inet_interfaces = localhost
line.
postfix
service./etc/postfix/main.cf
. Additional resources including information about LDAP and SpamAssassin integration are available online at http://www.postfix.org/.