1 file, zero sidecars
A CGO-free Go binary with embedded SQLite and FTS5. No Postfix, Dovecot, Rspamd, or container orchestra.
A single-binary IMAP + SMTP server with a POSIX CLI
go install github.com/synqronlabs/perch/cmd/perch@latestperch is a mailbox server, a mail client, and a small automation surface in one binary. mxRaven handles the public edge: MX, SPF/DKIM/DMARC, IP reputation, and spam filtering.
A CGO-free Go binary with embedded SQLite and FTS5. No Postfix, Dovecot, Rspamd, or container orchestra.
Inbound mail arrives over an outbound WebSocket. Works behind NAT, CGNAT, or a homelab router.
Keep compressed mail in SQLite or offload raw .eml files to S3/R2 while metadata and search stay local.
POSIX commands with NDJSON, raw .eml, mbox, Maildir, and real exit codes. Easy to wire into an agent loop.
IMAP and authenticated SMTP. Use Thunderbird, Apple Mail, mutt, or your own application client.
Self-hosted mail with zero inbound SMTP ports. mxRaven does not retain your messages.
Built for agents and harnesses
No browser sessions, no scraping, no vendor-specific mailbox API. Your agent gets normal email plus a clean command-line interface designed for scripts and tool calls.
# Give the agent structured context
$ perch mail search -q 'unseen from:alice' --json
# Fetch the full message
$ perch mail fetch --uids 42 > message.eml
# Reply with an attachment
$ perch mail send --to alice@example.com \
--subject 'Report ready' \
--body 'See attached.' \
--attach report.pdf