Além dos padrões das filas, o módulo de shaping do KumoMTA é onde você registra o conhecimento sobre cada destino (o Gmail quer 250/s de um IP aquecido, o Yahoo quer 100/s, o AOL é temperamental aos domingos).
Use a biblioteca de shaping incluída:
local shaping = require 'policy-extras.shaping'
kumo.on('get_egress_path_config', shaping:setup({'/opt/kumomta/etc/policy/shaping.toml'}))
Trecho do shaping.toml:
["gmail.com"]
connection_limit = 20
max_connection_rate = "20/s"
max_message_rate = "250/s"
idle_timeout = "60s"
["yahoo.com"]
connection_limit = 10
max_message_rate = "100/s"
["*.protection.outlook.com"]
connection_limit = 4
max_message_rate = "40/s"
Por que TOML para o shaping e Lua para todo o resto? O shaping muda com frequência (principalmente durante o aquecimento de IP) e o TOML é fácil de operar. Recarregue a quente com kcli reload; não precisa reiniciar.
A comunidade do KumoMTA mantém um shaping.toml com padrões sensatos para os 50 principais destinos. Use-o como base.
Entre para acompanhar o que você já leu.