Mail throttle configuration


(Ker Ruben Ramos) #1

Is there a mail sending throttle configuration? I may need to know if there are any or if it can be set.

I was just concerned on during sending digest mails.


(Jeff Atwood) #2

Not at this time, but we are playing with Mandrill now and we noticed that “good” SMTP services will throttle and queue intelligently on your behalf.

(They will also auto-remove emails that continually bounce, which is very nice…)

So I’m not sure this is something that should happen at the Discourse software layer.


(Oliver Moran) #3

Has there been any update on this? “Good” SMTP providers may do this but “regular” ones don’t and while SMTP is external to Discourse how Discourse interacts with SMTP isn’t.

This is something important enough for me that I’d write a fix, if I thought it would be accepted.


(Michael Downey) #4

2 problems with trying to do it in Discourse:

  1. Every MTA is different
  2. An MTA could be processing mail from several sending applications which don’t know about each other.

Rate limiting can and should happen within the MTA. I know “normal” ones like Postfix can do this but one would need to do some research on how to set it up based on your overall sending patterns. (Also be sure to set up things like DKIM to help with deliverability, too.)


(Oliver Moran) #5

The issue isn’t to do with an MTA. It’s to do with a service provider’s limits. See for example the sending limits from mine, here:

Once I top out on these, all further emails for that period fail. Consequently, standard fair for web apps that I know of is to send mail using some kind of throttling.

That way, it doesn’t send out 1000 emails in one blast (and have 900 rejected by the ISP). It sends outs 50. Sleeps for a bit. Sends another 50. Sleeps some more. And eventually works its way through a queue of emails to be sent - but throttled so that it doesn’t breach the ISP’s sending limits.