Exim Bank Comores SA
   HOME

TheInfoList



OR:

Exim is a mail transfer agent (MTA) used on
Unix-like A Unix-like (sometimes referred to as UN*X or *nix) operating system is one that behaves in a manner similar to a Unix system, although not necessarily conforming to or being certified to any version of the Single UNIX Specification. A Unix-li ...
operating systems. Exim is
free software Free software or libre software is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any adapted versions. Free software is a matter of liberty, no ...
distributed under the terms of the
GNU General Public License The GNU General Public License (GNU GPL or simply GPL) is a series of widely used free software licenses that guarantee end users the Four Freedoms (Free software), four freedoms to run, study, share, and modify the software. The license was th ...
, and it aims to be a general and flexible mailer with extensive facilities for checking incoming e-mail. Exim has been ported to most Unix-like systems, as well as to
Microsoft Windows Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for serv ...
using the
Cygwin Cygwin ( ) is a POSIX-compatible programming and runtime environment that runs natively on Microsoft Windows. Under Cygwin, source code designed for Unix-like operating systems may be compiled with minimal modification and executed. The Cygwin in ...
emulation layer. Exim 4 is currently the default MTA on
Debian Debian (), also known as Debian GNU/Linux, is a Linux distribution composed of free and open-source software, developed by the community-supported Debian Project, which was established by Ian Murdock on August 16, 1993. The first version of D ...
Linux Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which ...
systems. Many Exim installations exist, especially within
Internet service provider An Internet service provider (ISP) is an organization that provides services for accessing, using, or participating in the Internet. ISPs can be organized in various forms, such as commercial, community-owned, non-profit, or otherwise private ...
s and universities in the United Kingdom. Exim is also widely used with the
GNU Mailman GNU () is an extensive collection of free software (383 packages as of January 2022), which can be used as an operating system or can be used in parts with other operating systems. The use of the completed GNU tools led to the family of operat ...
mailing list manager, and
cPanel cPanel is a web hosting control panel software developed by cPanel, LLC. It provides a graphical interface (GUI) and automation tools designed to simplify the process of hosting a web site to the website owner or the "end user". It enables admin ...
. In March 2021 a study performed by E-Soft, Inc., approximated that 60% of the publicly reachable mail-servers on the Internet ran Exim.


Origin

The first version of Exim was written in 1995 by
Philip Hazel Philip Hazel is a computer programmer best known for writing the Exim mail transport agent in 1995 and the PCRE regular expression library in 1997. He was employed by the University of Cambridge Computing Service until he retired at the end o ...
for use in the
University of Cambridge Computing Service The University of Cambridge Computing Service provided computing facilities across the University of Cambridge between 1970 and 2014. It was located primarily on the New Museums Site, Free School Lane, in the centre of Cambridge, England but, ...
’s e-mail systems. The name initially stood for ''EX''perimental ''I''nternet ''M''ailer. It was originally based on an older MTA, Smail-3, but it has since diverged from Smail-3 in its design and philosophy.


Design model

Exim, like Smail, still follows the
Sendmail Sendmail is a general purpose internetwork email routing facility that supports many kinds of mail-transfer and delivery methods, including the Simple Mail Transfer Protocol (SMTP) used for email transport over the Internet. A descendant of the ...
design model, where a single binary controls all the facilities of the MTA. Exim has well-defined stages during which it gains or loses privileges. Exim's security has had a number of serious security problems diagnosed over the years. Since the redesigned version 4 was released there have been four remote code execution flaws and one conceptual flaw concerning how much trust it is appropriate to place in the run-time user; the latter was fixed in a security lockdown in revision 4.73, one of the very rare occasions when Exim has broken backwards compatibility with working configurations.


Configuration

Exim is highly configurable and therefore has features that are lacking in other MTAs. It 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. The integration of a framework for content scanning, which allowed for easier integration of anti-virus and anti-spam measures, happened in the 4.x releases. This made Exim very suitable for enforcing diverse mail policies. The configuration is done through a (typically single) configuration file, which must include the main section with generic settings and variables, as well as the following optional sections: * the access control list (ACL) section which defines behaviour during the SMTP sessions, * the routers section which includes a number of processing elements which operate on addresses (the delivery logic), each tried in turn, * the transports section which includes processing elements which transmit actual messages to destinations, * the retry section where policy on retrying messages that fail to get delivered at the first attempt is defined, * the rewrite section, defining if and how the mail system will rewrite addresses on incoming e-mails * the authenticators' section with settings for
SMTP AUTH SMTP Authentication, often abbreviated SMTP AUTH, is an extension of the Simple Mail Transfer Protocol (SMTP) whereby a client may log in using any authentication mechanism supported by the server. It is mainly used by submission servers, where aut ...
, a rule per auth mechanism. The configuration file permits inclusion of other files, which leads to two different configuration styles.


Configuration styles

