Cada mensaje aceptado cae en una scheduled queue con la clave (tenant, campaign, destination_domain). Cada cola tiene su propio throttle, su calendario de reintentos y su pool de IP de origen.
Define la configuración de colas de forma dinámica:
kumo.on('get_queue_config', function(domain, tenant, campaign, routing_domain)
-- Defaults
local cfg = {
max_age = '24h',
retry_interval = '20m',
max_retry_interval = '4h',
max_connection_rate = '5/s',
}
-- Gmail tightening
if domain == 'gmail.com' or domain:match('%.googlemail%.com$') then
cfg.max_connection_rate = '20/s'
cfg.max_message_rate = '250/s'
end
-- Microsoft 365 tightening
if domain:match('%.protection%.outlook%.com$') then
cfg.max_connection_rate = '4/s'
cfg.max_message_rate = '40/s'
end
return kumo.make_queue_config(cfg)
end)
Las curvas de reintento son exponenciales por defecto. Ajusta retry_interval (primer reintento) y max_retry_interval (tope). Regla práctica en producción: 5 min → 30 min → 2 h → 4 h, antigüedad máxima de 24 a 48 h.
Inicia sesión para llevar el registro de lo que ya leíste.