%general-entities; ]> $Date$ Exim-&exim-version; Exim Introduction to Exim The Exim package contains a Mail Transport Agent written by the University of Cambridge, released under the GNU Public License. &lfs110a_checked; Package Information Download (HTTP): Download (FTP): Download MD5 sum: &exim-md5sum; Download size: &exim-size; Estimated disk space required: &exim-buildsize; Estimated build time: &exim-time; Additional Downloads Additional formats of the documentation (text-based docs are shipped with the sources) can be downloaded by following the links shown at . Exim Dependencies Required and Optional TDB (alternative to GDBM, built in LFS), , , , or MySQL, , , , , , Heimdal GSSAPI, and OpenDMARC User Notes: 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 '/# SUPPORT_TLS=yes/s,^#,,' \ -e '/# USE_OPENSSL/s,^#,,' \ -e 's,^EXIM_MONITOR,#EXIM_MONITOR,' src/EDITME > Local/Makefile && printf "USE_GDBM = yes\nDBMLIB = -lgdbm\n" >> 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-&exim-version; && install -v -m644 doc/* /usr/share/doc/exim-&exim-version; && ln -sfv exim /usr/sbin/sendmail && install -v -d -m750 -o exim -g exim /var/spool/exim Command Explanations sed -e ... > Local/Makefile: Most of Exim's configuration options are defined 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. printf ... > Local/Makefile: Setting those variables allows to use GDBM instead of the default Berkeley DB. Remove this command if you have installed . 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. SUPPORT_TLS=yes: This allows to support STARTTLS connections. If you use this option, you need to select whether OpenSSL or GnuTLS is used (see src/EDITME). USE_OPENSSL_PC=openssl: This tells the build system to use OpenSSL, and to find the needed libraries with pkg-config. #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 -sfv exim /usr/sbin/sendmail: Creates a link to sendmail for applications which need it. Exim will accept most Sendmail command-line options. install -v -m750 -o exim -g exim /var/spool/exim: Since /var/spool is owned by root and this version of exim drops root privileges early, to run as user exim, it cannot create the /var/spool/exim directory. As a work around, it is created manually. 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 or add additional functionality. If you wish to build and install the .info documentation, refer to . If you wish to build in Exim's interfaces for calling virus and spam scanning software directly from access control lists, uncomment the parameter and review the information found at . To use a backend database other than GDBM , see the instructions at . For SSL functionality, see the instructions at and . For tcpwrappers functionality, see the instructions at . For information about adding authentication mechanisms to the build, see chapters 33—41 of . For information about linking Linux-PAM, refer to the instructions . For information about linking database engine libraries used for Exim name lookups, see the instructions at . If you wish to add Readline support to Exim when invoked in test expansion () mode, see the information in the section of . 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 . A wealth of information can be also found at the Exim Wiki. Configuring Exim Config Files /etc/exim.conf and /etc/aliases /etc/exim.conf /etc/aliases Configuration Information Review the file /etc/exim.conf, and modify any settings to suit your needs. Note that the default configuration assumes that the /var/mail directory is world writable, but has the sticky bit set. If you want to use the default configuration, issue as the root user: chmod -v a+wt /var/mail 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 /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. <phrase revision="sysv">Boot Script</phrase> <phrase revision="systemd">Systemd Unit</phrase> To automatically start exim at boot, install the /etc/rc.d/init.d/exim init script exim.service unit included in the package: exim make install-exim The bootscript also starts the Exim daemon and dispatches a queue runner process every 15 minutes. Modify the parameter in /etc/rc.d/init.d/exim, if necessary for your installation. Contents Installed Programs Installed Libraries Installed Directories exicyclog, exigrep, exim, exim-&exim-daemon-version;, exim_checkaccess, exim_dbmbuild, exim_dumpdb, exim_fixdb, exim_lock, exim_tidydb, eximstats, exinext, exipick, exiqgrep, exiqsumm, exiwhat, and optionally, eximon, eximon.bin, and sendmail (symlink) None /usr/share/doc/exim-&exim-version; and /var/spool/exim Short Descriptions exicyclog cycles Exim log files exicyclog exigrep searches Exim log files exigrep exim is a symlink to the exim-&exim-daemon-version; MTA daemon exim exim-&exim-daemon-version; is the Exim mail transport agent daemon exim-&exim-daemon-version; exim_checkaccess states whether a given recipient address from a given host is acceptable or not exim_checkaccess exim_dbmbuild creates and rebuilds Exim databases exim_dbmbuild exim_dumpdb writes the contents of Exim databases to the standard output exim_dumpdb exim_fixdb modifies data in Exim databases exim_fixdb exim_lock locks a mailbox file exim_lock exim_tidydb removes old records from Exim databases exim_tidydb eximstats generates mail statistics from Exim log files eximstats exinext queries remote host retry times exinext exipick selects messages based on various criteria exipick exiqgrep is a utility for selective queue listing exiqgrep exiqsumm produces a summary of the messages in the mail queue exiqsumm exiwhat queries running Exim processes exiwhat eximon is a start-up shell script for eximon.bin used to set the required environment variables before running the program eximon 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 eximon.bin