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.
See how Mailhooks receives and processes emails in real-time
No glue code. Emails arrive as database rows, workflow triggers, or channel messages — ready for whatever you're building.

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.
Receiving doesn't need any of it. Point your MX record and you're done.
We're not in the sending game, so you're never at risk of being blacklisted.
Spam is filtered before it reaches your automation — not after.
You're not subsidising a sending platform. You pay for what you use.
Real things email can trigger — no infrastructure required.
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 to receive emails — pick what fits your architecture, your stack, or the 15-year-old tool you can't rewrite
Use when: You have infrastructure to receive HTTP requests
Use when: You can't expose endpoints or need client-side notifications
imaplib scriptsUse when: The downstream system predates webhooks and you're not rewriting it
Your first mailhook in two minutes. No credit card required.