Modules
Email system for PhoenixKit - main API module.
Registers unified email provider on startup.
Archive and compress old email tracking data for optimal storage.
Thin wrapper around the Brevo transactional-email events API
(GET /v3/smtp/statistics/events).
Normalizes a single event from Brevo's GET /v3/smtp/statistics/events
response into the same event-data shape SQSProcessor.process_email_event/1
already accepts for AWS SES — see that function's @doc for the exact
contract. SQSProcessor itself is untouched: every process_*_event/1
function stays SES-shaped, this module's only job is translating Brevo's
vocabulary into it.
Shared "which Brevo account(s) are actually active" resolution, used by
everything that needs to reach the Brevo events API on behalf of the
currently-configured sender(s): BrevoPollingJob (the background
poll), BrevoOnDemandSync (the "sync now" button), and the "Brevo
Events" settings section's per-account opt-out list.
On-demand, targeted Brevo event fetch for a single email log — the
Brevo-aware branch of the "sync status now" button (Details page and
the emails list row menu both call it). Unlike BrevoPollingJob's
broad polling cycle, this queries Brevo's events API filtered to
exactly one messageId — the cheapest, most precise request the API
supports.
Oban worker for polling the Brevo transactional-email events API.
Manager module for Brevo event polling via Oban jobs.
Email blocklist schema for storing blocked email addresses.
Struct representing extracted email data for logging.
Email event schema for managing delivery events in PhoenixKit.
Gettext backend for phoenix_kit_emails.
Email interceptor for logging outgoing emails in PhoenixKit.
Email logging for PhoenixKit - comprehensive logging in a single module.
Local metrics and analytics for PhoenixKit email tracking.
Centralized path helpers for Emails module.
Unified email provider for PhoenixKit.
Rate limiting and spam protection for the email system.
Oban worker for polling AWS SQS queue for email events.
Manager module for SQS polling via Oban jobs.
Processor for handling email events from AWS SQS messages.
Supervisor for PhoenixKit email tracking system.
Manages table column customization for email logs display.
Email template schema for managing reusable email templates.
Context module for managing email templates.
Utility functions for email handling in PhoenixKit.
Thin helper around Elixir's built-in JSON module (1.18+) for the one
thing it doesn't provide: pretty-printing.
LiveView for managing email blocklist and blocked addresses.
LiveView for displaying detailed information about a specific email log.
LiveView for email tracking system settings and configuration.
LiveView for displaying and managing emails in PhoenixKit admin panel.
Controller for exporting email tracking data to CSV format.
LiveView for email metrics and analytics dashboard.
LiveView for email queue monitoring and rate limit management.
Public route definitions for Emails module. Admin LiveView routes are auto-generated from live_view: fields in admin_tabs/0.
"Amazon SES & SQS" section on the core Email Sending settings page
(/admin/settings/email-sending).
"Brevo Events" section on the core Email Sending settings page
(/admin/settings/email-sending).
"Email Tracking" section on the core Email Sending settings page
(/admin/settings/email-sending).
LiveView for creating and editing email templates in PhoenixKit admin panel.
LiveView for displaying and managing email templates in PhoenixKit admin panel.
Secure webhook controller for AWS SNS email events.
Mix Tasks
Installs PhoenixKit Emails module into parent application.