KumoMTA is één Rust-binary met Lua-scripting voor alle runtimeconfiguratie. Dezelfde binary regelt SMTP-listeners, wachtrijen, aflevering, logging en inzicht via HTTP.
Procesmodel:
┌─ Listener (SMTP)
├─ Listener (HTTP API)
[ kumod ] ──┐ │
├──► ├─ Queue (per scheduled queue: tenant × destination)
│ │
│ ├─ Egress sources (IP pools)
│ └─ Logging hooks → JSON / ClickHouse / S3
│
└─ Lua VM (config + per-event policy)
Begrippen die je tegenkomt:
| Term | Betekenis |
|---|---|
| Tenant | Logische verzender (vaak een klant van een ESP) |
| Egress source | Een vast bron-IP-adres voor uitgaande verbindingen |
| Egress pool | Een groep sources waartussen wordt gerouleerd |
| Scheduled queue | Wachtrij per tenant × per bestemming |
| Throttle | Rate limit (berichten/sec of verbindingen) per sleutel |
| Hook | Lua-callback voor events: smtp_server_message_received, smtp_client_message_delivered, enz. |
Alles wordt via Lua aan elkaar gekoppeld. Er is geen XML, geen INI en geen main.cf. Lees init.lua en je weet wat de MTA doet.
Log in om bij te houden wat je gelezen hebt.