Catch every email, SMS, payment and webhook on your machine
One small binary that acts as a mail server, an SMS provider and a payment gateway for any app, shows everything in a clean web UI, and calls your webhooks automatically or on demand. PHP, Node, Python, Go, Java, Rust and more.
How it works
Point your app at SendMock
Change one host and port. Everything your app sends is caught, shown and answered like the real provider would.
Works with your stack
Plain SMTP and HTTP, plus provider-compatible APIs. No SDK changes.
Quick start
Install and run
Run it with npx or bunx, use Docker, install one binary for macOS, Windows or Linux, or let your AI agent install it. Running in under a minute.
✔ Fetched into npm's cache, no installSMTP listening on 127.0.0.1:1025Web UI and API on http://127.0.0.1:8025Install SendMock on this computer for me. SendMock is a local sandbox that catches the emails, SMS and webhooks my apps send: https://shibbirweb.github.io/sendmock/ Follow these steps and talk to me in plain, simple words: 1. Before you install anything, check this computer and tell me what you found: the operating system and CPU (for example macOS on Apple silicon, Windows on x64, Linux on ARM), whether Docker is installed and running, whether Homebrew is installed, whether Node.js (`node --version`) or Bun (`bun --version`) is installed, and whether SendMock is already installed (`sendmock --version`). 2. Ask me how I want to run SendMock, and recommend one based on what you found: - Docker: SendMock runs in a container, nothing is installed on my computer, and it is easy to remove. Good if I already use Docker or Docker Compose. Docker must be running. - npx or bunx: runs SendMock straight from npm with nothing installed. Needs Node.js 18 or newer (npx) or Bun (bunx); the first run downloads it into their cache, later runs start at once. Good for trying SendMock, or if I already use Node.js or Bun. - The binary: one small program installed on my computer. It starts instantly and does not need Docker. 3. Ask me whether I want the stable version (recommended) or the beta (newest features first). 4. Use only these official commands, for my choice and my system: - macOS or Linux with Homebrew, stable: `brew install shibbirweb/tap/sendmock` - macOS or Linux with Homebrew, beta: `brew install shibbirweb/tap/sendmock-beta` - Linux or macOS without Homebrew, stable: `curl -fsSL https://github.com/shibbirweb/sendmock/releases/latest/download/install.sh | sh` - Linux or macOS without Homebrew, beta: `curl -fsSL https://github.com/shibbirweb/sendmock/releases/download/beta/install.sh | sh -s -- --channel beta` - Windows (PowerShell), stable: `irm https://github.com/shibbirweb/sendmock/releases/latest/download/install.ps1 | iex` - Windows (PowerShell), beta: `& ([scriptblock]::Create((irm https://github.com/shibbirweb/sendmock/releases/download/beta/install.ps1))) -Channel beta` - npx (Node.js), stable: `npx sendmock` - npx (Node.js), beta: `npx sendmock@beta` - bunx (Bun), stable: `bunx sendmock` - bunx (Bun), beta: `bunx sendmock@beta` - Docker, stable: `docker run --rm -p 1025:1025 -p 8025:8025 ghcr.io/shibbirweb/sendmock` - Docker, beta: `docker run --rm -p 1025:1025 -p 8025:8025 ghcr.io/shibbirweb/sendmock:beta` The full steps are on https://shibbirweb.github.io/sendmock/docs/install/. Before you run each command, show it to me, say in one sentence what it does, and wait for my OK. 5. If a download fails because SendMock has no release yet, stop and tell me so. I can try the live demo instead: https://shibbirweb.github.io/sendmock/demo/ 6. When it is installed, start SendMock so it keeps running after you finish (in the background, or give me the command to run in a new terminal; with npx or bunx, that command is the one that starts it), and check that it works: open http://127.0.0.1:8025. Then tell me the web UI address, the SMTP settings for my app (host 127.0.0.1, port 1025, no username, password or TLS) and how to stop SendMock. Do not change any other settings on this computer, and ask me before you install anything else.
Copy the prompt, paste it into your AI coding agent and answer its questions. It shows every command before it runs it.
Needs Node.js 18 or newer on your computer.
Screenshots
See what your app sent
Every message, delivery and payment in one web UI, live as it happens.


Features
Everything in one place
Every email, SMS, payment, webhook and HTTP call your app makes, caught and answered like the real provider, on your own machine.
Why SendMock
Stop testing on real inboxes and phones
See in a short video why testing what your app sends is slow and risky, and how SendMock makes it safe and fast.


No real messages sent
Nothing reaches a real inbox, phone or card while you test. Every email, SMS, payment and webhook stays on your machine.
Seconds, not minutes
Read the OTP, preview the email or replay the webhook right away, instead of waiting on a phone, an inbox or a provider dashboard.
One setting to switch
Change one host and port. Your app and its provider SDKs keep working, with no code changes.