mirror of
https://github.com/pewdiepie-archdaemon/odysseus.git
synced 2026-10-18 21:02:20 +02:00
88 lines
3.1 KiB
Markdown
88 lines
3.1 KiB
Markdown
# Email
|
|
|
|
Features in this document are generated from [`../feature-catalog.json`](../feature-catalog.json), the canonical inventory.
|
|
|
|
## EMAIL-001 — Email Account Setup, IMAP/SMTP Connection & Polling
|
|
|
|
- **Domain**: `email`
|
|
- **Status**: `verified`
|
|
- **Evidence Maturity**: `E1`
|
|
- **Commit Verified**: `d8a2059df8e53bc7275c45339849d14c8651e73c`
|
|
- **Runtime Validation**: pending — Requires a controlled live IMAP account and network access.
|
|
|
|
### Purpose
|
|
|
|
Configures IMAP/SMTP email accounts, validates TLS certificates, and polls background inbox updates.
|
|
|
|
### Evidence summary
|
|
|
|
- `routes/email_routes.py` — `setup_email_routes` — Sets up email account management and synchronization routes.
|
|
- `routes/email_pollers.py` — `_start_poller` — Background poller for email inbox synchronization.
|
|
- `tests/test_service_health_email.py` — `test_email_ok_all_connect` — Tests IMAP connection health probing and status reporting.
|
|
|
|
### Unknowns
|
|
|
|
- Account lockouts if bad credentials are repeatedly polled.
|
|
|
|
## EMAIL-002 — Email Searching, Threading & Message Operations
|
|
|
|
- **Domain**: `email`
|
|
- **Status**: `verified`
|
|
- **Evidence Maturity**: `E0`
|
|
- **Commit Verified**: `d8a2059df8e53bc7275c45339849d14c8651e73c`
|
|
- **Runtime Validation**: not-required — No separate environment-dependent runtime validation was identified during this documentation pass.
|
|
|
|
### Purpose
|
|
|
|
Parses email headers, folds signatures, groups messages into threads, and executes full-text email search.
|
|
|
|
### Evidence summary
|
|
|
|
- `routes/email_routes.py` — `@router.get('/search')` — Executes search across cached email headers and text.
|
|
- `src/email_thread_parser.py` — `parse_email_thread` — Builds conversation tree from Message-ID and In-Reply-To headers.
|
|
|
|
### Unknowns
|
|
|
|
- Malformed MIME email structures failing HTML sanitization.
|
|
|
|
## EMAIL-003 — Email Composition, Draft Management & Sending
|
|
|
|
- **Domain**: `email`
|
|
- **Status**: `verified`
|
|
- **Evidence Maturity**: `E0`
|
|
- **Commit Verified**: `d8a2059df8e53bc7275c45339849d14c8651e73c`
|
|
- **Runtime Validation**: pending — Requires a controlled live SMTP account and network access.
|
|
|
|
### Purpose
|
|
|
|
Creates, saves, and dispatches HTML/plaintext email messages via SMTP.
|
|
|
|
### Evidence summary
|
|
|
|
- `routes/email_routes.py` — `@router.post('/send')` — Sends email message via user SMTP credentials.
|
|
|
|
### Unknowns
|
|
|
|
- SMTP connection drop mid-send causing unsent mail state.
|
|
|
|
## EMAIL-004 — Email MCP Server & Codex Integration Bridge
|
|
|
|
- **Domain**: `email`
|
|
- **Status**: `verified`
|
|
- **Evidence Maturity**: `E0`
|
|
- **Commit Verified**: `d8a2059df8e53bc7275c45339849d14c8651e73c`
|
|
- **Runtime Validation**: not-required — No separate environment-dependent runtime validation was identified during this documentation pass.
|
|
|
|
### Purpose
|
|
|
|
Exposes constrained email reading and draft capabilities to external Codex / MCP agents with scope checks.
|
|
|
|
### Evidence summary
|
|
|
|
- `mcp_servers/email_server.py` — `EmailMcpServer` — MCP server exposing email tools over stdio/SSE.
|
|
- `routes/codex_routes.py` — `setup_codex_routes` — Bridge endpoints for external Codex plugin integration.
|
|
|
|
### Unknowns
|
|
|
|
- Unauthorized mail sending if token scopes are improperly scoped.
|