Preview: SendMock has no stable release yet. These docs follow develop.
Now in beta: try the live demo with sample data

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.

SMTP email
SMS and Verify
Payments
Any HTTP call
SendMock
Web UI
Webhooks to your app
CLI and MCP for agents

Works with your stack

Plain SMTP and HTTP, plus provider-compatible APIs. No SDK changes.

PHPNode.jsPythonGoJavaRustRuby.NETLaravelDjangoSpringRailsExpress
PHPNode.jsPythonGoJavaRustRuby.NETLaravelDjangoSpringRailsExpress
PHPNode.jsPythonGoJavaRustRuby.NETLaravelDjangoSpringRailsExpress
PHPNode.jsPythonGoJavaRustRuby.NETLaravelDjangoSpringRailsExpress
SendGridMailgunPostmarkResendAmazon SESBrevoTwilioTwilio VerifyVonagePlivoMessageBirdInfobipTelnyxSinchAfrica's TalkingAmazon SNSVonage VerifyWhatsApp CloudStripePayPalSSLCommerzbKashSlackDiscordMicrosoft Teams
SendGridMailgunPostmarkResendAmazon SESBrevoTwilioTwilio VerifyVonagePlivoMessageBirdInfobipTelnyxSinchAfrica's TalkingAmazon SNSVonage VerifyWhatsApp CloudStripePayPalSSLCommerzbKashSlackDiscordMicrosoft Teams
SendGridMailgunPostmarkResendAmazon SESBrevoTwilioTwilio VerifyVonagePlivoMessageBirdInfobipTelnyxSinchAfrica's TalkingAmazon SNSVonage VerifyWhatsApp CloudStripePayPalSSLCommerzbKashSlackDiscordMicrosoft Teams
SendGridMailgunPostmarkResendAmazon SESBrevoTwilioTwilio VerifyVonagePlivoMessageBirdInfobipTelnyxSinchAfrica's TalkingAmazon SNSVonage VerifyWhatsApp CloudStripePayPalSSLCommerzbKashSlackDiscordMicrosoft Teams

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 install
SMTP listening on 127.0.0.1:1025
Web UI and API on http://127.0.0.1:8025

Screenshots

See what your app sent

Every message, delivery and payment in one web UI, live as it happens.

The Mail screen: a list of caught emails and one open with its HTML preview, tabs and actions.
localhost:8025/mail

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.

Email

SMTP plus SendGrid, Mailgun, Postmark, Resend, SES and Brevo APIs, with HTML preview and checks.

SMS and Verify

Twilio and Vonage compatible APIs, Twilio Verify, real test numbers and delivery status callbacks.

Webhooks

Rules or manual sends, provider-shaped templates, retries, replay and Standard Webhooks signing.

Payments

Stripe, PayPal, SSLCommerz and bKash test checkouts with real redirects, signed IPNs and test cards.

HTTP Catcher

A bin for any HTTP call your app makes, answered with the responses, delays and failures you set.

Built for AI agents

A CLI, an MCP server and an agent skill, so Claude Code, Codex and others can test everything.

22built-in provider APIsSee the providers8languages with connection guidesSee the languages244REST API operationsSee the operations

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.

localhost:8025/webhooks/overview
  • 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.