%%{init: {'theme': 'neutral'}}%% sequenceDiagram autonumber participant Admin as Admin (NewsletterAdminPage) participant FE as Frontend Services (admin/newsletter.ts) participant BE as Backend /api/v1/admin/newsletter participant Email as EmailService (SMTP) Note over Admin,BE: Manual send/test/preview/status Admin->>FE: Click Send/Preview/Test FE->>BE: POST /newsletter/send | /preview | /test BE->>BE: Build content (newsletter_content) BE->>Email: Send via SMTP (per-recipient) Email-->>BE: Accepted/Failed BE-->>FE: Result + stats Note over FE,BE: Status & stats FE->>BE: GET /newsletter/status BE-->>FE: Enabled/automation state FE->>BE: GET /newsletter/stats/recent BE-->>FE: List recent sends, events rect rgba(225,255,225,0.2) Note over BE,Email: Automation (weekly, match alerts, blog notifications, results) BE->>BE: NewsletterScheduler tick BE->>BE: NewsletterAutomation decides digests/reminders BE->>Email: Send batches Email-->>BE: Delivery responses end