Receiving

Receive email as structured data

Point an MX record at euromail and incoming mail arrives at your endpoint parsed, authenticated, and signed, no IMAP polling, no MIME wrangling.

Routing

Patterns with precedence

Routes match exact addresses, prefixes, or a catch-all, and resolve by priority first, specificity second. Exact beats prefix beats catch-all. support@ can hit your ticketing webhook while everything else lands in a fallback route, with no ambiguity about which rule fired.

curl -X POST https://api.euromail.dev/v1/inbound-routes \
  -H "X-EuroMail-Api-Key: em_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "pattern": "support@",
    "match_type": "exact",
    "priority": 10,
    "webhook_url": "https://yourapp.com/inbound"
  }'
Trust

Authenticated on arrival

Every inbound webhook carries the sender’s SPF verdict, so your app knows whether to trust the envelope before acting on it. Auto-responders skip senders that fail SPF to avoid backscatter to forged addresses. Payloads are signed with HMAC-SHA256, and messages up to 25 MB are accepted.

SPF verdict
Included in every payload
Signature
HMAC-SHA256 header
Max message size
25 MB
Backscatter
Auto-replies skip SPF failures