Inbound email

Receive email, parsed to clean JSON.

Point an address at Mailhuset and the inbound email API parses every incoming message to clean JSON and posts it to your webhook, signed so you know it is real. Inbound routing sends each address to the endpoint you choose. No mailbox to poll, no MIME to untangle.

POST your-app.com/inbound
X-Mailhuset-Signature: t=1718...,v1=3ba7...
{
  "from": "amara@example.com",
  "to": "support@yourapp.com",
  "subject": "Where is my order?",
  "text": "Hi, order #4182 hasn't...",
  "attachments": 1,
  "message_id": "in_7c2a90"
}
To JSON
Parsed, not raw MIME
Signed
Verify before you trust it
Attachments
Extracted and available
Routing
Address to endpoint

Turn a mailbox into an API

Support replies, ticket creation and reply-by-email all start with inbound mail processing you can trust. Mailhuset handles the inbound routing and parses incoming email to JSON, so your app gets a tidy, structured payload.

Inbound email routing

Route a whole domain or individual addresses to different webhook endpoints, so support, billing and reply mail each reach the handler you choose.

Parse incoming email to JSON

Sender, recipients, subject, plain-text and HTML bodies, and headers all arrive as clean JSON fields, so you never decode raw MIME or quoted-printable yourself.

Attachments included

Files are extracted from the message and delivered with it, with filename, content type and size, rather than left base64-encoded inside the body.

Signed webhook, spam filtered

Every inbound webhook is HMAC-signed so you can verify it before you trust it, and spam signals are scored on arrival so you can drop junk before it reaches your app.

Threading and reply matching

Message, in-reply-to and thread ids let you tie each reply back to its original conversation, so reply-by-email lands on the right ticket without guesswork.

One inbox, one activity log

Inbound mail appears in the same activity log as everything you send, so incoming and outgoing email sit in one place, in one product.

Common questions

Is there an inbound email API?
Yes. Inbound works as an API: point an address at Mailhuset, set a webhook URL, and every incoming email is posted to your endpoint as JSON. It is the same account, keys and activity log as the email you send.
Can I parse incoming email to JSON?
That is exactly what inbound does. Mailhuset parses each incoming email, including the sender, recipients, subject, text and HTML bodies and headers, into clean JSON, so you never touch raw MIME. Attachments come with it.
How does inbound email routing work?
You route by address. Send a whole domain or subdomain to a single endpoint, or route individual addresses, so support, billing and reply mail each reach the handler you choose.
What happens to attachments on inbound email?
Attachments are extracted from the message and delivered alongside the JSON payload, with their filename, content type and size, so you never have to decode anything out of the body yourself.
What do I need to receive inbound mail?
Point an address or subdomain at Mailhuset with a DNS record, set your webhook URL, and inbound messages start arriving as JSON. Spam is filtered on the way in.
How do I know an inbound webhook really came from Mailhuset?
Every inbound webhook is signed. Recompute the signature with your key and compare it before you act on the payload, so a forged request never reaches your app.

Related reading

Let your users reply by email

Point an address at Mailhuset and receive your first parsed message on your webhook in minutes.