Church Cashbook Admin Manual
The Notification Queue allows superadmins to monitor outgoing email notifications, retry failed sends, and trigger scheduled reminders manually.
Accessing the notification queue
Go to Admin → Notification Queue. This page is restricted to superadmins.
Queue status overview
Three KPI cards at the top show the current count of:
- Pending — notifications queued but not yet successfully sent.
- Sent — notifications successfully delivered.
- Failed — notifications that have failed after the maximum number of attempts.
Queue table
The table shows the last 100 queue entries with recipient, subject, status, number of attempts, and sent timestamp. Use this to diagnose delivery issues.
Retrying failed notifications
Click Retry pending/failed to attempt re-delivery of any notifications that did not send successfully. This is useful after an SMTP outage or configuration change.
IE expiry reminders
Click Run IE expiry reminder check now to manually trigger the check that sends reminder emails to Independent Examiners whose assignments are approaching expiry. This check also runs automatically via the cron job configured on the server.
Notification triggers
The following events generate notifications automatically:
- IE assignment granted — when a superadmin or deanery admin grants an IE access to a church, the examiner receives a notification.
- IE expiry reminder — sent to an examiner when their assignment is within the configured reminder window (default: 30 days). Controlled by the ie_expiry_reminder_days site setting.
Enabling and disabling notifications
Notifications can be enabled or disabled globally via Site Settings → notifications_enabled. Set to 0 to suppress all outgoing email (useful during testing or migration).
SMTP configuration
On MAMP (local development), the system uses PHP's built-in mail() function which accepts messages but does not deliver them externally. On the Rochen production server, configure an SMTP relay in cPanel or replace the _mailer_attempt_send() function in app/mailer.php with an SMTP library call. All mail is queued first regardless of the send mechanism — the queue provides a retry buffer.