Fact-checked by Grok 2 weeks ago

Exim

Exim is a free and open-source () designed for operating systems, enabling the routing, delivery, and reception of messages via the Simple Mail Transfer Protocol (SMTP). Originally developed to handle on Internet-connected systems, it serves as a flexible alternative to other MTAs like , with capabilities for local and remote message processing, including delivery to mailboxes, pipes, or aliases. As of November 2025, the current stable version is 4.99, licensed under the GNU General Public License. Exim's development began in 1995 at the Computing Service, where created it from scratch as a replacement for older s such as Smail, aiming for greater flexibility in mail routing and enhanced security checks. The first public release occurred in June 1996, following initial internal use starting in November 1995, and it quickly gained adoption, becoming the default in distributions from version 2.1 in 1999. Hazel maintained the project as a solo effort initially, incorporating volunteer contributions over time, until his retirement in 2007; development has continued under community stewardship hosted by the . Key to Exim's popularity are its highly configurable architecture, which uses a single for defining routing rules, access controls, and transport options, and its support for advanced features like access control lists (ACLs) for verifying senders and recipients, integration with databases for lookups, and content scanning for and detection. It excels in for high-volume environments, such as those in universities and service providers, while offering robust performance through queue management and retry mechanisms for undeliverable messages. Exim also includes built-in support for modern standards, including protocols like SMTP AUTH and via TLS.

History and Development

Origin and Initial Release

Exim's development began in 1995 under the leadership of at the Computing Service, where it was created as a successor to Smail 3 to serve as the primary mail transfer agent () for the institution's systems. Hazel, drawing from his experience with Smail 3's lightweight design and , wrote Exim from scratch in C to provide enhanced functionality while maintaining simplicity and efficiency for operating systems connected to the . This initiative addressed the growing demands of academic computing environments, where reliable and rapid delivery was essential, with most messages at being processed almost immediately. The initial release, Exim 1.0, occurred at the end of 1995 for internal use, with the first public release following in June 1996. It emphasized flexibility in configuration to overcome the complexities associated with , the dominant at the time. Unlike , which often required recompiling the binary for site-specific customizations such as routing rules, Exim introduced a approach that allowed administrators to modify behavior dynamically without rebuilding the software. This design choice stemmed from the need for a highly configurable capable of handling intricate routing scenarios—such as domain-specific policies and address verification—through textual directives, making it more accessible for system administrators in diverse network setups. Early adoption was driven by its deployment within Cambridge's , where it quickly proved effective for high-volume handling. A significant milestone came with the release of Exim 4.00 in May 2000, which subsequently became the default in distributions with 3.0 in July 2002, replacing earlier versions and solidifying its role in ecosystems due to its debconf-integrated configuration framework. This integration facilitated easier setup and maintenance, contributing to widespread use among service providers and educational institutions.

Evolution and Version History

Exim's development transitioned significantly following the retirement of its primary author, , from the Computing Service in September 2007, after which a volunteer maintenance team was established to ensure continued support and evolution of the software. This team, comprising contributors from the Exim user community, has since handled releases, security patches, and feature enhancements, maintaining Exim's open-source status under the GNU General Public License. The major version 4.00, released in 2000, marked a substantial redesign from earlier iterations, introducing Access Control Lists (ACLs) to enable flexible policy enforcement on incoming and outgoing mail, replacing the more rigid and mechanisms of prior versions. Subsequent releases built on this foundation; for instance, version 4.80, issued in May 2012 with a security update in October, added native support for (DKIM) verification and signing, enhancing capabilities amid rising concerns. Exim's responsiveness to security threats has been a hallmark of its evolution, exemplified by the handling of critical vulnerabilities. In 2019, the project promptly addressed CVE-2019-10149, a remote code execution flaw affecting versions 4.87 to 4.91 due to improper recipient address validation in the deliver_message() function, which allowed attackers to execute arbitrary commands as root after maintaining a long-lived . This incident underscored the maintainers' commitment to rapid patching, with Exim 4.92 released shortly thereafter to mitigate the risk. Further, version 4.97, released on November 4, 2023, incorporated fixes for multiple zero-day vulnerabilities disclosed earlier that year, including remote code execution issues in the SMTP AUTH handling (CVE-2023-42115) and format string vulnerabilities (CVE-2023-42116, CVE-2023-42117), ensuring robustness against exploitation attempts on exposed servers. Exim's enduring popularity is evidenced by its widespread adoption, with a March 2023 study by E-Soft, Inc., estimating that approximately 59% of publicly reachable mail servers on the utilized Exim, highlighting its reliability and ease of in diverse environments. The most recent stable release, 4.99 on October 28, 2025, focused on stability and modernization, delivering bug fixes for issues like out-of-bounds reads and crashes, alongside TLS enhancements such as support for SRV records to specify TLS availability per draft standards, and new options for early TLS banners. Ongoing development by the volunteer team continues to emphasize , , and with contemporary protocols, ensuring Exim remains a viable for systems into 2025 and beyond.

