Au-delà des valeurs par défaut des files, le module de shaping de KumoMTA est l'endroit où vous codez votre savoir par destination (Gmail accepte 250/s depuis une IP chauffée, Yahoo 100/s, AOL est capricieux le dimanche).
Utilisez la bibliothèque de shaping fournie :
local shaping = require 'policy-extras.shaping'
kumo.on('get_egress_path_config', shaping:setup({'/opt/kumomta/etc/policy/shaping.toml'}))
Extrait de 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"
Pourquoi du TOML pour le shaping et du Lua pour tout le reste ? Le shaping change souvent (surtout pendant le warm-up des IP) et le TOML est facile à manier pour l'exploitation. Rechargement à chaud avec kcli reload : aucun redémarrage nécessaire.
La communauté KumoMTA maintient un shaping.toml aux valeurs par défaut raisonnables pour les 50 premières destinations. Prenez-le comme base.
Connectez-vous pour garder une trace de ce que vous avez lu.