MTAs are the programs which transport mail from one machine to the other. The traditional MTA is Sendmail, however there are several other choices.
As well as SMTP servers there is a POP server (qpopper) and an IMAP server (Courier-IMAP).
The Postfix package contains a Mail Transport Agent (MTA). This is useful for sending email to other users of your host machine. It can also be configured to be a central mail server for your domain, a mail relay agent or simply a mail delivery agent to your local Internet Service Provider (ISP).
Download (HTTP): http://ftp.uni-koeln.de/mail/postfix-2.1.1.tar.gz
Download (FTP): ftp://ftp.porcupine.org/mirrors/postfix-release/official/postfix-2.1.1.tar.gz
Download size: 1.9 MB
Estimated Disk space required: 82 MB
Estimated build time: 0.29 SBU
Before you compile the program, you need to create users and groups that will be expected to be in place when the install script executes. Add the users and groups with the following commands:
groupadd postfix &&
groupadd postdrop &&
groupadd -g 65534 nogroup &&
useradd -c postfix -d /dev/null -g postfix -s /bin/false postfix &&
useradd -c nobody -d /home -g nogroup -s /bin/bash -u 65534 nobody &&
chown postfix:postfix /var/mail
Install postfix by running the following commands:
make &&
sh postfix-install daemon_directory=/usr/sbin \
manpage_directory=/usr/share/man \
sample_directory=/usr/share/doc/postfix \
-non-interactive
The final installation step is to install the program's documentation with this command:
install -d /usr/share/doc/postfix &&
cp -rf html/* /usr/share/doc/postfix
sh postfix-install ... -non-interactive : We don't want the install script to ask any questions so we call it with a non-interactive switch and accept default destination directories in all but three cases.
cat >> /etc/aliases << "EOF" # Begin /etc/aliases MAILER-DAEMON: postmaster postmaster: root root: LOGIN # End /etc/aliases EOF
To protect an existing /etc/aliases file, we will append these aliases to it if it exists. This file should be checked and duplicate aliases removed, if present.
The /etc/aliases file that was just created or appended, the main.cf and the master.cf must be personalized for your system. The aliases file needs your non-root login identity so mail addressed to root can be forwarded to you at the user level. The main.cf file needs your fully qualified hostname. All of these edits can be done with sed commands entered into the console with appropriate substitutions of your non-root login name for [user] and your fully qualified hostname for [localhost.localdomain]. You will find the main.cf file is self documenting, so load it into your editor to make the changes you need for your situation.
cp /etc/aliases /etc/aliases.bak &&
cp /etc/postfix/main.cf /etc/postfix/main.cf.bak &&
sed "s/LOGIN/[user]/" /etc/aliases.bak > /etc/aliases &&
sed "s/#myhostname = host.domain.tld/myhostname = \
[localhost.localdomain]/" \
/etc/postfix/main.cf.bak > /etc/postfix/main.cf &&
/usr/bin/newaliases &&
/usr/sbin/postfix start
To automate the running of Postfix at startup, install the /etc/rc.d/init.d/postfix init script included in the blfs-bootscripts-5.1 package.
make install-postfix
The Postfix package contains bounce , cleanup, error, flush, lmtp, local, mailq, master, newaliases, nqmgr, pickup, pipe, postalias, postcat, postconf, postdrop, postfix, postkick, postlock, postlog, postmap, postqueue, postsuper, qmgr, qmqpd, sendmail, showq, smtp, smtpd, spawn, trivial-rewrite, and virtual.
master is the resident process that runs bounce, cleanup, error, flush, lmtp, local, nqmgr, pickup, pipe, qmgr, qmqpd, showq, smtp, smtpd, spawn, trivial-rewrite and virtual on demand. These programs are not designed to work as user commands.
postqueue implements the Postfix user interface for queue management. It implements all the operations that are traditionally available via the sendmail command.
sendmail implements the Postfix to Sendmail compatibility interface. mailq and newaliases are symlinks to sendmail.
postdrop creates a file in the maildrop directory and copies its standard input to the file.