Discourse mail daily summary plugin

:information_source: Summary Send all new posts in one daily 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

INCOMPATIBILITIES

6 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 ?

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.

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.

1 Like

Weekly summaries are now possible.

2 Likes