Discourse mail daily summary plugin

:information_source: Summary Send all new posts in one daily or weekly update
:hammer_and_wrench: Repository Link https://github.com/thoka/discourse-mail-daily-summary
:open_book: Install Guide How to install plugins in Discourse

Features

Fork of discourse-mlm-summary, working on added/changed behavior:

  • send daily/weekly summary at a specified time of day
  • optional diagnostic output to support configuration and troubleshooting
  • daily summaries can be forced for user groups: mail_daily_summary_auto_enabled_groups
  • daily summaries can be narrowed to categories (including all subcategories): mail_daily_summary_enabled_categories
  • time of last run will be remembered in mail_daily_summary_last_run_at Messages between sending time and mail_daily_summary_last_run_at will be included in the summary if set. Otherwise, changes in the last 24h/7d will be sent.
  • optionally enable it for all users (opt out)
  • message template is based on current (2024-04-30) digest template
  • unsubscribe link added

Configuration

If mail_daily_summary_at is not set, summaries will be sent every hour to people, which logged in at the same time of day the first time.

If mail_daily_summary_at is set, all messages will be queued once a day, when the configured time is reached.

Posts from mail_daily_summary_last_run_at on will be included in the summary up to 14 days ago (to prevent accidents).

CHANGELOG

  • this plugin ignores the “disable mailing list mode” setting

TODO

  • add option to notify only about subscribed categories
  • add configuration option to exclude groups
  • add configuration option to exclude categories
  • add possibility to respond to individual topics/posts by mail
  • add specs
7 Likes

Lovely work!!!

Would you be willing to make the frequency configurable?

For example, I’d love to push this out on Sunday evenings for the previous week.

1 Like

Seems quite doable as a global setting.
What options would be needed (daily, weekly, monthly) ?
Further day of week / month, if negative, counted from the end ?

1 Like

It could be tackled many ways, eh?

A simple start would be another setting that asks which days of the week it should apply to.

Maybe weeks of the month too, but that gets a little tricky due to a variability.

1 Like

Is each e-mail created per user or is one email sent to all users? If e-mails are individualised, the setting of when and how often the e-mail is sent would be ideally set per user (you talk about global setting - that would then be a default).

Every user gets an individual mail.
But to do the bookkeeping for individual schedules would be much more work compared to global settings.

2 Likes

Weekly summaries are now possible.

3 Likes

Very interesting plugin! One question about…

In the way this plugin has been designed, would it be possible to have top new posts instead of all? As an alternative to this feature request for Discourse core: Option to always receive Activity Summaries even when you've been on the forum

1 Like