One of the truly remarkable things about Postfix is that, in many cases, it works as soon as you install it, with little or no change to its configuration. In the first section of this chapter, we'll walk through checking the configuration and starting Postfix for the first time. Later sections discuss Postfix configuration details.
By default, Postfix is configured as a traditional Unix mail server, sending and receiving messages for all the accounts on the system. Your users can send and receive messages using any email client software available on your system.
In most environments, Postfix works in conjunction with a variety of other software systems. You should build each piece of your email system and test each one as a separate module before trying to integrate them all together. As you add each module, test the system before moving on to the next piece.
At this point you should have Postfix installed on your system. You might install Postfix from a packaged bundle for your platform or compile it yourself. See Appendix C for help with compiling Postfix, if you're building it yourself. Check your normal software sources for any Postfix packages that might be available. If you haven't yet installed Postfix, either get a package for your system or follow the instructions in Appendix C to build it. When you have finished with the installation, come back to this chapter for the final configuration.
I will also assume that you or your installer created a
postfix user and
This user and group should not be used for any other purpose on your
system. If you have changed any of the defaults, or if your Postfix
package did, keep that in mind when you read the examples presented in the
There are two important issues to deal with before
starting Postfix for the first time. The first is how your system
identifies itself. Postfix uses a configuration parameter called
myhostname , which must be set to the fully qualified hostname of the
system Postfix is running on. Once Postfix knows the fully qualified
hostname, it can use that hostname to set default values for other
important parameters, such as
mydomain. If the parameter
myhostname is not set, Postfix defaults to the
hostname reported by the system itself. There is a complete discussion
myhostname later in the chapter.
You can see what name your system reports with the Unix hostname
A fully qualified hostname is comprised of both the individual hostname and the domain in which it resides. Some systems are configured with their simple hostname, rather than its fully qualified version:
If your system is configured with just its simple hostname,
Postfix cannot determine what the fully qualified name is. You must
therefore explicitly set the
myhostname parameter. You can do this quite
easily with the postconf Postfix command. The postconf command is a Postfix utility that
provides an easy way to get a variety of information about your Postfix
system. One of its functions is to display or change a specific
configuration parameter. You can use it to set the
postconf -e myhostname=mail.example.com
-e option tells postconf to edit the configuration with the
parameters and values specified. If your system is configured with its
fully qualified hostname, you don't have to do anything to the Postfix
The second important issue before starting Postfix for the first time is to make sure that your system's aliases database is in the correct format. There are certain required aliases that you should configure when operating your mail server in a production environment. We'll discuss the aliases file later in this chapter. For now, be aware that it is a text file that must be mapped into an indexed, binary format. Your existing aliases binary format might be different from what Postfix uses by default on your system. You can rebuild the indexed file with the newaliases command:
This command doesn't require any arguments, and it simply recreates your alias database without making any changes to your actual alias file.
Having accomplished these two critical items, you are now ready to start Postfix. Execute the following command:
If Postfix encounters any problems at start up, it reports them to your terminal. After some initial setup, Postfix detaches from the terminal and can no longer report problems to the screen. It will, however, continue to send a lot of information to your system log. Whenever you start or reload Postfix, be sure to check your system's log to make sure that there are no reported errors or warnings. See Section 4.4.1 later in this chapter for information on Postfix logging and how to find the log file it uses.
Under most circumstances, Postfix will start without any problems, and you should now be the proud administrator of a currently running, fully functional Postfix system. See Chapter 7 for information about configuring Postfix to work with a POP/IMAP server, so that your users do not need shell access to your mail system. You should also review Chapter 6 for important information on DNS and email.
To read about stopping and restarting Postfix, see Section 4.4.2 later in this chapter. The rest of this chapter discusses Postfix configuration and administration.