core:
database and broadcast. Pro wires mail listeners for the production loop below. Notifications only send for approved comments.
What Pro sends
Same-author replies (matching user id, or matching guest emails) are skipped.
Subscribe on post
The create payload / composer can sendsubscribe_to_replies: true. Requires a non-empty email (account email or guest email) and notifications.subscriptions_enabled (default true).
Subscriptions live in commentify_subscriptions (unique per commentable + email) with a random token.
Unsubscribe
Signed route:web + signed. Marks subscribed = false and shows a small Blade view. Build the URL with SubscriptionManager::unsubscribeUrl() — mail notifications already include it.
Permalinks
Mail CTAs need a public URL. ImplementcommentifyUrl() on the commentable or Commentify::resolveCommentUrlUsing(). See Usage. Links use #comment-{id}.
Moderator digest
daily (default) looks at the last day for new reports and spam denies, plus the current pending-comment count. hourly uses the last hour. off no-ops.
Nothing is sent if all three counts are zero. Schedule it in routes/console.php:
QUEUE_CONNECTION and mailer as you would for any Laravel notification.
