Data flow

Newsletter & SMTP email

Subscribe via NewsletterSubscribe. Optional double opt-in sends confirmation and welcome emails through SMTP_URL.

sequenceDiagram
    participant U as User
    participant FE as NewsletterSubscribe
    participant API as FastAPI
    participant DB as MySQL
    participant SMTP as SMTP relay
    U->>FE: Subscribe
    FE->>API: POST /newsletter/subscribe
    API->>DB: newsletter_subscribers
    API->>SMTP: Confirmation email
    U->>API: GET confirm token
    API->>DB: confirmed
    API->>SMTP: Welcome email

Delivery logged in email_events when SMTP sends successfully.