Design and Architecture

Core Design Principles

Exim employs a single-process model for message delivery, where each invocation of the Exim binary handles the reception, routing, and delivery of messages in a unified manner, without relying on multiple specialized daemons for different phases of mail processing. This design emphasizes runtime configurability, allowing administrators to modify behavior through a single text-based that can be updated without recompiling the software, enabling flexible adaptation to diverse mail environments. Unlike queue-manager architectures, Exim lacks a central queue manager process; instead, it manages deferred messages via periodic queue runs, which scan the spool directory at scheduled intervals to attempt redelivery based on retry rules. In contrast to systems like Postfix, which utilize a dedicated central queue manager to orchestrate mail flow across modular components for enhanced scalability under high loads, Exim's single-process approach prioritizes simplicity and direct control, potentially at the cost of concurrent efficiency but with greater ease in scripting custom logic. Central to Exim's principles are its expansion variables and string expansion syntax, which facilitate by substituting contextual data—such as sender details or information—into directives at runtime, allowing for conditional logic in address handling without hard-coded paths. Additionally, the system focuses on enforcement during SMTP sessions through lists (ACLs), which apply granular rules at key protocol stages to validate senders, relaying, and mitigate abuse, ensuring robust security within the delivery process. Exim builds on the simplicity of its predecessor, Smail 3, by adopting core ideas like straightforward interfaces and batch SMTP handling while introducing entirely new code to incorporate advanced and capabilities, transforming it into a more powerful yet still scriptable mail transfer agent. The configuration file plays a pivotal role in realizing these principles, serving as the primary for defining expansions, ACLs, and logic.

Internal Components and Processing

Exim's internal architecture relies on modular components known as routers and , which form the core of its message handling pipeline. Routers are responsible for interpreting recipient addresses and determining the appropriate delivery path, either by assigning the address to a for immediate action or by generating additional addresses through mechanisms like or forwarding. These routers operate sequentially during the delivery phase, with each one evaluated in configuration-defined order until a match is found, allowing for flexible decision-making based on domain, local part, or other criteria. Transports execute the actual delivery of messages once routed, supporting a variety of methods such as writing to local files via the appendfile transport, piping to external commands with the pipe transport, or sending to remote hosts using SMTP through the smtp transport. In earlier versions of Exim, a separate category called directors handled local deliveries, but since Exim 4, these functions have been integrated into the unified router framework, simplifying the overall structure while maintaining through options. For retry scenarios, transports are invoked again after deferrals, guided by retry rules that specify intervals and conditions for reattempting failed deliveries, ensuring persistent handling without dedicated "retransports" as a distinct component. The message processing flow begins with reception, where incoming mail arrives either via SMTP over TCP/IP or through local submission interfaces, triggering the creation of spool files containing the message , headers, and . Address rewriting may occur during this phase to normalize or expand recipients, followed by content scanning integrated via Access Control Lists (ACLs), which perform checks at key SMTP stages such as after RCPT TO and at the end of the phase to enforce policies like detection or requirements. If delivery succeeds, the transport handles the final disposition; otherwise, the message is queued for later attempts. Queue management centers on the spool directory, typically located at /var/spool/exim, where undelivered messages are stored in subdirectories like input/ for organization and performance. A dedicated runner , invoked periodically via the exim -q command or as a daemon, scans the queue to retry deferred messages according to configured retry rules, freezing persistently failing ones and optionally discarding them after a timeout to prevent indefinite backlog. This pipeline enables efficient, asynchronous ing, with local deliveries handled sequentially and remote ones in parallel up to a configurable limit.

Configuration

File Structure and Syntax

