Cabalmail

Host your own email and enhance your privacy

View the Project on GitHub cabalmail/cabal-infra

Inbound sender authentication (SPF / DKIM / DMARC verdicts)

The smtp-in tier verifies sender authentication on every inbound message and stamps the verdicts into an Authentication-Results header. The clients display them; nothing is ever rejected because of them.

The milter chain

Two milters run in the smtp-in container (configs in docker/smtp-in/configs/):

Both are observe-only: RejectFailures false, so every disposition is accept. The verdict is surfaced to the user, never enforced by the relay.

The trust rule

Verdicts are stamped under the environment’s control domain as the authserv-id. Two defenses keep them trustworthy:

What clients see

Envelope and message payloads carry an auth_results field with per-method verdicts (pass/fail/none/…). Both the web and Apple readers render a verdict line, with a “not verified” fallback for mail that predates the feature or arrived without a header (e.g. locally submitted). Design history: 0.10.x/inbound-auth-verification-plan.md.