The flexible MTA for senders and ESPs

Large senders of transactional or marketing email need an MTA that enables them to develop great solutions in a highly competitive market. Halon provides outstanding integration capabilities, reliability and performance; ideal for organisations with sophisticated email delivery needs.

Features Contact us
Challenges and benefits
  • Highly flexible. Lack of flexibility in the MTA can lead to compromises and complexity, resulting in high maintenance costs and risks. The Halon MTA can be tailored to specific needs, allowing for virtually unlimited customisation. It is scriptable and extensible, but lean and compact at the same time. It has integrated blue-green deployment and supports modern development processes.
  • Fully adaptable. Incorporating an alternative MTA into an existing environment can be challenging. The Halon MTA can be fully adapted to work seamlessly with surrounding infrastructure, which allows for a cost-effective and non-intrusive implementation.
  • Committed. The MTA is an integral part of the sender's operation; a business-critical component. Halon's only focus is to develop and support an MTA for large service providers. The Halon MTA is in active development with quarterly feature releases.
Built for email service providers

The most flexible email delivery platform

Enables rapid development

Increase service competitiveness

Suffering from slow and costly implementation of email features and new standards, leading to poor end customer experience? Halon increases email service competitiveness by enabling rapid implementation and reliable deployment. In contrast to traditional layered email infrastructure, Halon's holistic approach cuts system complexity, and enables you to more quickly architect the system that you want without compromises.

Integrated blue-green deployment

Reduce deployment time and risks

Run parallel versions of your configuration with traffic splitting. Along with a consolidated and programmatic approach to in-transit email, you can make rapid implementations as well as reliable deployments of changes or new functionality. Revision-managed configuration makes all changes fully visible, and provides instant rollbacks.

if ($message["transportid"] === "bounces")
    Try(["protocol" => "smtp"]); // Use SMTP for locally generated DSNs
// Use a more robust lookup like
$route = cache ["ttl" => 3600] http("$apiurl/route", [], [$message["recipientaddress"]["domain"]]);
$route = json_decode($route);
if (!is_array($route))
    Queue(["delay" => 3600, "reason" => "Invalid route", "increment_retry" => false]);
Try(["protocol" => "lmtp", "server" => $route["storage"]]);
$options = [];
if (GetMetaData()["spam"] == "yes") {
    $options["sourceip"] = ["4"]; // Bulk IP
} else {
    // Source hash
    $addrs = ["1", "2", "3"];
    $sourcehash = number("0x".md5($message["senderaddress"]["domain"])[0:6]);
    $options["sourceip"] = [$addrs[$sourcehash % length($addrs)]];
// In the post-delivery script
$senderdomain = $message["senderaddress"]["domain"];
$errorcode = $arguments["attempt"]["result"]["code"];
if ($errorcode >= 400)
    rate("delivery-failures", $senderdomain, 1000, 3600);

// In the MAIL FROM script
$senderdomain = $arguments["address"]["domain"];
if (rate("delivery-failures", $senderdomain, 0, 3600) > 999)
    Defer("$senderdomain has more than 1000 failed deliveries during the last hour");
// Per-domain DKIM signing using external database
// Use a more robust lookup like
$dkim = cache ["ttl" => 86400, "size"=> 32768, "ttl_override" => ["" => 60]]
    http("$apiurl/dkim/$1", ["timeout" => 10], [$transaction["senderaddress"]["domain"]]);
$dkim = json_decode($dkim);
if (is_array($dkim))
    $arguments["mail"]->signDKIM($dkim["selector"], $dkim["domain"], $dkim["rsakey"]);