When emails arrive, your code runs

Mailhooks turns inbound email into events — no mail server, no DNS, no infrastructure.

Give your app an email address. When something lands, we parse it, filter the spam, and deliver it where you already work — webhooks, Notion, n8n, or Discord.

No mail serverNo DNS recordsNo SPF / DKIM / DMARCSpam filtered

Live Demo Inbox

See how Mailhooks receives and processes emails in real-time

Creating your demo inbox...
mailhooks.dev/dashboard
Mailhooks dashboard showing incoming emails, usage statistics, and inbox management

Inbound only. That's the whole point.

Most email APIs started as sending platforms — you carry their baggage (deliverability, IP reputation, DKIM alignment) even when you only want to receive. Mailhooks never sends. So you never think about any of it.

No SPF / DKIM / DMARC setup

Receiving doesn't need any of it. Point your MX record and you're done.

No IP reputation to manage

We're not in the sending game, so you're never at risk of being blacklisted.

Your webhooks only fire for real emails

Spam is filtered before it reaches your automation — not after.

No outbound features to pay for

You're not subsidising a sending platform. You pay for what you use.

Free for prototyping

100 emails/month free — no credit card required

Free tier
No credit card
Cancel anytime

When an email arrives, this runs

Copy, paste, deploy — your mailhook is live in two minutes

// Receive emails via webhook
app.post('/webhook/email', (req, res) => {
  const { from, subject, text, html } = req.body;

  // Process the incoming email
  console.log('New email from:', from);

  res.sendStatus(200);
});

Three ways email reaches your stack

Three ways to receive emails — pick what fits your architecture, your stack, or the 15-year-old tool you can't rewrite

Webhooks

  • Best for servers with public endpoints
  • One-shot HTTP requests
  • Works with serverless functions
  • Automatic retries on failure

Use when: You have infrastructure to receive HTTP requests

Real-time (SSE)

  • Outbound connections only
  • No ngrok needed for local dev
  • Works in browsers and firewalled envs
  • Built-in auto-reconnection

Use when: You can't expose endpoints or need client-side notifications

IMAP

  • Plug into legacy software that only speaks IMAP
  • osTicket, old Jira, RT, imaplib scripts
  • Zero code changes on the downstream tool
  • Your API key is the password

Use when: The downstream system predates webhooks and you're not rewriting it

Make email trigger something today

Your first mailhook in two minutes. No credit card required.

Secure payments powered by