Qmail per domain concurrency

Problem

In my last post about qmail I said that once you solve the big concurrency problem you'll end up with another problem because your mail server would create too many outgoing connections to some domains and you risk having your ips banned by those servers.

Solution

The solution is to have a way of limiting the maximum concurrency rate by domains. To do that you'll need the   qmail channels patch or write your own patch like I did ( mostly because I was unaware of the existence of the qmail channels patch )

The home page of the qmail channels patch will explain how to setup and configure qmail to limit the concurrency by a domain or group of domains.

What I like about this patch is that it allows you to set a concurrency limit for a group of domains like set 100 for all yahoo.com, yahoo.co.uk, yahoo.ca, etc .

What I don't like is that it doesn't seem to be able to set a default concurrency level for any domain. If I'm wrong please correct me, but if I'm right then this seems like a major problem for an email server that sends to a large number of addresses distributed over a large number of domains because you would have to configure concurrency limits for a lot of domains.

The ideal solution would allow you to specify a default per domain concurrency and this would apply to any domain that doesn't have a specific concurrency. For example most email servers would be ok with 5 concurrency connections from the same ip but no way for AOL (unless you're white listed and maybe not even then ) .

Another feature I would like is to be able to specify concurrency by domain's MX records or ips/group of ips assigned to the MX servers instead of the actual domain. This would ease the configuration for ISPs that host a lot of domains like rr or yahoo.

2 thoughts on “Qmail per domain concurrency

  1. Hi, first of all thank you for your big-concurrency fix patch. Now I’m playing with this one :-)
    Question: control/remoteconcurrency defaults to 20, so I can’t see the risk to be banned. Do you think I will achieve (more or less) the same result if I simply increase this value to.. say 100, and in that case avoid to apply this additional patch?

    1. I depends where you’re sending messages. If most of your messages are sent to the same ISP and you have not way of limiting the connection
      by domain then 100 concurrent connections will get you in trouble.
      But if you’re addresses are spread across a lot of domains then you might be fine…so just experiment with it while looking at the qmail logs.
      If you see too many deferrals or connections rejected lower the rate.

Leave a Reply