PrimitiveMail
Self-hosted SMTP inbox for agents.
One command, one VPS, incoming mail on disk as JSON.
What you get
- One-command install. Fresh Ubuntu VPS to working inbox in a few minutes.
- Your domain, your IP, or a free
*.primitive.emailsubdomain. Bring DNS or skip it. - Mail on disk as canonical JSON. Tailable journal, per-email files, attachments bundled.
- Pull or push.
tail -f emails.jsonl, or HMAC-signed webhooks to your endpoint. - Inbound auth built in. SPF, DKIM, DMARC verification. Sender and recipient allowlists.
- Agent-scriptable installer.
--no-prompt, NDJSON progress on stdout, preflight check.
Install
One-liner on a fresh Linux VPS with a public IPv4 and inbound TCP 25 reachable:
curl -fsSL https://get.primitive.dev | bash
Prefer to pin bytes first? The Worker serves a sha256sum-compatible hash:
curl -fsSL https://get.primitive.dev -o install.sh && \ curl -fsSL https://get.primitive.dev/install.sh.sha256 | sha256sum -c && \ bash install.sh
The && chain is load-bearing. A mismatched hash aborts before bash install.sh runs.
Verify end-to-end
After install, confirm the full pipeline with one command:
primitive emails test
A real external email from primitive.dev is sent to your claimed subdomain. The CLI waits for it to arrive in the local journal and reports round-trip time.
Agent-shaped
Point your agent at the journal. No MIME parsing, no SMTP ceremony.
primitive emails list # recent entries primitive emails read --latest # full parsed JSON primitive emails since <seq> # resume after crash
See AGENTS.md for the journal format, file layout, and webhook contract.