There are two main schools of configuration style for Exim. The native school keeps the Exim configuration in one file and external files are only used as data sources; this is strongly influenced by Philip Hazel's preferences and notes on performance as the configuration file is re-read at every exec, which happens post-fork for receiving inbound connections and at delivery. The second commonly encountered style is the
Debian Debian (), also known as Debian GNU/Linux, is a Linux distribution composed of free and open-source software, developed by the community-supported Debian Project, which was established by Ian Murdock on August 16, 1993. The first version of D ...
style which is designed to make it easier to have an installed application automatically provide mail integration support without having the administrator edit configuration files. There are a couple of variants of this and
Debian Debian (), also known as Debian GNU/Linux, is a Linux distribution composed of free and open-source software, developed by the community-supported Debian Project, which was established by Ian Murdock on August 16, 1993. The first version of D ...
provide documentation of their approach as part of the packages. In these approaches, a debconf configuration file is used to build the Exim configuration file, together with templates and directories with configuration fragments. The meta-config is tuned with macros which have names starting . When the supervisor for exim is invoked it re-processes the configuration files producing a single-file configuration that the exim binary uses. Because the Debian approach diverges significantly from the Exim one it is common to find a lack of support for the Debian approach on the regular Exim mailing-lists, with people advised to ask Debian questions on the Debian-managed mailing-list. The Ubuntu packaging still advises users to use the Debian mailing-list.


Documentation

Exim has extensive and exhaustive documentation; if a feature or some behaviour is not documented then this is classed as a bug. The documentation consists of The Exim Specification and two ancillary files: the experimental specification for features that might disappear and "NewStuff", which tracks very recent changes that might not have been fully integrated into the main specification. The Exim Specification is available in multiple formats, including online in HTML and in plain-text for fast searching. The document preparation system ensures that the plain-text format is highly usable.


Performance

Exim has been deployed in busy environments, often handling thousands of emails per hour efficiently. Exim is designed to deliver email immediately, without queueing. However, its queue processing performance is comparatively poor when queues are large (which happens rarely on typical low-traffic sites but can happen regularly on high-traffic sites). Unlike
qmail qmail is a mail transfer agent (MTA) that runs on Unix. It was written, starting December 1995, by Daniel J. Bernstein as a more secure replacement for the popular Sendmail program. Originally license-free software, qmail's source code was ...
, Postfix, and
ZMailer ZMailer is a SMTP mail transfer agent for Linux, BSD and other Unix-like systems. It is intended for gateways or mail servers or other large site environments that have extreme demands on the abilities of the mailer. It was first developed in 1 ...
, 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 of queue processing (leading to disproportionate amounts of time being spent on processing the same queue entries repeatedly). System-wide remote transport concurrency is unlimited by default (leading to a " thundering herd problem" when multiple messages addressed to a single domain are submitted at once) but can be limited by the configuration. In Philip Hazel's own words: ews://news.gmane.org/Pine.SOC.4.61.0412010932030.9481%40draco.cus.cam.ac.uk posting by Philip Hazel/ref> :"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, Hazel replaced Exim's
POSIX The Portable Operating System Interface (POSIX) is a family of standards specified by the IEEE Computer Society for maintaining compatibility between operating systems. POSIX defines both the system- and user-level application programming interf ...
regular expression library written by
Henry Spencer Henry Spencer (born 1955) is a Canadian computer programmer and space enthusiast. He wrote "regex", a widely used software library for regular expressions, and co-wrote C News, a Usenet server program. He also wrote ''The Ten Commandments for C ...
with a new library he developed called
PCRE Perl Compatible Regular Expressions (PCRE) is a library written in C, which implements a regular expression engine, inspired by the capabilities of the Perl programming language. Philip Hazel started writing PCRE in summer 1997. PCRE's syntax i ...
(
Perl Perl is a family of two high-level, general-purpose, interpreted, dynamic programming languages. "Perl" refers to Perl 5, but from 2000 to 2019 it also referred to its redesigned "sister language", Perl 6, before the latter's name was offici ...
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. In 2021 (after the 4.95 release) Exim transitioned to PCRE2.


Updates

Historically, Exim used a peculiar version numbering scheme where the first decimal digit is updated only whenever the main documentation is fully up to date; until that time, changes were accumulated in the file NewStuff. For this reason, a 0.01 version change can signify important changes, not necessarily fully documented.[Exim] Exim 4.21 released
/ref> In 2005, changes to Exim's version numbering were on the table of discussion. In more recent times, the document preparation system for Exim has been overhauled and changes are much more likely to just go immediately into The Exim Specification. The 4.70 release just followed on naturally from 4.69 and the 4.6x releases had up-to-date documentation. Philip Hazel retired from the University of Cambridge in 2007 and maintenance of Exim transitioned to a team of maintainers. Exim continues to be maintained actively, with frequent releases.


See also

* Comparison of mail servers * List of mail servers


References


Bibliography

*


External links

*
Exim wiki

Debian information on their packaging of Exim
{{Authority control Message transfer agents Free email server software Free email software Cross-platform software Email server software for Linux