Exim-4.61

Introduction to Exim

The Exim package contains a Mail Transport Agent written by the University of Cambridge, released under the GNU Public License.

Package Information

Additional Downloads

  • Additional formats of the documentation (text-based docs are shipped with the sources) can be downloaded by following the links shown at http://exim.org/docs.html.

Exim Dependencies

Required

Berkeley DB-4.5.20 (built in LFS) or GDBM-1.8.3 or TDB

Optional

X Window System, OpenLDAP-2.3.34, OpenSSL-0.9.8e or GnuTLS, Cyrus SASL-2.1.21, MySQL-5.0.37, PostgreSQL-8.2.3, TCP Wrapper-7.6, and Linux-PAM-0.99.7.1

User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/exim

Installation of Exim

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

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

This package does not come with a test suite.

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.61 &&
install -v -m644 doc/* /usr/share/doc/exim-4.61 &&
ln -sv exim /usr/sbin/sendmail

Command Explanations

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.

Adding Additional Functionality

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://exim.org/exim-html-4.61/doc/html/spec_html/ch04.html#SECTdb.

For SSL functionality, see the instructions at http://exim.org/exim-html-4.61/doc/html/spec_html/ch04.html#SECTinctlsssl and http://exim.org/exim-html-4.61/doc/html/spec_html/ch38.html.

For tcpwrappers functionality, see the instructions at http://exim.org/exim-html-4.61/doc/html/spec_html/ch04.html#id2522928. http://exim.org/exim-html-4.61/doc/html/spec_html/ch04.html#id2522928

For information about adding authentication mechanisms to the build, see chapters 33-37 of http://exim.org/exim-html-4.61/doc/html/spec_html/index.html.

For information about linking Linux-PAM, see the instructions in section 7 of http://exim.org/exim-html-4.61/doc/html/spec_html/ch11.html.

For information about linking database engine libraries used for Exim name lookups, see the instructions at http://exim.org/exim-html-4.61/doc/html/spec_html/ch09.html.

If you wish to add Readline support to Exim when invoked in “test expansion” (-be) mode, see the information in the -be section of http://exim.org/exim-html-4.61/doc/html/spec_html/ch05.html#id2525974.

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://exim.org/exim-html-4.61/doc/html/spec_html/ch48.html.

Configuring Exim

Config Files

/etc/exim.conf and /etc/aliases

Configuration Information

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
[Note]

Note

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.

Boot Script

To automate the running of exim at startup, install the /etc/rc.d/init.d/exim init script included in the blfs-bootscripts-20060910 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.

Contents

Installed Programs: exicyclog, exigrep, exim, exim-4.43-2, exim_checkaccess, exim_dbmbuild, exim_dumpdb, exim_fixdb, exim_lock, exim_tidydb, eximstats, exinext, exipick, exiqgrep, exiqsumm, exiwhat, and optionally, eximon, and eximon.bin
Installed Libraries: None
Installed Directories: /usr/share/doc/exim-4.61 and /var/spool/exim

Short Descriptions

exicyclog

cycles Exim log files.

exigrep

searches Exim log files.

exim

is a symlink to the exim-4.43-2 MTA daemon.

exim-4.43-2

is the Exim mail transport agent daemon.

exim_checkaccess

states whether a given recipient address from a given host is acceptable or not.

exim_dbmbuild

creates and rebuilds Exim databases.

exim_dumpdb

writes the contents of Exim databases to the standard output.

exim_fixdb

modifies data in Exim databases.

exim_lock

locks a mailbox file.

exim_tidydb

removes old records from Exim databases.

eximstats

generates mail statistics from Exim log files.

exinext

queries remote host retry times.

exipick

selects messages based on various criteria.

exiqgrep

is a utility for selective queue listing.

exiqsumm

produces a summary of the messages in the mail queue.

exiwhat

queries running Exim processes.

eximon

is a start-up shell script for eximon.bin used to set the required environment variables before running the program.

eximon.bin

is a monitor program which displays current information in an X window, and also contains a menu interface to Exim's command line administration options.

Last updated on 2007-04-04 21:42:53 +0200