How aney2000/10_min_mail works
10 Minute Mail is a local disposable-email service. A browser requests a mailbox through the web app, then connects to its live inbox; an external sender delivers mail over SMTP. The SMTP handler parses and submits messages to the shared service, which stores them and publishes delivery events for WebSocket broadcast. Mailboxes expire after ten minutes, with a periodic sweep reclaiming expired data. The README and sampled source support these principal paths; links for unsampled route and startup details rely on README statements.
Main entry points: service.py Mailbox Service · smtp.py SMTP Receiver · api.py HTTP API · websocket.py Live Inbox
Components 17
Clients
- Web UI
src/ten_min_mail/static/app.js
Delivery
- HTTP API
src/ten_min_mail/api.py - SMTP Receiver
src/ten_min_mail/smtp.py - Mail Parser
src/ten_min_mail/mail_parsing.py - Live Inbox
src/ten_min_mail/websocket.py
Application Core
- Mailbox Service
src/ten_min_mail/service.py - Address Generator
src/ten_min_mail/address_generator.py - Domain Rules
src/ten_min_mail/domain.py - Clock
src/ten_min_mail/clock.py - SQLite Repository
src/ten_min_mail/repository.py - Event Publisher
src/ten_min_mail/events.py
Runtime
- Mailbox Data
src/ten_min_mail/repository.py - Expiry Sweeper
src/ten_min_mail/housekeeping.py - Environment Config
src/ten_min_mail/config.py - Application Entry
src/ten_min_mail/__main__.py
Other components
- Browser
- Mail Sender
Connections 18
- Browser → Web UI: uses
README.md - Web UI → HTTP API: requests mailboxes
README.md - Browser → Live Inbox: opens inbox
README.md - Mail Sender → SMTP Receiver: sends mail
README.md - HTTP API → Mailbox Service: routes use cases
src/ten_min_mail/api.py - SMTP Receiver → Mail Parser: parses message
src/ten_min_mail/smtp.py - SMTP Receiver → Mailbox Service: delivers message
src/ten_min_mail/smtp.py - Mailbox Service → Address Generator: generates addresses
src/ten_min_mail/service.py - Mailbox Service → SQLite Repository: persists mail
src/ten_min_mail/service.py - SQLite Repository → Mailbox Data: reads and writes
src/ten_min_mail/repository.py - Mailbox Service → Clock: gets current time
src/ten_min_mail/service.py - Mailbox Service → Domain Rules: applies rules
README.md - Mailbox Service → Event Publisher: publishes delivery
src/ten_min_mail/service.py - Event Publisher → Live Inbox: notifies subscriber
README.md - Live Inbox → Browser: sends live frame
README.md - Expiry Sweeper → Mailbox Service: purges expired
README.md - Application Entry → HTTP API: starts application
README.md - Application Entry → Environment Config: loads settings
src/ten_min_mail/__main__.py