Pular para o conteúdo
Módulo 6 · Aula 12 de 25

Assinatura DKIM no KumoMTA

Parte do curso KumoMTA: motor de envio de alto volume, no módulo Assinatura DKIM e alinhamento SPF e DMARC.

Autor

Defina um signer no init.lua:

local signer = kumo.dkim.rsa_sha256_signer {
  domain   = 'example.com',
  selector = 's2026',
  headers  = { 'From', 'To', 'Subject', 'Date', 'Message-ID', 'List-Unsubscribe' },
  key      = '/etc/kumomta/dkim/example.com/s2026.key',
}

kumo.on('smtp_server_message_received', function(msg)
  msg:dkim_sign(signer)
end)

Publique a chave pública em s2026._domainkey.example.com IN TXT:

v=DKIM1; k=rsa; p=MIIBIjANBg...

Assinatura para vários tenants:

kumo.on('smtp_server_message_received', function(msg)
  local domain = msg:from_header_address():match('@(.+)$'):lower()
  local signer_for_domain = signers_by_domain[domain]
  if signer_for_domain then msg:dkim_sign(signer_for_domain) end
end)

Sempre RSA de 2048 bits. Troque os seletores todo ano. Assine sempre o List-Unsubscribe, porque é assim que o descadastro com um clique do Gmail é validado.

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