Skip to content

Implementations

The specification defines IDMX. Code demonstrates it, and it never overrides the spec. Independent implementations are the goal: the spec is meant to be small enough to implement from the text alone.

The idmx repository contains:

Component What it is
idmx-core Envelope types, RFC 9421 signing and verification, SVCB discovery
idmxd The receiver daemon: runs beside an existing MTA and hands accepted mail to local delivery
idmx Sender library and CLI: retries, pinning, a spool queue, SMTP fallback, bounces
idmx-conformance Black-box checks against any receiver: idmx-conformance <origin>

Code is dual-licensed MIT or Apache-2.0.

devnet/ starts a small IDMX network in containers (podman or docker). It has one DNS server, two domains that deliver to each other over IDMX, and an SMTP-only legacy domain. Scripts run the three core flows: IDMX-to-IDMX delivery, SMTP fallback, and conformance against both receivers.

Start with the specification. The OpenAPI document and the test vectors that come with each draft cover the wire format and signatures. Then run idmx-conformance against your receiver.