MCM-17 — Email Notification
Critical events are delivered as a persistent, actionable email record.
MCM-17 — Email Notification
← Back to Notification System overview
As an Enterprise Admin,
I want to receive an email when a critical event occurs (policy violation, scan failure, account sync error),
so that I have a persistent, shareable record of the event and can act on it even when I am not logged in.
Acceptance Criteria
- Email notifications are sent using the platform's transactional email service (see Send Email LLD).
- Each email contains: MCM branding header, event title, event description, affected resource details (name, ID, cloud provider), timestamp (UTC), and a "View in MCM" call-to-action button linking directly to the resource.
- Emails are sent from a consistent
no-reply@<platform-domain>address with a reply-to of the MSP support address. - Users can configure email notification preferences per category from their profile settings (enabled by default for Critical and High severity events — see Notification Preferences).
- Email delivery is attempted with a maximum of 3 retries with exponential back-off on failure; failed delivery is logged.
- Digest mode: users may opt into a daily digest email (sent at 08 user-local time) that summarises all non-critical notifications from the previous 24 hours instead of receiving them individually.
- Unsubscribe: every notification email includes a one-click unsubscribe link that disables email notifications for that category without requiring login.
- No email is sent if the same event has already been emailed within the last 5 minutes for the same resource (deduplication window).
Technical Design
Email delivery reuses the platform's shared transactional email service (see Send Email LLD for the endpoint contract and provider details) — this story only adds notification-specific templating plus dedup and digest logic on top of that shared send path. A per-resource, per-event-type "last emailed at" record is checked before sending to skip duplicates within a 5-minute window, and a per-user digest opt-in lets non-critical events batch into a single daily 08
local-time email instead of individual sends. Delivery targets a 60-second end-to-end SLA for Critical/High severity events; failures are retried up to 3 times with exponential back-off before being logged, and every email carries a one-click, no-login unsubscribe link scoped to its category.UI / Frontend Changes
- Email template: MCM branding header, event title/description, affected resource details, UTC timestamp, and a "View in MCM" call-to-action button.
- Per-category email toggle in the Notification Preferences matrix, defaulting to enabled for Critical/High severity.
- Digest opt-in control in profile settings for a daily 08 local-time summary email instead of individual sends.
- One-click unsubscribe link embedded in every email, requiring no login to act on it.