Exim

From Wikipedia, the free encyclopedia

Exim
Latest release: 4.63 / July 31, 2006
Preview release: none /
OS: Cross-platform
Use: Mail transfer agent
License: GNU General Public License
Website: http://www.exim.org/

Exim is a mail transfer agent (MTA) used on Unix-like operating systems. The first version was written in 1995 by Philip Hazel for use in the University of Cambridge Computing Service's e-mail systems. There is currently a port of Exim to Microsoft Windows using the Cygwin emulation layer.

Exim was originally based on an older MTA, Smail-3, but it has since diverged from Smail-3 in its design and philosophy[1]. Both programs still follow the Sendmail design model, where a single binary controls all the facilities of the MTA. This monolithic design is considered by some to be inherently less secure, largely due to the lack of separation between the individual components of the system.

Exim has always had substantial facilities for mail policy controls, providing facilities for the administrator to control who may send or relay mail through the system. In version 4.x this has matured to an Access Control List based system allowing very detailed and flexible controls. Along with the integration of a framework for content scanning, this makes Exim very suitable for enforcing mail policy.

Exim has been deployed in busy environments, often handling thousands of emails per hour efficiently. However, its performance is comparatively poorer when circumstances cause more than a tiny amount of mail to be queued. Unlike Qmail, Postfix, and Zmailer, Exim does not have a central queue manager (i.e. an equivalent of qmail-send, qmgr, or scheduler). There is thus no centralized load balancing, either of queue processing (leading to disproportionate amounts of time being spent on processing the same queue entries repeatedly) or of system-wide remote transport concurrency (leading to a "thundering herd" problem when multiple messages addressed to a single domain are submitted at once). In Philip Hazel's own words[2]:

"The bottom line is that Exim does not perform particularly well in environments where the queue regularly gets very large. It was never designed for this; deliveries from the queue were always intended to be 'exceptions' rather than the norm."

In 1997, Philip Hazel replaced Exim's POSIX regular expression library written by Henry Spencer with a new library he developed called PCRE (Perl Compatible Regular Expressions). Perl regular expressions are much more powerful than POSIX and other common regular expressions, and PCRE has become popular in applications other than Exim.

Exim is free software distributed under the terms of the GNU General Public Licence, and it has been ported to most Unix-like systems. Exim 4 is currently the default MTA on Debian GNU/Linux systems. A large number of Exim installations exist, especially within Internet service providers[3] and universities in the UK. Exim is also widely used with the GNU Mailman mailing list manager, and cPanel.

[edit] References

  1. ^ Smail-3 homepage
  2. ^ posting by Philip Hazel
  3. ^ Golanski, Y (2000) The Exim Mail Transfer Agent in a Large Scale Deployment

[edit] External links