Direct naar de inhoud
Module 2 · Les 5 van 25

Net genoeg Lua voor KumoMTA

Onderdeel van KumoMTA: verzendengine voor grote volumes, in de module Installatie, basis van Lua en systemd.

Auteur

De configuratie van KumoMTA is Lua. Je hoeft geen Lua-ontwikkelaar te zijn. Het kunnen lezen en patronen overnemen is genoeg.

De vijf constructies die je overal ziet:

1. Module + functie:

local kumo = require 'kumo'

kumo.on('init', function()
  kumo.start_esmtp_listener { listen = '0.0.0.0:25' }
end)

2. Tables (de "configuratieblokken" van KumoMTA):

kumo.on('init', function()
  kumo.define_spool { name='data', path='/var/spool/kumomta/data', kind='RocksDB' }
  kumo.define_spool { name='meta', path='/var/spool/kumomta/meta', kind='RocksDB' }
end)

3. Event hooks:

kumo.on('smtp_server_message_received', function(msg)
  -- inspect/modify the message
  msg:set_meta('tenant', 'acme-marketing')
end)

4. Throttles op basis van patronen:

kumo.on('get_queue_config', function(domain, tenant, campaign)
  return kumo.make_queue_config {
    max_connection_rate = '10/s',
    max_message_rate = '500/s',
  }
end)

5. Patroonherkenning om per bestemming af te stellen:

if domain == 'gmail.com' then ...
elseif domain:match('%.protection%.outlook%.com$') then ...
end

Dat is 90% van wat je gaat schrijven. De documentatie op docs.kumomta.com herhaalt deze patronen keer op keer.

Log in om bij te houden wat je gelezen hebt.

Pulse · cold e-mail verzenden

Verzendinfrastructuur die alleen van jou is.

Elk domein krijgt zijn eigen MX-host, IP, DKIM-selector en certificaat. Managed Pulse is nu beschikbaar en wij beheren het voor je; de self-hosted versie komt in Q4 2026.

# op een schone Ubuntu-server
$ cd pulse && sudo ./install.sh
→ docker compose up · kumomta · stalwart · caddy
→ dashboard ready on https://pulse.yourdomain.com
$

Ook van ons:Beat: monitoring die je de oplossing geeftConsultancy: $65 per uur, geen retainer