API-first · real-time · self-destructing

    Disposable inboxes, built for CI.

    One POST gives you prefix@devmailr.app. Email lands over WebSocket in under 500 ms, your tests assert on it, and the inbox deletes itself. Nothing to clean up. Ever.

    < 500ms deliveryHMAC-signed webhooksscoped dmk_ keys

    No credit card · Free tier forever · Inboxes self-destruct

    The problem

    Your inbox was never meant to be a test fixture.

    Every signup flow you test leaves a mess somewhere. Devmailr gives each test run its own address — and takes out the trash for you.

    Without devmailr

    • Personal inbox flooded with test emails
    • Shared team credentials for throwaway accounts
    • Manual cleanup after every test run
    • No API — email verification stays untestable
    zero cleanup

    With devmailr

    • One isolated inbox per project or test run
    • Expires on schedule — zero cleanup, ever
    • REST API + webhooks for full automation
    • Real-time WebSocket delivery, no polling lag

    Capabilities

    Everything a test inbox should have. Nothing it shouldn't.

    Real-time delivery

    < 500ms

    Email is pushed to your dashboard and your sockets the instant SES hands it over. No refresh button, no retry loops — your assertion runs before the spinner would have finished.

    email:receivedci-run-42@devmailr.app312ms

    email:receivedqa-env@devmailr.app288ms

    webhook:deliveredPOST https://hooks.yourapp.dev200 OK

    24h · 7d · ∞

    Auto-expiry

    Inboxes vanish on schedule — 24 hours on Free, 7 days on Indie, never on Pro. The cleanup script you keep meaning to write is now a product feature.

    dmk_…

    REST API, scoped keys

    Create inboxes, list emails, and fetch full content from any script. Keys are SHA-256 hashed and scoped to read, crud, or crud_webhooks.

    HMAC-SHA256

    HMAC-signed webhooks

    A signed POST hits your endpoint the moment an email arrives. Verify the signature, trust the payload, skip the polling loop.

    qa-env@devmailr.app

    Custom prefixes

    Name inboxes after the thing they test. Readable addresses beat random hashes in every CI log you will ever grep.

    Attachments included

    Pull invoices, exports, and generated PDFs straight from the API or dashboard on Indie and Pro.

    ≤ 40 MB

    The workflow

    From git push to asserted email in one pipeline.

    No browser automation, no IMAP credentials in your secrets store. Just HTTP.

    1. 01

      Create

      POST /mailboxes from your test setup. You get an address back in one round-trip.

    2. 02

      Trigger

      Run the suite. Your app sends its signup, reset, or invoice email to the new address.

    3. 03

      Assert

      expect() on subject, body, and links. The inbox expires on its own afterwards.

    email.spec.jsPASS
    1// email.spec.js — runs on every push2const res = await fetch('https://api.devmailr.app/api/mailboxes', {3  method: 'POST',4  headers: { Authorization: `Bearer ${process.env.DMK_KEY}` },5})6const { address } = await res.json()  // ci-a1b2c3@devmailr.app7 8await signUp({ email: address })9 10const email = await waitForEmail(address)  // ~300ms11expect(email.subject).toBe('Confirm your account')12expect(email.links[0]).toContain('/verify?token=')

    Pricing

    Start free. Upgrade when CI does.

    Three plans, no seats, no usage meters. The price on the card is the price on the invoice.

    Free

    €0/forever

    Kick the tires on a side project.

    • 1 mailbox
    • 24-hour expiry
    • Random prefix
    • Web dashboard
    Start free
    Most teams pick this

    Indie

    €5/per month

    Enough inboxes for a full test matrix.

    • 10 mailboxes
    • 7-day expiry
    • Custom prefixes
    • REST API + scoped keys
    • HMAC-signed webhooks
    • Attachments (≤ 40 MB)
    Start Indie

    Pro

    €15/per month

    For teams running CI around the clock.

    • Unlimited mailboxes
    • No expiry — keep inboxes forever
    • Custom prefixes
    • REST API + scoped keys
    • HMAC-signed webhooks
    • Attachments (≤ 40 MB)
    Start Pro

    Prices in EUR · Cancel anytime · Free needs no credit card · Expired inboxes are deleted permanently, along with their emails

    FAQ

    Questions, answered.

    Still unsure? The Free tier is the fastest answer — spin up an inbox and see for yourself.

    Catches email from anywhere in your stack

    GitHubVercelRailwayAWSStripeRenderCircleCIGitHub ActionsGitHubVercelRailwayAWSStripeRenderCircleCIGitHub Actions

    Developers

    Built for people who read CI logs for a living.

    uses: REST API
    We wire up a new Devmailr inbox in our Jest fixtures and never tear it down — the 7-day expiry does it for us. Cleanest email testing setup I have used.
    JK

    Jamie K.

    Backend Engineer · payments startup

    uses: webhooks
    The HMAC-signed webhooks are the killer feature. Our Slack bot posts the second a staging email lands — zero polling, and we can verify every payload.
    SR

    Sofia R.

    DevOps Engineer · e-commerce platform

    uses: custom prefixes
    Finally a Mailinator alternative with a proper REST API. Naming inboxes qa-checkout@ and qa-onboarding@ instead of random hashes pays for Indie by itself.
    MC

    Marcus C.

    Full-stack Developer · indie SaaS

    Your next test run is already waiting for an inbox.

    One request from now, you have prefix@devmailr.app catching email. It will be gone before your next standup.

    $curl -X POST https://api.devmailr.app/api/mailboxes
    Create a free inbox

    No credit card · First inbox in under a minute · Deletes itself when you're done