Werkmail Docs
Contents

Guides

Raw source and branding

When someone opens View Source / Show original, they see every hop and every cryptographic signature. Werkmail already brands the parts we control. A few lines are written by the outbound mail platform and cannot be rewritten, renamed, or hidden.

What Werkmail already brands

Header / record What recipients see
Message-ID <uuid@your-from-host> — the host is the domain after @ on From. If that host is missing, it falls back to werkmail.eu. Simple send uses raw MIME so this header is not replaced by a platform-generated id.
Return-Path / MAIL FROM bounce.<your-domain> after MAIL FROM DNS is live. Envelope sender is on your domain.
List-Unsubscribe HTTPS on the product origin (/u/…, /u/oneclick/…). One-click POST is signed.
List-Unsubscribe-Post List-Unsubscribe=One-Click when one-click is enabled.
From / Reply-To Exactly what you send.
DNS you publish DKIM CNAMEs, MAIL FROM MX, and SPF include: all point at product-branded hostnames (*.dkim.werkmail.eu, feedback.werkmail.eu, spf.werkmail.eu). Tenants never paste platform hostnames into their DNS panel.

We do not add X-Mailer or a product name in custom headers. Those fail inbox quality tests and look like bulk software.

What the platform always adds

The outbound platform always signs mail with its own DKIM (d= on the platform domain, long random selector). Official reason: complaint feedback loops. That signature cannot be disabled, renamed, or replaced with a Werkmail d=.

If your domain identity is verified, the same message also carries a second DKIM signature: d=your-domain. Inbox alignment (DMARC) uses your domain signature. The platform signature stays alongside it. That is normal for this sending path.

A message that shows only the platform DKIM (d= on the platform domain, no d=your-domain) usually means the sending identity is not fully verified yet, or the From host is not the verified domain. Finish DNS and authentication, wait until DKIM is SUCCESS, and re-send. You should then see two DKIM-Signature headers.

A platform-generated Message-ID (host is not your From domain) means that particular send used the simple API fallback — raw MIME was unavailable. Domain DKIM is independent of that path: once the identity is verified, both paths still add d=your-domain.

What we will not do (and why)

Idea Why not
Extra DKIM d= on werkmail.eu for mail whose From is the customer domain Unaligned. Some receivers pick one signature at random and fail DMARC.
Rewrite or strip the platform DKIM after send Breaks the signature. Receivers treat it as tampering.
Claim the platform selector as ours The d= domain is what receivers display. The selector name does not hide it.
Hide Received hops or Feedback-ID Written by the platform after we hand the message off. Not under API control.

When you need zero platform signatures

The only way to drop platform DKIM, Received, and Feedback-ID entirely is to send through an SMTP relay you control, so mail never enters that platform. Werkmail already supports an optional per-workspace SMTP relay (Settings → SMTP relay, off by default). That path has its own TLS, auth, and deliverability trade-offs — it is an escape hatch, not the default EU sending path. Open/click tracking does not apply over SMTP.

Mental model

You → Werkmail API
        ├─ brands Message-ID, From, List-Unsubscribe
        ├─ sets MAIL FROM to bounce.<your-domain>
        └─ hands MIME to the outbound platform
              ├─ adds platform DKIM (always)
              ├─ adds your-domain DKIM (when identity is verified)
              └─ adds Received / Feedback-ID

DNS aliases (*.dkim.werkmail.eu) are how tenants publish records. They do not change the d= string inside the DKIM header. The cryptographic domain in the signature is still the identity that was verified — your domain plus the platform’s own signer.

View this page as Markdown · llms.txt · full corpus