Ir al contenido
Módulo 2 · Lección 5 de 25

El Lua justo para KumoMTA

Parte del curso KumoMTA: motor de envío de alto volumen, en el módulo Instalación, nociones de Lua y systemd.

Autor

La configuración de KumoMTA es Lua. No necesitas ser desarrollador de Lua. Con leerla y copiar patrones alcanza.

Las cinco construcciones que verás en todas partes:

1. Módulo + función:

local kumo = require 'kumo'

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

2. Tablas (los “bloques de configuración” de 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. Hooks de eventos:

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

4. Throttles basados en patrones:

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. Coincidencia de patrones para ajustar por destino:

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

Eso es el 90% de lo que vas a escribir. La documentación en docs.kumomta.com repite estos patrones sin descanso.

Inicia sesión para llevar el registro de lo que ya leíste.

Pulse · envío de cold email

Infraestructura de envío solo para ti.

Cada dominio tiene su propio host MX, su IP, su selector DKIM y su certificado. Contrátalo administrado y nosotros lo operamos por ti, o compra una licencia y ejecútalo en tus propios servidores.

# en un servidor Ubuntu recién instalado
$ cd pulse && sudo ./install.sh
→ docker compose up · kumomta · stalwart · caddy
→ dashboard ready on https://pulse.yourdomain.com
$

También de nosotros:Beat: monitoreo que te da la soluciónConsultoría: US$ 65/h, sin cuota mensual