The Exim package contains a Mail Transport Agent written by the University of Cambridge, released under the GNU Public License.
Download (HTTP): http://gd.tuwien.ac.at/infosys/mail/exim/exim4/exim-4.24.tar.bz2
Download (FTP): ftp://ftp.exim.org/pub/exim/exim4/exim-4.24.tar.bz2
Download size: 1.2 MB
Estimated Disk space required: 11 MB
Estimated build time: 0.27 SBU
Before building Exim, we need to create the group and user exim which will run the exim daemon:
groupadd exim && useradd -d /dev/null -g exim -s /bin/false exim |
Install Exim with the following commands:
sed -e 's/^BIN_DIR.*$/BIN_DIRECTORY=\/usr\/sbin/' src/EDITME | \ sed -e 's/^CONF.*$/CONFIGURE_FILE=\/etc\/exim.conf/' | \ sed -e 's/^EXIM_USER.*$/EXIM_USER=exim/' | \ sed -e 's/^EXIM_MONITOR/#EXIM_MONITOR/' > Local/Makefile && make && make install && cp doc/exim.8 /usr/share/man/man8 && ln -s exim-4.24-1 /usr/sbin/exim && ln -s exim /usr/sbin/sendmail |
sed -e ... > Local/Makefile: Many of Exim's configuration options are compiled in. Here, we specify the minimum set of options, BIN_DIRECTORY, CONFIGURE_FILE and EXIM_USER. We also defer building the Exim monitor program, which requires the X Window System support, by commenting out the EXIM_MONITOR line in the Makefile.
ln -s exim /usr/sbin/sendmail: Create a link to sendmail for applications which need it. Exim will accept most Sendmail command-line options.
/etc/exim.conf, /etc/aliases
Create the Exim configuration files with the following commands:
cat >> /etc/aliases << "EOF" postmaster: root MAILER-DAEMON: root EOF exim -v -bi && /usr/sbin/exim -bd -q1m |
Note: 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.
To start and stop Exim on system boot/shutdown create the exim boot script with the following commands:
cat > /etc/rc.d/init.d/exim << "EOF" #!/bin/sh # Begin $rc_base/init.d/exim # Based on sysklogd script from LFS-3.1 and earlier. # Rewritten by Gerard Beekmans - gerard@linuxfromscratch.org source /etc/sysconfig/rc source $rc_functions case "$1" in start) echo "Starting exim..." loadproc /usr/sbin/exim -bd -q1m ;; stop) echo "Stopping exim..." killproc exim ;; status) statusproc exim ;; restart) $0 stop sleep 1 $0 start ;; *) echo "Usage: $0 {start|stop|status|restart}" exit 1 ;; esac # End $rc_base/init.d/exim EOF chmod 755 /etc/rc.d/init.d/exim |
Create the run level symlinks with the following commands:
cd /etc/rc.d/init.d && ln -sf ../init.d/exim ../rc0.d/K25exim && ln -sf ../init.d/exim ../rc1.d/K25exim && ln -sf ../init.d/exim ../rc2.d/K25exim && ln -sf ../init.d/exim ../rc3.d/S35exim && ln -sf ../init.d/exim ../rc4.d/S35exim && ln -sf ../init.d/exim ../rc5.d/S35exim && ln -sf ../init.d/exim ../rc6.d/K25exim |
The Exim package contains exim, exim_dumpdb, exim_fixdb, exim_tidydb, exinext, exiwhat, exim_dbmbuild, exicyclog, exigrep, eximstats, exiqsumm, exiqgrep, exim_lock and exim_checkaccess.
exim is the Mail Transport Agent daemon.
exim_dumpdb writes the contents of exim databases to the standard output.
exim_fixdb modifies data in exim databases.
exim_tidydb removes old records from exim databases.
exinext queries remote host retry times.
exiwhat queries running exim processes.
exim_dbmbuild creates and rebuilds exim databases.
exicyclog cycles exim log files.
exigrep searches exim log files.
eximstats generates mail statistics from exim log files.
exiqsumm produces a summary of the messages on the mail queue.
exiqgrep is an utility for selective queue listing.
exim_lock locks a mailbox file.
exim_checkaccess states whether a given recipient address from a given host is acceptable or not.