Getting Started
Welcome to the expedition. You are about to become a cryptozoologist for your own outbound email.
SquatchMail is a self-hosted Amazon SES dashboard for Phoenix applications, shipped as an embeddable Hex package — the ErrorTracker / Oban Web model, not a Docker Compose stack you have to babysit. Add the dependency, run one migration, mount one route, and every email your app sends through SES gets:
- a live activity feed (the Trail Log)
- delivery / open / click tracking (Footprints)
- bounce and complaint handling
- a self-maintaining suppression list (the Do-Not-Disturb Registry)
All of it backed by tables that live quietly in their own squatch_mail Postgres schema inside your existing database. No queue. No Redis. No separate service to deploy, monitor, and eventually forget about.
The five-minute trailhead
If your project uses igniter, the whole camp sets itself up:
mix igniter.install squatch_mail
mix ecto.migrate
mix phx.server
Then visit http://localhost:4000/squatch. Send an email through your existing Swoosh mailer and watch it appear in the Trail Log. That’s it. That’s the sighting.
Prefer to place every tent pole yourself? Take the manual installation trail.
What just happened?
SquatchMail attached itself to Swoosh’s telemetry events ([:swoosh, :deliver, :stop | :exception]) at boot. Every send your app makes through its existing mailer is captured — no adapter swap, no proxy, no changes to your send path. It was watching the whole time. (Benevolently. From the treeline.)
The capture is asynchronous and never blocks a delivery. If SquatchMail vanished tomorrow — cryptids do that — your mail would keep sending exactly as before.
Requirements
| Requirement | Version |
|---|---|
| Elixir | 1.15+ |
| Ecto | 3.13+ |
| Phoenix LiveView | 1.0+ |
| Database | PostgreSQL |
| Mailer | Swoosh (observed via telemetry — optional dependency) |
Where to next
- Installation — both trails into the woods, in full detail.
- Configuration — retention, sampling, guardrails, prefixes.
- The Dashboard — a tour of Base Camp, the Trail Log, and friends.
- Keeping the Forest Safe — auth layers and SNS signature verification. Read this before deploying anywhere but your laptop.