Stand: Juli 2026

Zusammenfassung: Nach dieser Anleitung veröffentlicht deine Domain einen gültigen DKIM-Public-Key in der Cloudflare-DNS-Zone — von Cloudflare Email Service generiert oder von deinem eigenen Mailserver bereitgestellt.

Voraussetzungen

  • Eine Domain, deren DNS bei Cloudflare verwaltet wird (DNS > Records)
  • Ein Mail-Setup, das mit DKIM signiert: Cloudflare Email Routing/Sending oder eigener Mailserver

Was ist DKIM?

DKIM (DomainKeys Identified Mail) fügt ausgehenden E-Mails eine digitale Signatur hinzu. In Cloudflares Worten: „DKIM ensures that emails have not been tampered during transit by cryptographically signing them” mit dem privaten Schlüssel deiner Domain. DKIM arbeitet mit einem Schlüsselpaar: Der private Schlüssel liegt auf dem Mailserver und signiert; der öffentliche Schlüssel steht im DNS — „Public key is published in DNS” — und dient dem Empfänger zur Verifikation.

Zur Einordnung: Während SPF den Server autorisiert, sichert DKIM die Nachricht. Erst mit DMARC wird daraus ein durchsetzbares Fundament.

Die Ausgangslage bei Cloudflare

Zwei Szenarien, je nachdem, wer deine Mails versendet:

A) Cloudflare Email Service (Routing oder Sending). „Cloudflare automatically generates and manages DKIM keys. You add the provided DNS records from the dashboard.” Email Service „uses separate DKIM selectors for sending and routing”:

  • Email Sending: cf-bounce._domainkey.yourdomain.com
  • Email Routing: cf2024-1._domainkey.yourdomain.com

B) Eigener Mailserver hinter Cloudflare DNS. Dein Mailserver (z. B. Mailcow, OpenDKIM) erzeugt Selektor und Schlüsselpaar. Den öffentlichen Schlüssel veröffentlichst du als TXT-Record in deiner Cloudflare-DNS-Zone.

Schritt-für-Schritt-Anleitung

A) Cloudflare Email Service

1. Record finden. Im Dashboard unter Compute > Email Service deine Domain auswählen und „Check the Settings page for the appropriate service” — Email Sending zeigt den cf-bounce._domainkey-Record, Email Routing den cf2024-1._domainkey-Record.

2. Record anlegen. „Go to DNS > Records and add the DKIM TXT record with the correct selector name and public key.” Ein gültiger DKIM-Record sieht so aus (aus Cloudflares dig-Beispiel):

v=DKIM1; h=sha256; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA...

B) Eigener Mailserver hinter Cloudflare DNS

1. Schlüssel am Mailserver erzeugen. Dein Mailserver generiert Selektor und Schlüsselpaar (bei Mailcow z. B. in der UI). Du bekommst einen öffentlichen Schlüssel im Format v=DKIM1; k=rsa; p=<dein-public-key>.

2. TXT-Record im Cloudflare-Dashboard anlegen. Gehe zu DNS > Records und wähle Add record:

FeldWert
TypeTXT
Name<selektor>._domainkey (z. B. dkim._domainkey)
Contentv=DKIM1; k=rsa; p=<dein-public-key>
TTLAuto

Cloudflare nutzt ein schlichtes Content-Feld — keine Anführungszeichen. Und „Ensure there are no extra spaces or characters in the DNS record”, sonst validiert der lange Key nicht.

Warten, bis die Änderung aktiv ist

DNS-Änderungen brauchen Zeit: Je nach TTL und Caching kann es dauern, bis alle Server den neuen Eintrag sehen.

Ergebnis prüfen

Der DNS-Record allein genügt nicht — der Mailserver muss auch tatsächlich mit dem privaten Schlüssel signieren. Prüfe das Zusammenspiel mit dem kostenlosen MXAudit-Scanner — er zeigt DKIM, SPF und DMARC auf einen Blick.

Oder direkt:

dig TXT dkim._domainkey.beispiel.de +short

Häufige Fehler

Zusätzliche Leerzeichen oder Zeichen. Cloudflare warnt, keine zusätzlichen Leerzeichen oder Zeichen im DNS-Record zu haben — ein kaputter Key scheitert still bei der Verifikation.

Selektor stimmt nicht. Der Name im DNS (selektor._domainkey) muss exakt dem Selektor entsprechen, mit dem der Mailserver signiert. Bei Email Service exakt cf-bounce._domainkey oder cf2024-1._domainkey.

DNS gesetzt, aber keine Signatur. DKIM braucht beide Hälften: Public Key im DNS und aktive Signierung am Mailserver. Prüfe beides.