Exim's primary , typically named exim.conf, serves as the central runtime configuration for the mail transfer agent and is compiled into the Exim binary via the CONFIGURE_FILE setting. This file supports optional inclusions using directives such as .include <filename> for mandatory files or .include_if_exists <filename> for optional ones, allowing nested includes with absolute or relative paths to modularize the configuration. On -based systems, the configuration file is commonly located at /etc/exim4/exim4.conf. The consists of global options and macro definitions, followed by optional sections separated by lines containing the word "begin" followed by the section name. These sections can appear in any order and include the Access Control Lists (ACLs) for SMTP processing, routers for address resolution and routing, transports for message delivery mechanisms, retry rules for handling delivery failures, and authenticators for SMTP authentication. Global options and macro definitions precede these sections, while rewrite rules may follow. Syntax in the employs macro definitions in uppercase, such as NAME = value, which can be redefined with == and are expanded before processing begins. Option settings use the format name = value, including list types like domainlist for domains or hostlist for hosts, with options toggled via prefixes like no_ or explicit true/false values. String expansions, enclosed in ${...}, enable dynamic content generation using variables such as $local_part for the recipient's local part, supporting conditionals, lookups, and operators as detailed in the specification. Error handling in Exim involves logging to three primary files: the main log for deliveries and receipts, the reject log for policy denials, and the panic log for critical errors, with content controlled by the log_selector option to enable categories like +acl or +tls. Debugging is facilitated by the -d command-line option, which outputs verbose details to stderr for categories such as acl, expand, or route, restricted to administrators to prevent sensitive data exposure; additional flags like -dd limit debugging in subprocesses. Syntax errors trigger entries in the panic log and a non-zero exit code upon configuration loading.

Styles and Customization Options

Exim offers two primary styles to accommodate different administrative preferences and . The native style employs a single monolithic , typically named configure or exim.conf, which encompasses all global options, lists (ACLs), routers, transports, and other components in one cohesive document. This approach, provided by in the Exim source distribution as src/configure.default, suits environments where simplicity and direct editing are prioritized. In contrast, the packaging of Exim introduces a -file style, organizing the configuration into multiple modular files within the /etc/exim4/conf.d/ directory, such as separate files for main options, ACLs, routers, and transports. These files are automatically concatenated in alphanumeric order by the update-exim4.conf script, which generates the final configuration in /var/lib/exim4/config.autogenerated based on debconf settings from /etc/exim4/update-exim4.conf.conf. This split style facilitates easier management and updates on -based systems without overwriting custom changes. Customization in Exim is achieved through flexible techniques that allow administrators to tailor behavior dynamically. Lookup tables enable with external sources, such as LDAP for directory queries or SQL databases for user and alias resolution; for instance, expansions like ${lookup ldap{user=$local_part}} or ${lookup sql{SELECT ...}} can retrieve values on demand during message processing. Conditional expansions further enhance adaptability by evaluating runtime conditions, using operators like ${if eq{$domain}{example.com}{yes}{no}} to branch logic based on variables, headers, or lookup results, thereby supporting scenario-specific or filtering. Additionally, runtime interfaces such as the exim -bP command allow querying expanded configuration variables without restarting the server, aiding in and verification; for example, exim -bP configure displays the full expanded configuration. For advanced customization, Exim supports dynamic module loading, enabling extensions like lookup types (e.g., or ) and authentication drivers to be loaded at without recompiling the , provided the allows it and appropriate build options such as LOOKUP_<type>=2 are set. This feature reduces size and dependencies, loading modules from a specified directory like /usr/lib/exim4/modules only when needed. Best practices for large-scale deployments emphasize modular configurations to improve and . The split-file approach is particularly recommended for sites with high or complex needs, as it allows isolated updates to components like ACLs without risking the entire setup; custom files can be added (e.g., 40_custom-acls) and processed via update-exim4.conf followed by a service restart. For basic anti-spam setups, administrators can customize ACLs to deny messages based on DNS blacklists, such as by adding deny dnslists = zen.spamhaus.org in the connect or rcpt ACL sections, or integrate SpamAssassin via content scanning with expansions like ${if >{$spam_score_int}{50}{reject}{accept}} to score and filter incoming mail. These techniques balance with , ensuring configurations remain robust across distributed environments.

Features and Capabilities

Security and Policy Controls

