On 2014-09-29, Andy Bennett <[email protected]> wrote: > Hi, > > Often many of our users are have eMail addresses that are on the same > domain as each other. However, because the eMails are personalised, > unlike a mailing list, they are submitted to exim over the course a few > milliseconds rather than simultaneously. This is long enough for the > first messages to be routed, begin delivery, complete delivery and close > the connection.
> "421 Too many concurrent SMTP connections; please try again later." > I've Googled around and found two options: > > + Queueing mail > > + serialize_hosts basically you have to queue it. > If I use a queue runner then I'll enforce an expected delivery latency > of at half the queueing period. It'd be nice if I get it to only queue > if there has recently been a message delivered to that host. The > expectation would be that if there is more than one message then more > are likely to follow. i.e. deliver messages immediately but try harder > to aggregate messages that arrive in a short interval. Exim queue delivery doesn't wait for incoming mail. How about starting a bunch of queue runners after producing the digests. so queue them all (eg with "exim -odq") and then start several runners, perhaps one for each domain. > I can't find much detail on serialize_hosts, especially the implications > of setting it to '*' or how to reliably set up the DB cleanup jobs. Serialize hosts can be a bit idiosyncratic, eg: if the primary MX is busy it may try the secondary. it's best not to rely heavily on it. > It also seems that use of serialize_hosts leads to a lot of noise in the > logs about connection limits being reached when messages are submitted > concurrently. You can turn that noise down, see "log_selector" -- umop apisdn -- ## List details at https://lists.exim.org/mailman/listinfo/exim-users ## Exim details at http://www.exim.org/ ## Please use the Wiki with this list - http://wiki.exim.org/
