Inbound
Inbound & IMAP
Two ways to get incoming mail into mailnix: pattern-based inbound routes on the @inbound.mailnix.ch domain, or pointing mailnix at an existing IMAP mailbox you already run.
Inbound routes
An inbound route matches a local-part pattern at @inbound.mailnix.ch and delivers each incoming message to your webhook, durably, with retry.
- Create a route with a pattern and a webhook URL, in the dashboard or via the MCP tool
email_inbound_route_create(local_part_pattern, webhook_url). - Mail to a matching address (say
support-*@inbound.mailnix.ch) is parsed and POSTed to your webhook. - Stored messages are also listable:
email_inbound_messages_list(route_id, limit)on MCP, or the dashboard's inbound view.
Webhook authentication
Every notify POST carries:
X-Mailnix-Signature: sha256=<hex(hmac_sha256(body, route_secret))>Verify the signature before processing. Deliveries are deduplicated via the X-Mailnix-Delivery header (a UUID per delivery attempt chain), so replays are detectable.
IMAP polling
If you would rather not change MX records, point mailnix at an existing mailbox: host, port, username, password, mailbox folder, and poll interval. mailnix polls the mailbox and ingests new messages through the same pipeline. Configure it in the dashboard's inbound settings.
Not the same as virtual inboxes
Inbound routes handle real incoming mail. Virtual inboxes observe captured outbound test sends from the soft-sandbox path and are best-effort by design. A real email never lands in a virtual inbox, and a captured send never fires an inbound-route webhook. See Virtual inboxes.