resofire/digest-mail

There is no license information available for the latest version (v0.2.1) of this package.

Sends a periodic digest email to forum members summarising new discussions, active discussions, unread discussions, and new members.

Maintainers

Package info

github.com/ResofireV2/digest-mail

Type:flarum-extension

pkg:composer/resofire/digest-mail

Statistics

Installs: 10

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v0.2.1 2026-03-12 00:51 UTC

This package is auto-updated.

Last update: 2026-03-12 00:51:57 UTC


README

A Flarum extension that sends periodic digest emails to forum members, summarising new discussions, active discussions, unread discussions, and new members.

Features

  • Flexible frequency — users choose daily, weekly, monthly, or opt out entirely from their account settings
  • Rich digest content — each email includes new discussions, hot/active discussions, unread discussions (personalised per recipient), and new member highlights
  • Configurable content limits — admins control the maximum number of items shown in each section
  • Hot score tuning — configurable reply weight and recency weight for ranking active discussions
  • Scheduled sending — integrates with the Laravel scheduler; runs hourly and applies a time-gate so digests fire at the configured UTC hour
  • Unsubscribe support — every email includes a one-click unsubscribe link backed by a secure token
  • Test send tool — send a live digest preview to any email address directly from the admin panel

Requirements

  • PHP >= 8.1
  • Flarum >= 1.8

Installation

composer require resofire/digest-mail

Then enable the extension in your Flarum admin panel.

Scheduler Setup

Add the Laravel scheduler to your server's cron to run every hour:

* * * * * cd /path/to/flarum && php flarum schedule:run >> /dev/null 2>&1

The extension's digest:send command is automatically registered with the scheduler and will self-gate based on your configured send hour.

Admin Settings

Setting Description
New Discussions — max items Maximum new discussions included per digest
Active Discussions — max items Maximum hot/active discussions included
Unread Discussions — max items Maximum personalised unread discussions per recipient
New Members — max items Maximum new member profiles shown
Hot score — reply weight How much each reply contributes to a discussion's hotness score
Hot score — recency weight How much recency boosts hotness (0 = replies-only ranking)
Send hour (UTC) The UTC hour at which scheduled digests are dispatched
Weekly digest — send day Day of the week for weekly digests (0 = Sunday, 1 = Monday, …)
Monthly digest — send day Day of the month for monthly digests (capped at 28)

Console Command

Digests can also be triggered manually:

# Run all due frequencies (respects the time gate)
php flarum digest:send

# Force a specific frequency, bypassing the time gate
php flarum digest:send --frequency=weekly

# Dry run — lists eligible recipients without sending
php flarum digest:send --frequency=daily --dry-run

# Restrict to a single user (for testing)
php flarum digest:send --frequency=daily --user=1

User Settings

Each user can manage their digest preference from their account settings page. Options are:

  • Off — no digests sent
  • Daily
  • Weekly
  • Monthly

License

MIT