OxyKit.Mail
Email delivery API: queue + retries, optional DKIM, JWT and API keys, dashboard metrics, SignalR.
License: MIT · Client: OxyKit.Mail.Client (send only) · UI: oxykit-mail-web · Releases: app zips
Quick start
Requires a solution-root .env (SMTP + JWT). See the product README in the Mail checkout.
bash
dotnet run --project src/OxyKit.Mail/OxyKit.Mail.csproj
# http://localhost:5026Or download a release zip for your OS and run the host (needs the .NET 10 runtime).
| Item | Value |
|---|---|
| Base URL | http://localhost:5026 |
| Auth | X-Api-Key or Bearer JWT |
| Health | GET /health |
| OpenAPI | /scalar, /openapi/v1.json (Development) |
| Dashboard hub | /hubs/dashboard |
First run: GET /api/v1/setup/needs-admin, then create an admin if needed.
In this chapter
- Send contract —
sent/accepted/scheduled - Client — send-focused .NET SDK
- Auth & companion UI — keys, roles, Vue dashboard
- Smoke & OpenAPI
Boundaries
Mail owns SMTP. Callers (including Flow) treat sent / accepted / scheduled as success and must not re-send on accepted. Document generation belongs in Render / Flow — not Mail.