Exim employs Access Control Lists (ACLs) to enforce granular policies during SMTP sessions, allowing administrators to accept, deny, or defer connections based on various criteria. For instance, ACLs can deny messages from sender IP addresses listed in DNS blacklists using the dnslists condition, such as deny dnslists = spamhaus.example, or accept only from trusted hosts via accept hosts = +local_networks. HELO checks are performed in the acl_smtp_helo phase, where the verify = helo condition validates the client's HELO/EHLO name against DNS records to prevent spoofing. Content inspection occurs in the acl_smtp_data phase, employing the regex condition to match patterns indicative of , like deny regex = ^Subject:.*viagra, thereby mitigating at the protocol level. SMTP authentication in Exim supports multiple mechanisms through the SASL framework, including CRAM-MD5 for challenge-response verification without transmitting passwords, as defined in the cram_md5 . involves specifying authenticators in the file, such as cram_md5: driver = cram_md5 with server_secret for credential storage, and enabling via acl_smtp_auth. To enhance , can be restricted to TLS-encrypted sessions using conditions like ${if eq{$tls_in_cipher}{}{no}{yes}} in server_advertise_condition, ensuring encrypted transmission of credentials over opportunistic or mandatory TLS. Exim also integrates with external SASL libraries like SASL when compiled with AUTH_CYRUS_SASL=yes. Exim has faced notable vulnerabilities. One such issue is CVE-2019-10149, a remote code execution flaw affecting versions 4.87 to 4.91 due to improper validation of recipient addresses in the deliver_message() function, leading to remote command execution and . This issue, disclosed in 2019, allowed unauthenticated attackers to execute arbitrary commands via crafted emails. Mitigations include upgrading to version 4.92 or later, where the vulnerability is patched, alongside built-in features like in ACLs—configured as ratelimit = 100 / 1h / strict to curb excessive connections—and sandboxing through privilege separation, where Exim drops privileges early in processing to limit exploit impact. More recently, CVE-2024-39929, disclosed in July 2024, affects Exim versions through 4.97.1 and involves misparsing of multiline RFC 2231 header filenames, allowing remote attackers to bypass the $mime_filename extension-blocking protection mechanism and deliver malicious attachments. Mitigation requires upgrading to version 4.98 or later. Additionally, CVE-2025-26794, disclosed in February 2025, is a remote SQL injection vulnerability in Exim 4.98 before 4.98.1 when SQLite hints and ETRN serialization are enabled, potentially allowing unauthorized database access. It is addressed in version 4.98.1 and later. To combat email abuse, Exim provides native support for DKIM verification, enabled by default when compiled with TLS support, which checks incoming signatures in the acl_smtp_dkim phase and logs results like "DKIM verification succeeded" for auditing. integration requires the libopendmarc library and configuration options such as dmarc_tld_file for organizational domain identification, allowing policy enforcement in the DATA based on dmarc_status—for example, rejecting messages with reject dmarc_status = reject. Additionally, the content scanning extension, activated via WITH_CONTENT_SCAN at , offers hooks for anti-abuse tools: the malware condition interfaces with using av_scanner = clamd:127.0.0.1 3310, while the spam condition calls SpamAssassin via spamd_address = 127.0.0.1 783, enabling rejection of infected or spammy content during processing in acl_smtp_mime.

Integration with External Tools

