How do we accommodate slow servers? For example, one of the servers that I am trying to reach right now takes about half a minute to respond to a EHLO command.
How do we deal with these servers?
How do we accommodate slow servers? For example, one of the servers that I am trying to reach right now takes about half a minute to respond to a EHLO command.
How do we deal with these servers?
I’ll leave the detailed internals to those who know Kumo, but I don’t think there’s much that can be done and I think I would initially act this way, handling that specific domain with some shaping/make_egress_path, mainly to prevent too many parallel (hanghing) connections from piling up on my side and to avoid putting additional pressure on the destination server, which could slow down even further
Something **along ** these configs timeout/connection:
banner_timeout = '120s'ehlo_timeout = '120s'connect_timeout = '60s'connection_limit = 1max_deliveries_per_connection = 1max_connection_rate = '2/second'And check/test some reconnect_strategy (?)
I think this is really a tough problem to solve. If we absolutely have to fix it, the only way might be to track down their contact information and send them an email asking them to optimize their system. LOL.
Odds are you’re getting tarpitted, you’ll also want to use a larger ready queue and check reputation with that receiver and also check whether all IPs get the same speed of response.
Will look into it, but iirc, it was someone’s personal mail server
If it is a KumoMTA server, then all of the timeouts mentioned by @understanding-donkey above are available as shaping parameters that can be tuned per destination. EG:
["really.slow.server.com"]
connection_limit = 1
banner_timeout = 120
connect_timeout = 120
if it is something else then they should probably switch to KumoMTA ![]()
In a past life, I ran my own personal server for family mail and I actively tar-pitted entire countries by IP (CIDR). If that is the case here, then waiting several minute will only hurt you . I was holding the connection open for 10 minutes and then black-holing the message so it cause pain, then trash-binned the message anyway.
For your own sanity, you are better off waiting 60 seconds, then marking it as undeliverable, or suspending delivery for 2 hours and trying onece more to see if it is just a server config issue.