Daily limits for outgoing mails per user


(Peter N Lewis) #21

Yes, and I’m fine with that - I just wanted to make sure that you realized while doing this work on limiting and minimizing email sending that for some of us, the “mailing list mode” is an essential, even central, feature to our use of Discourse.

(Jeff Atwood) #22

It is but it is also like a nuclear bomb. Very useful to solve extremely narrow specialized “problems” and a tremendous danger to the very future of humanity in all other situations :wink:

(Sam Saffron) #23

I think that is overstating it, having a copy of a small forum on your phone at all times has plenty of advantages, however for this to be useful

  • you have to be a power user that is capable of creating email rules

  • forum needs to be not too big, has to be of the scale that is easily digestible daily in one sitting

  • requires a higher level of commitment, cause it’s harder for you to decipher stuff you want to interact with over passive content (was I mentioned or replied to ?)

Watching a category in a high volume site is pretty much equivalent to mailing list mode on a medium sized site. Watching a category is actually way worse than mailing list mode, if you want to stop the mail in mailing list mode you untick a box. To stop the mail when watching a category you have to hunt down all the watched topics and change them to default one by one, a process that can involve hundreds of clicks.

(Peter N Lewis) #24

I completely agree that turning on the mailing list mode preference should check the average daily post count, and if its more than a couple, should either warn you (say if its up to ten per day) or alert you and make you confirm that is what you want to do if it is 10+/day.

And even before that, in the actual preference it would be good to say:

  • Send me an email for every new post (unless I mute the topic or category) (currently 27 messages per day)

The same is true for watching a category or topic - warning or alerting the user if the volume will be substantial - its more difficult to include the information before they turn it on in this case though, although it could possibly be displayed on hover.

My point I guess is, I’m all for alerting the user of the potentially significant consequences, and I’m all for sites with email cost concerns having limitation controls, but there are some sites and some users for which the value of the emails far outweighs those costs.

(Jeff Atwood) #25

We already have a topic about fixing this, when you change at the category level prompt and ask if they want to reset all topics to the new state. We should add that to 1.6 because I do not think it would be hard.

(Dean Taylor) #26

This is like what Google Groups does when you select “Email Delivery Preference”:

It informs you of the approx. amount of emails.

(Robin Ward) #27

I really love that estimate of emails per day! If we can add that it would be great.

(Erlend Sogge Heggen) #28

That’s part of the mailing list spec that @gdpelican is working on :wink: (can’t be bothered to dig up a link, posting on low-bandwidth tablet)

(Michael Downey) #29

Is there an easy query or place to look to find out the answer to this question?

(Jay Pfaffman) #30

On the dashboard there is an “emails sent” line. Clicking that takes you to


(Michael Downey) #31

That’s total emails, though, not emails per day by person, unless I’m missing something.

(Rafael dos Santos Silva) #32

To get per person you’ll need to use Data Explorer plugin.

(cpradio) #33

Try this using the Data Explorer plugin

SELECT user_id, date_trunc('day', created_at) AS date_sent, COUNT(*) AS total
  FROM email_logs 
  WHERE skipped = false
  GROUP BY user_id, date_sent

emails-by-person.dcquery.json.txt (286 Bytes)

Edit: Updated it to use date_trunc
Edit 2: Added skipped check

(Sam Saffron) #34

Also check for not skipped

(Michael Downey) #35

Cool, that worked perfectly. Looks like we have less than 25 person-days (is that the right term?!) where this happened, so not too much panic.

(James Kiesel) #36

Spec is here:

PR is here:

Related line of code:

def mailing_list_mode_frequency_estimate
    # average of last 30 days of posts
    @mailing_list_mode_frequency_estimate ||= About.fetch_stats[:posts_30_days].to_f / 30

As stated it’s really cheap to calc and a mild overestimate, but maybe that’s alright because it’s better to surprise folks with fewer emails rather than surprise them with more.

(Jeff Atwood) closed #37