Checking whether Discourse is sending all the emails it should

AI-generated summary

The discussion centers around a discrepancy in email delivery from the Discourse forum. Jonathan5 noticed that approximately 1300 users should have received an email notification for a recent post, based on their watch status, but only 700 were actually sent, according to Amazon SES and the Discourse email logs. Approximately 20 emails were skipped due to exceeding the bounce score threshold Jonathan5.

NateDhaliwal suggested checking the bounced email logs, which revealed around 20 bounced emails Jonathan5.

Jonathan5 hypothesized that a setting to stop emails to inactive users might be the cause and proposed using Data Explorer to investigate. JammyDodger clarified this setting applies to activity summaries (Suppress digest email after days). They also suggested checking user email preferences, but Jonathan5 found that user preferences account for some of the missing emails: about 200 have preferences set to ‘never’ while 1100 are set to ‘always’. Jonathan5 plans to further investigate using Data Explorer.

For the most recent forum post, based purely on “watch” status there should have been c.1300 users emailed.

But from the Amazon SES console and from the Discourse /admin/email-logs Sent page there were only c.700 sent.

Only c.20 appear on /admin/email-logs/skipped as “Skipped”, the reason in those cases being “Exceeded bounce_score_threshold”.

What other reason might there be for this discrepancy?

I’ll keep an eye out for future messages to see whether this was a one off.

Are there any in /admin/email/bounced?

Yes, about 20.

I’ve just had a thought. There’s a setting to stop sending emails after a certain period of not visiting the forum. I bet the missing people are beyond that point. Is there a way to check using Data Explorer?

I think that’s just for the activity summaries? (Suppress digest email after days) Or did you have another in mind?

A missing 600 seems like a lot of people to have changed their email preference to ‘never’, but may be worth a check just in case?

Did you check how many had received a notification for it?

Yes that’s what I had in mind (hazily). I’ll try to find those things in the database using Data Explorer this evening.

About 1100 “always” and 300 “never” (nobody in between!) so we have accounted for half of them already! Thanks.