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 Exim package contains a Mail Transport Agent written by the University of Cambridge, released under the GNU Public License.
Download (HTTP): http://www.exim.org/ftp/exim4/exim-4.52.tar.bz2
Download (FTP): ftp://ftp.exim.org/pub/exim/exim4/exim-4.52.tar.bz2
Download MD5 sum: 89601650f3b854d469451f30b369622b
Download size: 1.5 MB
Estimated disk space required: 12.4 MB
Estimated build time: 0.2 SBU
Required patch for Berkeley DB: http://www.linuxfromscratch.org/blfs/downloads/6.1/exim-4.52-db43-1.patch
Berkeley DB-4.3.28 or GDBM-1.8.3 or TDB
X (XFree86-4.5.0 or X.org-6.8.2), OpenLDAP-2.2.24, OpenSSL-0.9.7g or GnuTLS, Cyrus SASL-2.1.21, MySQL-4.1.12, PostgreSQL-8.0.3, tcpwrappers-7.6 and Linux-PAM-0.80
Before building Exim, as the root user you should create the group and user exim which will run the exim daemon:
groupadd -g 31 exim && useradd -d /dev/null -c "Exim Daemon" -g exim -s /bin/false -u 31 exim
If you have Berkeley DB installed, apply the following patch:
patch -Np1 -i ../exim-4.52-db43-1.patch
Install Exim with the following commands:
sed -e 's,^BIN_DIR.*$,BIN_DIRECTORY=/usr/sbin,' \ -e 's,^CONF.*$,CONFIGURE_FILE=/etc/exim.conf,' \ -e 's,^EXIM_USER.*$,EXIM_USER=exim,' \ -e 's,^EXIM_MONITOR,#EXIM_MONITOR,' src/EDITME > Local/Makefile && make
Now, as the root user:
make install && install -v -m644 doc/exim.8 /usr/share/man/man8 && install -v -d -m755 /usr/share/doc/exim-4.52 && install -v -m644 doc/* /usr/share/doc/exim-4.52 && ln -sv exim /usr/sbin/sendmail
sed -e ... > Local/Makefile: Most of Exim's configuration options are compiled in using the directives in Local/Makefile which is created from the src/EDITME file. This command specifies the minimum set of options. Descriptions for the options are listed below.
BIN_DIRECTORY=/usr/sbin: This installs all of Exim's binaries and scripts in /usr/sbin.
CONFIGURE_FILE=/etc/exim.conf: This installs Exim's main configuration file in /etc.
EXIM_USER=exim: This tells Exim that after the daemon no longer needs root privileges, the process hands off the daemon to the exim user.
#EXIM_MONITOR: This defers building the Exim monitor program, as it requires X Window System support, by commenting out the EXIM_MONITOR line in the Makefile. If you wish to build the monitor program, omit this sed command and issue the following command before building the package (modify Local/eximon.conf, if necessary): cp exim_monitor/EDITME Local/eximon.conf.
ln -sv exim /usr/sbin/sendmail: Creates a link to sendmail for applications which need it. Exim will accept most Sendmail command-line options.
To utilize some or all of the dependency packages, you'll need to modify Local/Makefile to include the appropriate directives and parameters to link additional libraries before you build Exim. Local/Makefile is heavily commented with instructions on how to do this. Listed below is additional information to help you link these dependency packages.
To use a backend database other than Berkeley DB, see the instructions at http://www.exim.org/exim-html-4.40/doc/html/spec_4.html#SECT4.3.
For SSL functionality, see the instructions at http://www.exim.org/exim-html-4.40/doc/html/spec_4.html#SECT4.6 and http://www.exim.org/exim-html-4.40/doc/html/spec_37.html#CHAP37.
For tcpwrappers functionality, see the instructions at http://www.exim.org/exim-html-4.40/doc/html/spec_4.html#SECT4.7.
For information about adding authentication mechanisms to the build, see the instructions at http://www.exim.org/exim-html-4.40/doc/html/spec_34.html#SECT34.4 For specific information about using Cyrus-SASL, see section 10 of the doc/NewStuff file located in the source tree.
For information about linking Linux-PAM, see the instructions at http://www.exim.org/exim-html-4.40/doc/html/spec_11.html#IX935.
For information about linking database engine libraries used for Exim name lookups, see the instructions at http://www.exim.org/exim-html-4.40/doc/html/spec_9.html#CHAP9.
If you wish to add Readline support to Exim when invoked in “test expansion” (-bv) mode, see the information in section 8 of the doc/NewStuff file located in the source tree.
You may wish to modify the default configuration and send log files to syslog instead of the default /var/spool/exim/log directory. See the information at http://www.exim.org/exim-html-4.40/doc/html/spec_45.html#CHAP45.
A default (nothing but comments) /etc/aliases file is installed during the package installation if this file did not exist on your system. Create the necessary aliases and start the Exim daemon using the following commands:
cat >> /etc/aliases << "EOF" postmaster: root MAILER-DAEMON: root EOF exim -v -bi && /usr/sbin/exim -bd -q15m
To protect an existing /etc/aliases file, the command above appends these aliases to it. This file should be checked and duplicate aliases removed, if present.
The /usr/sbin/exim -bd -q15m command starts the Exim daemon with a 15 minute interval in processing the mail queue. Adjust this parameter to suit your desires.
To automate the running of exim at startup, install the /etc/rc.d/init.d/exim init script included in the blfs-bootscripts-6.1 package.
make install-exim
The bootscript also starts the Exim daemon and dispatches a queue runner process every 15 minutes. Modify the -q[time interval] parameter in /etc/rc.d/init.d/exim, if necessary for your installation.
Last updated on 2005-08-01 13:29:19 -0600