Exim provides robust hooks for content scanning through its Access Control Lists (ACLs), enabling integration with external antivirus and filtering tools via the malware and spam conditions in the acl_smtp_data ACL. For antivirus scanning, Exim interfaces with by connecting to its clamd daemon over or Unix sockets, specified via the av_scanner option, such as av_scanner = clamd:/var/run/clamav/clamd.ctl. This requires compiling Exim with the WITH_CONTENT_SCAN flag and running the ClamAV daemon; upon detection, variables like $malware_name capture details for or rejection. Similarly, spam filtering integrates with SpamAssassin through the spam condition, which queries the spamd daemon via the spamd_address option, for example spamd_address = 127.0.0.1 783, returning scores in $spam_score for threshold-based actions. These integrations often employ pipe transports to pass messages to the tools, processing temporary spool files during the DATA phase of SMTP. Database integrations in Exim support dynamic lookups for virtual domains and user validation using query-style mechanisms in routers and ACLs. For MySQL, lookups use SQL queries like ${lookup mysql{SELECT mailbox FROM users WHERE email='${quote_mysql:$local_part@$domain}'}, configured with mysql_servers to specify hosts, databases, users, and passwords, such as mysql_servers = localhost/maildb/eximuser/secret. PostgreSQL follows a similar pattern with ${lookup pgsql{SELECT home FROM users WHERE email='${quote_pgsql:$local_part@$domain}'}} and the pgsql_servers option, enabling efficient validation of recipient addresses against virtual user tables. LDAP integration employs URL-based queries, for instance ${lookup ldap{ldap:///ou=people,o=example?mail?sub?(mail=${quote_ldap:$local_part@$domain})}, with ldap_default_servers defining server connections, often for directory-based authentication and domain mapping in enterprise environments. External scripting capabilities extend Exim's flexibility through embedded support and callouts to external programs. To enable embedded , Exim is compiled with EXIM_PERL = perl.o in the Local/Makefile, requiring 5.004 or later, and initialized via the perl_startup option to load subroutines from a file like /etc/exim.pl. These subroutines are invoked in string expansions as ${perl{myfunc}{arg1}}, allowing custom verification logic, such as checking against external data sources, with access to Exim variables via Exim::expand_string(). For broader external interactions, the ${run} expansion executes programs during processing, e.g., ${run{/usr/local/bin/verify $local_part}}, capturing output for conditions, while pipe transports route messages to custom scripts for advanced verification. In common self-hosted setups, Exim integrates with Dovecot for local delivery using the LMTP transport, which pipes messages over Unix sockets or TCP as defined by RFC 2033, configured via options like command = /usr/lib/dovecot/deliver -f $sender_address -d $local_part. This enables Dovecot to handle final delivery and Sieve filtering after Exim's routing. Exim is also frequently paired with Roundcube as a webmail interface, where Roundcube submits outgoing mail via Exim's SMTP port and retrieves messages through Dovecot's IMAP, forming a complete open-source email stack without direct API coupling.

Performance and Comparisons

Efficiency and Benchmarks

Exim exhibits strong performance in , particularly for immediate transactions, with reported throughputs reaching up to 100,000 messages per hour on modest configurations such as standard Unix servers with limited CPU and resources. This capability stems from its efficient single- daemon model, which handles SMTP sessions with low by connections within a single and forking only for tasks when necessary. Empirical benchmarks from 2023 evaluations demonstrate Exim's advantages in , enabling better handling of peak traffic without significant resource spikes. For queue management, Exim processes thousands of messages per hour without requiring a separate queue runner , leveraging its built-in periodic scanning and delivery mechanisms to maintain steady throughput even during bursts. These results position Exim as particularly effective for environments with variable volumes. Key factors enhancing Exim's efficiency include the minimal computational overhead associated with its string expansion features, which allow flexible and filtering without introducing substantial delays, and built-in optimizations like DNS caching to avoid repeated network queries during message . The caching mechanism, for instance, stores recent DNS resolutions in memory, reducing average lookup times by orders of magnitude in high-volume scenarios. In usage contexts, Exim proves ideal for low-to-medium volume servers, such as those in web hosting or small setups, where its balance of performance and configurability shines. As of July 2024, a survey indicated that Exim powers approximately 59% of publicly reachable mail transfer agents, reflecting its reliability and efficiency in real-world deployments across diverse infrastructures.

Limitations and Optimizations

Exim exhibits limitations in when handling very large , such as those exceeding one million messages, primarily due to the absence of a central manager and reliance on sequential scans for . This design can lead to bottlenecks under high load, as each individually scans the entire spool , potentially causing delays in delivery and increased I/O overhead. To mitigate these issues, administrators can implement optimizations such as running multiple queue runners at regular intervals, for example, using the -q1h option to perform queue scans hourly, which distributes the workload over time and reduces contention. Enabling the split_spool_directory option divides the spool into subdirectories based on message identifiers, improving performance by minimizing directory entry lookups in large queues. Additionally, external utilities like exiqgrep allow for selective querying and management of queue messages without full scans, facilitating targeted interventions such as removing problematic entries. In comparisons with other MTAs, Exim tends to be slower than Postfix in scenarios with high queue volumes due to Postfix's parallel processing via a dedicated manager, though Exim offers greater flexibility for custom and filtering. Historical resource exhaustion vulnerabilities, such as those enabling through failed privilege drops under load in versions prior to 4.76, have been addressed in subsequent releases to prevent excessive process forking and system overload. Further tuning involves adjusting log selectors to minimize verbosity, such as disabling non-essential entries via the log_selector option, which reduces CPU and disk I/O load from excessive logging during peak operations. Disabling unused features in the configuration, like unnecessary checks or transports, also lowers overall resource consumption by streamlining message processing paths.

Documentation and Community

Official Resources

The primary official documentation for Exim is the Exim Specification, a comprehensive reference manual that details all configuration options, features, and operational behaviors for the current release. Updated with each version, the specification for Exim 4.99, released on October 27, 2025, serves as the authoritative guide covering routers, transports, ACLs, and command-line interfaces, available in , PDF, and other formats on the official website. The official Exim website at exim.org provides central access to resources, including the downloads section at downloads.exim.org for source distributions in tar.xz, tar.gz, and tar.bz2 formats, signed with PGP keys from the Exim Maintainers. Mailing lists hosted at lists.exim.org facilitate communication: exim-users for general user discussions, exim-dev for development and bug reports, and exim-announce for low-volume release notifications, with archives searchable via the website. Bug reports are submitted through bugs.exim.org or to [email protected]. Exim includes built-in administrative tools accessible via command-line options, such as -bt for testing address routing without actual —accepting recipient addresses as arguments and returning codes indicating success (0), partial resolution (1), or failure (2)—and -M for forcing of specified messages by ID, thawing frozen messages and bypassing retry rules, restricted to administrators unless configured otherwise. The source distribution features a contrib directory containing sample configuration files, scripts, and utilities contributed by maintainers for common setups like and filtering. Release notes and changelogs are provided in the distribution's doc directory, with ChangeLog detailing all modifications, deprecations, and new features per version, and NewStuff summarizing major updates since the previous release to aid upgrades.

Support and Maintenance

Exim benefits from a dedicated open-source community that has supported its development and usage since its inception. The primary venue for user discussions and problem-solving is the exim-users mailing list, which has been active since 1996 and serves as a forum for administrators to share configurations, troubleshoot issues, and exchange best practices. Complementing this, the exim-announce list, operational since 1999, provides official updates on releases and security advisories, while the exim-dev list facilitates contributions to the codebase. Key maintenance responsibilities have been handled by Heiko Schlittermann since at least the early 2010s, with formal recognition of his role in project governance by 2022. Bug reports and feature requests for Exim are managed through a dedicated instance at bugs.exim.org, where developers and users collaborate to identify, prioritize, and resolve issues. This system has facilitated the addressing of numerous vulnerabilities and enhancements over the years, ensuring ongoing stability for deployments. Exim is readily available through major distributions, serving as the default mail transfer agent in and systems, where it can be installed via standard package managers like apt. For Red Hat-based distributions such as , , or RHEL, where Postfix is the default, Exim packages are provided by third-party repositories like EPEL, allowing users to adopt it as an alternative . As a volunteer-driven under the GNU General Public License, Exim's maintenance emphasizes incremental updates and security hardening rather than architectural overhauls. In 2025, efforts continue to focus on timely security patches, as evidenced by releases addressing critical vulnerabilities like CVE-2025-26794, with no indications of major rewrites in the near term. The sustainability relies on community contributions, with ongoing support through mailing lists and the tracker to adapt to evolving email standards and threats.

References

  1. [1]
    Exim Internet Mailer
    Exim is a message transfer agent (MTA) developed at the University of Cambridge for use on Unix systems connected to the Internet.
  2. [2]
    Specification of the Exim Mail Transfer Agent
    1. Redirection data · 2. Forward files and address verification · 3. Interpreting redirection data · 4. Items in a non-filter redirection list · 5. Redirecting to a ...
  3. [3]
    How free software hijacked Philip Hazel's life - LWN.net
    Jun 19, 2024 · Philip Hazel was 51 when he began the Exim message transfer agent (MTA) project in 1995, which led to the Perl-Compatible Regular Expressions (PCRE) project in ...Missing: history | Show results with:history
  4. [4]
    Exim: a case study in sustainability - OSS Watch
    Jun 5, 2007 · This case study, examining the Exim project, has been written by Philip Hazel, University of Cambridge Computing Service. Brief description.
  5. [5]
    1. Introduction - Exim: The Mail Transfer Agent [Book] - O'Reilly
    Exim can accept messages from remote hosts using SMTP over TCP/IP, and as well as from local processes. It handles local deliveries to mailbox files or to pipes ...
  6. [6]
    Exim - Mailrelay
    Exim is an open-source mail transfer agent (MTA) that was originally developed at the University of Cambridge by Philip Hazel.Missing: history | Show results with:history<|control11|><|separator|>
  7. [7]
    Exim Overview
    Nov 9, 2000 · Exim is a mail transfer agent (MTA) developed at the University of Cambridge for use on Unix systems connected to the Internet. It is freely ...Missing: history | Show results with:history
  8. [8]
    1. Introduction
    ### Summary of Exim Introduction (Chapter 1)
  9. [9]
    Exim 4 for Debian - Chiark.greenend.org.uk
    It is the first Exim package in Debian that can be configured using debconf. However, the entire configuration framework is extremely flexible.
  10. [10]
    Chapter 3 - How Exim receives and delivers mail
    Exim 4 (unlike previous versions of Exim) implements policy controls on incoming mail by means of Access Control Lists (ACLs). Each list is a series of ...
  11. [11]
    [exim-announce] Exim 4.80.1 Security Release
    Oct 26, 2012 · Exim release 4.80.1 is now available from the primary ftp site: * ftp://ftp.exim.org/pub/exim/exim4/exim-4.80.1.tar.gz[exim] Exim 4.80.1 security release - details - Re[exim] DKIM Signing while send mail from subdomainMore results from lists.exim.org
  12. [12]
  13. [13]
    NVD - CVE-2019-10149
    ### Summary of CVE-2019-10149
  14. [14]
    [exim] Exim 4.97 released
    Nov 4, 2023 · Date: 2023-11-04 06:58. 2023-11-04 13:58. -700. UTC. To: exim-announce, exim users ... We are pleased to announce the availability of release 4.97 of Exim.[exim] Re: [exim-announce] Exim 4.97-RC1 released[exim] Release of exim-4.97-RC2 (including the available fixes)More results from lists.exim.org
  15. [15]
    Exim 0day Vulnerabilities: Everything You Need to Know | Wiz Blog
    Oct 2, 2023 · Exim is a very prevalent mail server, due in part to being the default MTA preinstalled on Debian and other Linux distributions. According ...<|separator|>
  16. [16]
    Critical Exim bug bypasses security filters on 1.5 million mail servers
    Jul 12, 2024 · According to the survey, over 59% of the 409,255 mail servers reachable on the Internet during the survey were running Exim, representing just ...<|separator|>
  17. [17]
    [exim-announce] Exim 4.99 Released
    Oct 29, 2025 · Exim 4.99 Released Dear Exim users and maintainers, We are pleased to announce the availability of release 4.99 of Exim.[exim] Exim 4.96 released[exim-announce] Exim 4.98 releasedMore results from lists.exim.org
  18. [18]
    [PDF] Specification of the Exim Mail Transfer Agent
    Exim is a mail transfer agent (MTA) for hosts that are running Unix or Unix-like operating systems. It was designed on the assumption that it would be run ...
  19. [19]
    Postfix Architecture Overview
    ### Summary of Postfix Design: Central Queue Manager and Modular Architecture
  20. [20]
    6.2.5 Router for Exim 4 - GNU.org
    Feb 26, 2019 · 6.2.5 Router for Exim 4. In Exim 4, there's no such thing as directors - you need to add a new router instead. Also, the canonical order of ...
  21. [21]
    57. Format of spool files - Exim Internet Mailer
    This item is obsolete, and is not generated from Exim release 4.61 onwards; · A line of this form is present for every ACL connection variable that is defined.
  22. [22]
    Chapter 6 - The Exim runtime configuration file
    The runtime configuration file must be owned by root or by the user that is specified at compile time by the CONFIGURE_OWNER option (if set).Missing: development MTA recompiling
  23. [23]
    53. Log files - Exim Internet Mailer
    Exim writes three different logs, referred to as the main log, the reject log, and the panic log. Every log line starts with a timestamp.Missing: MTA | Show results with:MTA
  24. [24]
    5. The Exim command line
    Exim's command line takes the standard Unix form of a sequence of options, each starting with a hyphen character, followed by a number of arguments.
  25. [25]
    7. The default configuration file - Exim Internet Mailer
    The default configuration file supplied with Exim as src/configure.default is sufficient for a host with simple mail requirements.Missing: MTA | Show results with:MTA
  26. [26]
    Exim - Debian Wiki
    Sep 12, 2025 · The Debian package of Exim provides a number of methods for configuration to simplify the process. There are three ways you can configure exim4.
  27. [27]
    Chapter 9 - File and database lookups - Exim Internet Mailer
    Exim can be configured to look up data in files or databases as it processes messages. Two different kinds of syntax are used.
  28. [28]
    11. String expansions - Exim Internet Mailer
    When a string is being expanded it is copied verbatim from left to right except when a dollar or backslash character is encountered.Missing: conditional | Show results with:conditional
  29. [29]
    4. Building and installing Exim - Exim Internet Mailer
    The building process for Exim is arranged to make it easy to build binaries for a number of different architectures and operating systems from the same set of ...
  30. [30]
    Access Control Lists (ACLs) are defined in a ... - Exim Internet Mailer
    Access Control Lists (ACLs) are defined in a separate section of the runtime configuration file, headed by “begin acl”. Each ACL definition starts with a name, ...
  31. [31]
    33. SMTP authentication - Exim Internet Mailer
    The first of these supports the CRAM-MD5 authentication mechanism (RFC 2195 [https://www.rfc-editor.org/rfc/rfc2195]), and the second provides an interface ...
  32. [32]
    None
    ### Summary of CVE-2019-10149
  33. [33]
    58. DKIM, SPF, SRS and DMARC - Exim Internet Mailer
    DKIM (DomainKeys Identified Mail). DKIM is a mechanism by which messages sent by some entity can be provably linked to a domain which that entity controls.Missing: SpamAssassin ClamAV
  34. [34]
    45. Content scanning at ACL time - Exim Internet Mailer
    SpamAssassin has its own set of configuration files. Please review its documentation to see how you can tweak it. The default installation should work nicely, ...
  35. [35]
    12. Embedded Perl - Exim Internet Mailer
    To make use of the Perl support, you need version 5.004 or later of Perl installed on your system. To include the embedded interpreter in the Exim binary, ...
  36. [36]
    28. The lmtp transport
    ### Summary: Exim LMTP Transport Integration with Dovecot or Similar MDA/IMAP Servers
  37. [37]
    Exim - ArchWiki
    Aug 15, 2025 · Exim is a versatile mail transfer agent. This article builds upon Mail server. While the Exim wiki provides some helpful how-tos on certain specific use cases.Missing: pipeline | Show results with:pipeline
  38. [38]
    10 Best Self-Hosted Email Server Platforms to Use in 2025 - RunCloud
    Mar 3, 2025 · Yes, you can create your own SMTP (Simple Mail Transfer Protocol) server using open-source software such as Postfix or Exim on a Linux system.
  39. [39]
    Re: [exim] What's the performance benchmark of Exim4?
    Aug 23, 2013 · They barely break a sweat, despite having throughput peaks in the 100s to 1000s of messages/second (it's normally much, much lower). That, ...
  40. [40]
    Postfix vs Sendmail vs Exim - Choosing MTA - Mailtrap
    Feb 18, 2025 · Unlike Exim, Postfix has a central queue manager and handles queuing better and faster. Some admins claim it is more efficient with a very high ...
  41. [41]
    30. The smtp transport - Exim Internet Mailer
    Exim will not try to start a TLS session using STARTTLS for a verify callout, or when delivering in cutthrough mode, to any host that matches this list.
  42. [42]
    New Exim Vulnerability Exposes Servers to DoS Attacks, RCE Risks
    Sep 30, 2019 · Servers exposed to attacks. According to a mail server survey published by E-Soft Inc, Exim is currently the most used MX server being ...
  43. [43]
    Exim | Linagora
    Queue‑Performance Limitations. A frequently criticised aspect: when the mail queue grows large, handling can become slower. Exim does not have a centralized ...
  44. [44]
    Chapter 14 - Main configuration - Exim Internet Mailer
    This chapter specifies all the main configuration options, along with their types and default values.
  45. [45]
    54. Exim utilities - Exim Internet Mailer
    Summarizing the queue (exiqsumm). The exiqsumm utility is a Perl script which reads the output of exim -bp and produces a summary of the messages in the ...
  46. [46]
    CVE-2011-0017 Exim: privilege escalation - Red Hat Bugzilla
    If an attacker is able to exceed the exim user's resource limits, the setuid() call could fail, preventing the executable from dropping root privileges. If an ...
  47. [47]
  48. [48]
    Mailing lists for Exim
    Exim Internet Mailer​​ It is not the grown-up version of the users list. There are searchable archives covering postings back to 2004.
  49. [49]
    Legal - Exim Internet Mailer
    As of 2022-11-22 this is Heiko Schlittermann Neither Heiko Schlittermann nor any of his companies owns any rights on the exim.org domain. Website design by ...Missing: mail server
  50. [50]
    Exim Mail Transport Agent - source, testsuite and documentation
    In any case you can always ask on the Exim Users mailing list https://lists.exim.org/mailman3/postorius/lists/exim-users.lists.exim.org/ for further information ...Exim · Security · Actions · Pull requestsMissing: Heiko Schlittermann
  51. [51]
    Install and configure Exim4 - Ubuntu Server documentation
    Jun 23, 2025 · To configure Exim4, run the following command: sudo dpkg-reconfigure exim4-config This displays a “wizard” user interface for configuring the software.
  52. [52]
    4.12.2. Exim | Migration Planning Guide | Red Hat Enterprise Linux | 6
    Exim has been removed from Red Hat Enterprise Linux 6. Postfix is the default and recommended MTA.Missing: distributions | Show results with:distributions
  53. [53]
    Exim - CVE-2025-26794: upcoming security release
    Feb 20, 2025 · There is not much information about the bug but seems serious enough. We will release DA update (as hot-fix) with the new exim version when it is available.Missing: maintenance volunteer- driven