Getting Started

Inboxes is a full email client built on top of Resend. You bring your own API key and get threaded inboxes, search, team management, spam filtering, and real-time delivery for every domain on your Resend account.

How it works

  1. Connect your Resend API key - inboxes uses your key to read and send emails through the Resend API. Your key is encrypted at rest with AES-256-GCM.
  2. Import your history - during onboarding, inboxes syncs your existing emails from Resend, threads them, and discovers your email addresses.
  3. Receive in real-time - a webhook is registered with Resend during onboarding. New emails appear in your inbox within seconds.

Cloud or self-hosted

Inboxes runs in two modes, determined by a single environment variable at startup:

  • Cloud (app.inboxes.net) - we host everything. Sign up, connect your API key, and you're done.
  • Self-hosted - run the full stack on your own server with Docker Compose. See the Deployment guide for setup instructions.

Stack

  • Backend - Go (net/http, goose migrations, slog structured logging)
  • Frontend - Next.js (standalone output, server-side API proxy)
  • Database - PostgreSQL
  • Cache & queues - Redis (job queues, rate limits, pub/sub)

Key features

  • Threaded conversations across all your domains
  • Full-text email search with operators (from:, to:, has:attachment, before:, after:)
  • Scheduled send - write now, send up to 30 days later
  • Undo send with a configurable 5/10/30 second hold
  • Snooze threads until later today, tomorrow, or next week
  • Forwarding rules and auto-replies, per alias, with loop guards
  • Per-user rich HTML signatures
  • Team management with role-based access (admin / member)
  • Per-alias permissions - members only see their assigned inboxes
  • Custom labels and folders, with custom ordering
  • Draft auto-save
  • Attachment support (up to 10 MB per file)
  • Tracking protection (strips 48+ tracking parameters, blocks tracking pixels)
  • Bounce blocklist - hard bounces block the address for 30 days
  • Session management with per-session revoke
  • Desktop notifications
  • Dark mode
  • WebSocket real-time updates
  • MCP server for AI agents - see MCP

Next steps