Pular para o conteúdo
Módulo 2 · Aula 5 de 25

O Lua que você precisa para o KumoMTA

Parte do curso KumoMTA: motor de envio de alto volume, no módulo Instalação, noções de Lua e systemd.

Autor

A configuração do KumoMTA é em Lua. Você não precisa ser desenvolvedor Lua. Ler o código e copiar os padrões basta.

As cinco construções que você vai ver em todo lugar:

1. Módulo + função:

local kumo = require 'kumo'

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

2. Tabelas (os "blocos de configuração" do 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 baseados em padrões:

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. Correspondência de padrões para ajustar por destino:

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

Isso é 90% do que você vai escrever. A documentação em docs.kumomta.com repete esses padrões o tempo todo.

Entre para acompanhar o que você já leu.

Pulse · envio de cold email

Infraestrutura de envio só sua.

Cada domínio tem o próprio host MX, IP, seletor DKIM e certificado. O Pulse gerenciado já está disponível, e nós operamos para você; a versão self-hosted chega no 4º trimestre de 2026.

# em um servidor Ubuntu novo
$ cd pulse && sudo ./install.sh
→ docker compose up · kumomta · stalwart · caddy
→ dashboard ready on https://pulse.yourdomain.com
$

Também nosso:Beat: monitoramento que diz a correçãoConsultoria: US$ 65/hora, sem retainer