Background information: We are a provider of web-hosting and email (among other services) and we need several load balanced SMTP servers to fix all our customers needs.

The problem: Every once and a while customers will try and send out an email with 500-1000 recipients and we have restrictions on this in our SPAM filter to prevent our smtp servers from being blacklisted.

What I need to know: Is there some way to balance the number of recipients between 3 smtp servers with seperate IPs to prevent blacklisting. Example: a customer adresses 900 recipients, 300 go to server A, 300 go to server B, 300 go to server C, this way they are much less likely to get blacklisted. What is the best option for a mail server for this and how would this sort of load balancing work? I am open to any MTA and any load balancing solution.


Load balancing smtp isn't so easy to do on a network level, it's best left to the smtp protocol itself, configuring the MTAs and DNS.

Configure your DNS in such a way that your outgoing smtp server's address, say smtp.example.com, resolves to all IP addresses of the smtp servers. In that case clients will not always choose the same server for outgoing email, however it's a bit crude and not very effective. It would not prevent submitting of 1000s of emails to one server.

Configure your MX records to have multiple incoming smtp servers with equal priority. That's helpful for incoming email preventing one single server having to deal with all email.

And what would be most effective in your current situation would be to configure the smtp servers that are receiving outgoing email to appropriately load balance email. There are various ways of doing this. For example you could configure it to trickle out only 10 or so emails per queue run, per client. Then the rest of the emails will remain on the queue for the next run.

I know Exim is very configurable and can be configured to do that and much more. Exactly how to configure this would be out of the scope of this question.

By the way you should be able to change your own spam filter to allow a couple of 1000 emails to be sent out at once, at least for a specific sender. That's really not excessive and I see no reason why that should be limited for everyone.

If you need sensible email list handling consider using something such as mailman which does a great job managing email lists, as opposed to a user cc'ing a 1000 recipients (which is bad netiquette to begin with).

  • Thank you for your response! We have a barracuda that can load balance the SMTP servers in the traditional round-robin DNS fashion, and you state that with Exim it is possible to limit how many messages from a given recipient can be queued up at a given time? So it would essentially delay the sending of the message and send 10 per queue? – Riley Jun 18 '13 at 14:21
  • Yes you can (mis)configure exim pretty much any way you want. It is very flexible. – aseq Jun 19 '13 at 19:28

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.