<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Spf – Serverküche</title><link>https://serverkueche.de/tags/spf/</link><description>Spf – Neueste Beiträge von Serverküche</description><generator>Hugo</generator><language>de-DE</language><managingEditor>feedback@serverkueche.de (Serverküche)</managingEditor><webMaster>feedback@serverkueche.de (Serverküche)</webMaster><copyright>2026 Serverküche</copyright><lastBuildDate>Thu, 13 Aug 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://serverkueche.de/tags/spf/index.xml" rel="self" type="application/rss+xml"/><item><title>E-Mail-Zustellbarkeit: SPF, DKIM, DMARC und PTR richtig setzen</title><link>https://serverkueche.de/tutorials/mailserver-zustellbarkeit/</link><pubDate>Thu, 13 Aug 2026 00:00:00 +0000</pubDate><author>feedback@serverkueche.de (Serverküche)</author><guid>https://serverkueche.de/tutorials/mailserver-zustellbarkeit/</guid><description>Damit deine selbstgehosteten Mails im Posteingang landen statt im Spam: Reverse DNS, SPF, DKIM und DMARC Schritt für Schritt erklärt, eingerichtet und getestet.</description><content:encoded><![CDATA[<p>Dein Mailserver läuft, Postfächer sind angelegt – und trotzdem landen deine Mails beim Empfänger im
Spam oder werden gleich ganz abgewiesen. Willkommen beim eigentlich schweren Teil des
Selbst-Hostens: der <strong>Zustellbarkeit</strong>. Sie hängt nicht an deiner Server-Software, sondern an vier
DNS-Bausteinen, die anderen Servern beweisen, dass deine Mails echt sind. Dieses Tutorial richtet
sie ein und testet sie.</p>
<h2 id="was-bauen-wir">Was bauen wir?</h2>
<p>Am Ende erkennen große Mailanbieter (Gmail, Outlook, GMX &amp; Co.) deine Mails als <strong>authentisch</strong> und
liefern sie in den Posteingang statt in den Spam. Dafür sorgen vier Mechanismen, die zusammenspielen:</p>
<ul>
<li><strong>Reverse DNS (PTR):</strong> beweist, dass deine Server-IP zu deinem Mail-Hostnamen gehört – die
Grundvoraussetzung, ohne die viele Server gar nicht erst annehmen.</li>
<li><strong>SPF:</strong> legt fest, <strong>welche Server</strong> im Namen deiner Domain senden dürfen.</li>
<li><strong>DKIM:</strong> <strong>signiert</strong> jede ausgehende Mail kryptografisch, sodass Manipulation und Fälschung
auffliegen.</li>
<li><strong>DMARC:</strong> sagt den Empfängern, <strong>was zu tun ist</strong>, wenn SPF oder DKIM fehlschlagen – und
schickt dir Berichte.</li>
</ul>
<p>Der Nutzen ist doppelt: Deine eigenen Mails kommen zuverlässig an – <strong>und</strong> niemand kann in deinem
Namen fälschen. Ohne diese Records kann jeder Angreifer Mails mit deiner Absenderdomain verschicken
(„Spoofing&quot;) und damit Phishing in deinem Namen betreiben. SPF, DKIM und DMARC machen genau das
unmöglich: Sie verwandeln deine Domain von einem offen missbrauchbaren Absender in einen
nachweisbar echten. Gerade wenn Kund:innen oder Kolleg:innen Mails von dir erwarten, ist dieser
Schutz mindestens so wichtig wie die Zustellbarkeit selbst.</p>
<p>Diese vier Records sind unabhängig von deiner Server-Software. Ob du <a href="/tutorials/mailserver-mailcow-aufsetzen/">Mailcow</a>
oder <a href="/tutorials/stalwart-mailserver/">Stalwart</a> betreibst, ist egal – die Zustellbarkeit
konfigurierst du im <strong>DNS</strong> und beim <strong>Provider</strong>.</p>
<div class="not-prose my-6 rounded-lg border-l-4 p-4 border-sky-300 bg-sky-50 dark:border-sky-800 dark:bg-sky-900/20">
  <p class="mb-1 flex items-center gap-2 font-semibold text-slate-900 dark:text-white">
    <span aria-hidden="true">ℹ️</span>Kein „einmal setzen und fertig“
  </p>
  <div class="prose-kitchen text-sm">Zustellbarkeit ist ein Prozess, kein Zustand. Selbst mit perfekten Records braucht eine frische
Server-IP Zeit, um sich eine gute <strong>Reputation</strong> aufzubauen. Rechne mit ein paar Tagen, bis alles
rundläuft, und beobachte die DMARC-Berichte weiter.</div>
</div>
<h2 id="voraussetzungen">Voraussetzungen</h2>
<ul>
<li>
<p>Ein <strong>laufender Mailserver</strong> unter deiner Domain (z. B. aus dem
<a href="/tutorials/mailserver-mailcow-aufsetzen/">Mailcow-</a> oder <a href="/tutorials/stalwart-mailserver/">Stalwart-Tutorial</a>).</p>
</li>
<li>
<p>Voller <strong>Zugriff auf die DNS-Zone</strong> deiner Domain (siehe <a href="/tutorials/domain-mit-server-verbinden/">Domain mit dem Server verbinden</a>).</p>
</li>
<li>
<p><strong>Zugriff auf das Provider-Panel</strong>, um den <strong>Reverse-DNS-Eintrag</strong> der Server-IP zu setzen (bei
netcup im SCP).</p>
</li>
<li>
<p>Das Werkzeug <code>dig</code> zum Prüfen der Records:</p>
<div class="sk-code">
  <span class="sk-code-head">Terminal</span>
  <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">sudo apt install -y bind9-dnsutils</span></span></code></pre></div>
</div>
</li>
</ul>
<h2 id="schritt-für-schritt">Schritt für Schritt</h2>
<h3 id="schritt-1-reverse-dns-ptr-setzen--das-fundament">Schritt 1: Reverse DNS (PTR) setzen – das Fundament</h3>
<p>Der wichtigste und am häufigsten vergessene Eintrag. Während ein normaler DNS-Eintrag einen Namen
in eine IP auflöst, macht der <strong>PTR-Eintrag</strong> das Gegenteil: Er löst deine <strong>Server-IP</strong> zurück in
einen Namen auf. Empfänger prüfen, ob dieser Name zu deinem Mail-Hostnamen passt. Fehlt der PTR
oder zeigt er auf einen generischen Provider-Namen, gilt dein Server als verdächtig.</p>
<p>Den PTR-Eintrag setzt du <strong>nicht</strong> in deiner DNS-Zone, sondern beim <strong>Provider</strong>, dem die IP gehört.
Bei netcup gehst du dazu ins <strong>Server Control Panel (SCP)</strong> → <em>Netzwerk / Reverse DNS</em> und trägst
für deine IP den Wert <code>mail.DEINE_DOMAIN</code> ein. Nach der Propagierung prüfst du:</p>
<div class="sk-code">
  <span class="sk-code-head">Terminal</span>
  <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">dig +short -x DEINE_SERVER_IP</span></span></code></pre></div>
</div>
<div class="sk-code">
  <span class="sk-code-head">Ausgabe</span>
  <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">mail.deine-domain.de.</span></span></code></pre></div>
</div>
<p>Kommt hier <code>mail.DEINE_DOMAIN</code> zurück, stimmt der PTR. Zeigt er noch auf etwas wie
<code>vXXXXXXXXX.example-provider.net</code>, ist er noch nicht gesetzt oder nicht propagiert.</p>
<div class="not-prose my-6 rounded-lg border-l-4 p-4 border-amber-400 bg-amber-50 dark:border-amber-700 dark:bg-amber-900/20">
  <p class="mb-1 flex items-center gap-2 font-semibold text-slate-900 dark:text-white">
    <span aria-hidden="true">⚠️</span>Achtung
  </p>
  <div class="prose-kitchen text-sm">Der PTR-Hostname (<code>mail.DEINE_DOMAIN</code>) <strong>muss</strong> vorwärts wieder auf dieselbe IP auflösen
(A-Record). Diese Übereinstimmung – „Forward-confirmed reverse DNS&quot; (FCrDNS) – ist für viele
Empfänger Pflicht. Prüfe beides: <code>dig +short mail.DEINE_DOMAIN</code> muss <code>DEINE_SERVER_IP</code> ergeben.</div>
</div>
<h3 id="schritt-2-spf--wer-darf-in-deinem-namen-senden">Schritt 2: SPF – wer darf in deinem Namen senden?</h3>
<p>Der <strong>SPF-Record</strong> ist ein TXT-Eintrag in deiner DNS-Zone. Er listet die IPs bzw. Hostnamen, die
Mails für deine Domain versenden dürfen. Für einen einzelnen Mailserver genügt:</p>
<div class="sk-code">
  <span class="sk-code-head">Ausgabe</span>
  <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">DEINE_DOMAIN.   TXT   &#34;v=spf1 a:mail.DEINE_DOMAIN -all&#34;</span></span></code></pre></div>
</div>
<p>Zerlegt:</p>
<ul>
<li><code>v=spf1</code> – die SPF-Version.</li>
<li><code>a:mail.DEINE_DOMAIN</code> – der Server hinter diesem A-Record darf senden. Alternativ direkt die IP
mit <code>ip4:DEINE_SERVER_IP</code> (und <code>ip6:…</code> bei IPv6).</li>
<li><code>-all</code> – <strong>alle anderen</strong> Server sind nicht autorisiert („hard fail&quot;). Das ist die strenge,
empfohlene Variante. Ein <code>~all</code> („soft fail&quot;) ist nachsichtiger, aber weniger wirksam.</li>
</ul>
<p>Prüfen – und zwar mit Filter:</p>
<div class="sk-code">
  <span class="sk-code-head">Terminal</span>
  <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">dig +short TXT DEINE_DOMAIN <span class="p">|</span> grep spf1</span></span></code></pre></div>
</div>
<div class="sk-code">
  <span class="sk-code-head">Ausgabe</span>
  <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">&#34;v=spf1 a:mail.deine-domain.de -all&#34;</span></span></code></pre></div>
</div>
<p>Das <code>grep</code> ist kein Luxus: <code>dig +short TXT</code> gibt <strong>alle</strong> TXT-Einträge deiner Zone aus, und dort
sammeln sich mit der Zeit Verifikations-Token von Google, Microsoft &amp; Co. an. Real nachgemessen –
<code>google.com</code> antwortet mit 16 TXT-Einträgen, <code>microsoft.com</code> mit 61. Ohne Filter suchst du deinen
SPF-Record von Hand heraus. Kommt gar nichts zurück, existiert kein SPF-Record. Kommen <strong>zwei</strong>
Zeilen zurück, hast du zwei SPF-Records – und das ist ein Fehler, siehe „Wenn es nicht funktioniert&quot;.</p>
<p>Versendest du <strong>zusätzlich</strong> über Dritte – etwa einen Newsletter-Dienst oder das Transaktionsmail-
Gateway einer App – gehören deren Server ebenfalls autorisiert. Das machst du über <code>include:</code>, und
zwar in <strong>einem einzigen</strong> Record:</p>
<div class="sk-code">
  <span class="sk-code-head">Ausgabe</span>
  <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">DEINE_DOMAIN.   TXT   &#34;v=spf1 a:mail.DEINE_DOMAIN include:_spf.dienstleister.de -all&#34;</span></span></code></pre></div>
</div>
<div class="not-prose my-6 rounded-lg border-l-4 p-4 border-herb-400 bg-herb-50 dark:border-herb-700 dark:bg-herb-900/20">
  <p class="mb-1 flex items-center gap-2 font-semibold text-slate-900 dark:text-white">
    <span aria-hidden="true">🧑‍🍳</span>Tipp
  </p>
  <div class="prose-kitchen text-sm">Es darf pro Domain <strong>nur einen</strong> SPF-Record geben, und SPF erlaubt insgesamt maximal <strong>10
DNS-Lookups</strong>. Sammle alle Sender in <strong>demselben</strong> Record und spare dir überflüssige <code>include:</code>,
sonst wird SPF ungültig oder läuft in einen <code>permerror</code>.</div>
</div>
<h3 id="schritt-3-dkim--jede-mail-kryptografisch-signieren">Schritt 3: DKIM – jede Mail kryptografisch signieren</h3>
<p><strong>DKIM</strong> signiert jede ausgehende Mail mit einem privaten Schlüssel; den passenden <strong>öffentlichen</strong>
Schlüssel legst du als DNS-Record ab. Empfänger prüfen damit, dass die Mail wirklich von dir kommt
und unterwegs nicht verändert wurde.</p>
<p>So läuft es ab: Beim Versand berechnet dein Server aus wichtigen Kopfzeilen und dem Nachrichtentext
eine Signatur und hängt sie als <code>DKIM-Signature</code>-Header an. Der Empfänger holt sich deinen
öffentlichen Schlüssel aus dem DNS und prüft die Signatur. Passt sie, ist bewiesen: Die Mail stammt
von einem Server mit deinem privaten Schlüssel <strong>und</strong> wurde nicht verändert. Nimm <strong>2048-Bit</strong>-Schlüssel
– 1024 Bit gelten als zu schwach, und die meisten DNS-Anbieter kommen mit der Schlüssellänge
inzwischen problemlos zurecht.</p>
<p>Den Schlüssel <strong>erzeugt dein Mailserver</strong> – du musst nur den DNS-Record veröffentlichen:</p>
<ul>
<li>In <strong>Mailcow</strong>: <em>Konfiguration → ARC/DKIM-Schlüssel</em>, Domain auswählen, Schlüssel erzeugen (2048
Bit). Mailcow zeigt dir den fertigen DNS-Record an.</li>
<li>In <strong>Stalwart</strong>: Die Schlüssel entstehen im Einrichtungs-Assistenten; den Record findest du in der
Konsole unter der jeweiligen Domain.</li>
</ul>
<p>Der Record hat einen <strong>Selector</strong> (einen frei gewählten Namen, z. B. <code>dkim</code> oder <code>default</code>) und
sieht so aus:</p>
<div class="sk-code">
  <span class="sk-code-head">Ausgabe</span>
  <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">dkim._domainkey.DEINE_DOMAIN.   TXT   &#34;v=DKIM1; k=rsa; p=MIIBIjANBgkq...LANGER_PUBLIC_KEY...AQAB&#34;</span></span></code></pre></div>
</div>
<p>Übernimm den Wert <strong>exakt</strong> so, wie dein Mailserver ihn ausgibt. Prüfen:</p>
<div class="sk-code">
  <span class="sk-code-head">Terminal</span>
  <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">dig +short TXT dkim._domainkey.DEINE_DOMAIN</span></span></code></pre></div>
</div>
<div class="sk-code">
  <span class="sk-code-head">Ausgabe</span>
  <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">&#34;v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA…ERSTER_TEIL&#34; &#34;ZWEITER_TEIL…AQAB&#34;</span></span></code></pre></div>
</div>
<p>Wundere dich nicht über die <strong>zwei</strong> Blöcke in Anführungszeichen: Eine einzelne Zeichenkette in
einem TXT-Eintrag darf höchstens 255 Bytes tragen, ein 2048-Bit-Schlüssel ist länger. Er steht im
DNS deshalb zwangsläufig als zwei aneinandergehängte Zeichenketten, und <code>dig</code> zeigt genau das. Das
ist <strong>kein</strong> abgeschnittener Schlüssel – Empfänger setzen die Teile beim Prüfen wieder zusammen.
Die meisten DNS-Panels übernehmen die Aufteilung automatisch; verlangt deines den Wert am Stück,
trägst du ihn ohne Anführungszeichen und ohne Zeilenumbrüche ein.</p>
<p>Kommt der <code>v=DKIM1; …</code>-Wert zurück, ist der öffentliche Schlüssel veröffentlicht.</p>
<h3 id="schritt-4-dmarc--regeln-und-berichte">Schritt 4: DMARC – Regeln und Berichte</h3>
<p><strong>DMARC</strong> verbindet SPF und DKIM: Es sagt Empfängern, wie sie mit Mails umgehen sollen, die die
Prüfung <strong>nicht</strong> bestehen, und lässt dir <strong>Berichte</strong> über die Nutzung deiner Domain schicken. Ein
guter Einstiegs-Record:</p>
<div class="sk-code">
  <span class="sk-code-head">Ausgabe</span>
  <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">_dmarc.DEINE_DOMAIN.   TXT   &#34;v=DMARC1; p=quarantine; rua=mailto:dmarc@DEINE_DOMAIN; adkim=s; aspf=s&#34;</span></span></code></pre></div>
</div>
<p>Zerlegt:</p>
<ul>
<li><code>p=quarantine</code> – nicht bestandene Mails sollen in den Spam wandern. Zum <strong>Start</strong> empfiehlt sich
<code>p=none</code> (nur beobachten, nichts aussortieren), damit du erst die Berichte auswertest, bevor du
scharf schaltest. Später gehst du auf <code>quarantine</code> und schließlich <code>p=reject</code>.</li>
<li><code>rua=mailto:dmarc@DEINE_DOMAIN</code> – an diese Adresse kommen die <strong>aggregierten Berichte</strong> (lege das
Postfach vorher an).</li>
<li><code>adkim=s</code> / <code>aspf=s</code> – strenge Ausrichtung (der signierende bzw. sendende Absender muss exakt zur
Domain passen). Der Standard laut Spezifikation ist <code>r</code> (relaxed) – dann genügt dieselbe
Organisationsdomain, <code>mail.DEINE_DOMAIN</code> und <code>DEINE_DOMAIN</code> gelten also als ausgerichtet. Für
einen einzelnen Mailserver, der alles unter derselben Domain versendet, ist <code>s</code> die schärfere und
passende Wahl; sobald Dienste auf Subdomains mitsenden, setzt du auf <code>r</code> zurück.</li>
</ul>
<p>Prüfen:</p>
<div class="sk-code">
  <span class="sk-code-head">Terminal</span>
  <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">dig +short TXT _dmarc.DEINE_DOMAIN</span></span></code></pre></div>
</div>
<div class="sk-code">
  <span class="sk-code-head">Ausgabe</span>
  <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">&#34;v=DMARC1; p=quarantine; rua=mailto:dmarc@deine-domain.de; adkim=s; aspf=s&#34;</span></span></code></pre></div>
</div>
<div class="not-prose my-6 rounded-lg border-l-4 p-4 border-sky-300 bg-sky-50 dark:border-sky-800 dark:bg-sky-900/20">
  <p class="mb-1 flex items-center gap-2 font-semibold text-slate-900 dark:text-white">
    <span aria-hidden="true">ℹ️</span>Stand der Spezifikation: RFC 9989 (Mai 2026)
  </p>
  <div class="prose-kitchen text-sm"><p>DMARC ist seit <strong>Mai 2026</strong> ein offizieller IETF-Standard: <strong>RFC 9989</strong> (Protokoll) samt RFC 9990
(aggregierte Berichte) und RFC 9991 (Fehlerberichte) ersetzt das alte, nur informative RFC 7489
(und RFC 9091). Für dich ändert sich fast nichts – <code>v=DMARC1</code> bleibt unverändert, bestehende
Records bleiben gültig. Drei Punkte lohnen den Blick:</p>
<ul>
<li><strong><code>pct=</code> ist ersatzlos gestrichen.</strong> Der Tag, mit dem man die Policy früher nur auf einen
Prozentsatz der Mails anwenden ließ, existiert nicht mehr. Steht er noch in deinem Record, nimm
ihn heraus.</li>
<li><strong><code>np=</code> ist neu</strong> und für Selbsthoster praktisch: Er setzt die Policy für <strong>nicht existierende</strong>
Subdomains. <code>np=reject</code> lässt Empfänger jede Mail von einer Subdomain, die es in deinem DNS gar
nicht gibt, sofort abweisen – ein beliebter Spoofing-Weg, den du damit ohne Nebenwirkung
zumachst. (<code>sp=</code> bleibt für die existierenden Subdomains zuständig.)</li>
<li><strong>Die Public Suffix List ist raus.</strong> Die Organisationsdomain wird jetzt über einen „DNS Tree
Walk&quot; direkt im DNS ermittelt, nicht mehr über eine extern gepflegte Liste.</li>
</ul></div>
</div>
<h3 id="schritt-5-alles-zusammen-testen">Schritt 5: Alles zusammen testen</h3>
<p>Jetzt der Realitätscheck. Drei Werkzeuge – vom Gesamtbild bis zum Einzel-Record:</p>
<ol>
<li>
<p><strong><a href="https://www.mail-tester.com">mail-tester.com</a>:</strong> Der holistische Test. Öffne die Seite, sie
zeigt dir eine Zufalls-Adresse. Schick von deinem neuen Postfach eine ganz normale Mail dorthin
und klick auf „Then check your score&quot;. Du bekommst eine Wertung von <strong>10/10</strong> aufgeschlüsselt nach
SPF, DKIM, DMARC, Reverse DNS, Inhalt und Blocklisten. Alles unter 10 zeigt dir konkret, woran es hakt.</p>
</li>
<li>
<p><strong>Einzel-Validatoren pro Record.</strong> Zum gezielten Debuggen prüfst du jeden Baustein separat online:
Du gibst deine Domain ein (bei DKIM zusätzlich den Selector, z. B. <code>dkim</code>) und bekommst Syntax,
aufgelöste Werte und Warnungen angezeigt:</p>
<ul>
<li><strong>SPF:</strong> <a href="https://mxtoolbox.com/spf.aspx">MXToolbox SPF-Check</a> – zeigt auch, ob du das
10-Lookup-Limit reißt.</li>
<li><strong>DKIM:</strong> <a href="https://mxtoolbox.com/dkim.aspx">MXToolbox DKIM-Check</a> – Domain <strong>und</strong> Selector angeben.</li>
<li><strong>DMARC:</strong> <a href="https://mxtoolbox.com/dmarc.aspx">MXToolbox DMARC-Check</a> – prüft Syntax und Policy;
der <a href="https://dmarcian.com/dmarc-inspector/">dmarcian DMARC-Inspector</a> zeigt die Policy besonders
anschaulich.</li>
</ul>
</li>
<li>
<p><strong>Gegenprobe per <code>dig</code>:</strong> Prüfe alle vier Bausteine noch einmal in einem Rutsch:</p>
<div class="sk-code">
  <span class="sk-code-head">Terminal</span>
  <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">dig +short -x DEINE_SERVER_IP                  <span class="c1"># PTR</span>
</span></span><span class="line"><span class="cl">dig +short TXT DEINE_DOMAIN <span class="p">|</span> grep spf1        <span class="c1"># SPF</span>
</span></span><span class="line"><span class="cl">dig +short TXT dkim._domainkey.DEINE_DOMAIN    <span class="c1"># DKIM</span>
</span></span><span class="line"><span class="cl">dig +short TXT _dmarc.DEINE_DOMAIN             <span class="c1"># DMARC</span></span></span></code></pre></div>
</div>
</li>
</ol>
<p>Ein besonders guter Praxistest: Schick eine Mail an ein <strong>Gmail-Konto</strong>, öffne dort die Mail, und
über „Original anzeigen&quot; siehst du direkt <code>SPF: PASS</code>, <code>DKIM: PASS</code> und <code>DMARC: PASS</code>. Erst wenn
alle drei auf PASS stehen, bist du auf der sicheren Seite.</p>
<h3 id="schritt-6-dmarc-berichte-auswerten-und-scharf-schalten">Schritt 6: DMARC-Berichte auswerten und scharf schalten</h3>
<p>An deine <code>rua</code>-Adresse trudeln nach ein bis zwei Tagen die ersten <strong>DMARC-Berichte</strong> ein – XML-Dateien
von den Empfänger-Servern, die zeigen, welche Quellen unter deiner Domain gesendet haben und ob
SPF/DKIM bestanden. Sie sind roh schwer lesbar; ein kostenloser Report-Analyzer macht sie
verständlich. Sobald du in den Berichten siehst, dass deine <strong>eigenen</strong> Mails durchgehend bestehen
und keine fremden Quellen auftauchen, erhöhst du die DMARC-Policy schrittweise von <code>p=none</code> über
<code>p=quarantine</code> bis <code>p=reject</code>.</p>
<h3 id="schritt-7-was-gmail-yahoo-und-outlookcom-konkret-verlangen">Schritt 7: Was Gmail, Yahoo und Outlook.com konkret verlangen</h3>
<p>Du musst nicht raten, was „gut genug&quot; ist – die großen Anbieter haben ihre Anforderungen
schriftlich festgehalten.</p>
<p><strong>Google und Yahoo, verbindlich seit dem 1. Februar 2024.</strong> Für <strong>jeden</strong> Absender gilt: SPF
<strong>oder</strong> DKIM eingerichtet, gültige Vorwärts- <strong>und</strong> Rückwärts-DNS-Einträge, TLS beim Transport
und eine Spam-Beschwerderate unter <strong>0,3 %</strong>. Wer <strong>5.000 Mails oder mehr pro Tag</strong> an Gmail- bzw.
Yahoo-Konten schickt, muss zusätzlich SPF <strong>und</strong> DKIM setzen, einen DMARC-Record veröffentlichen
(<code>p=none</code> genügt), die <code>From:</code>-Domain mit der SPF- oder der DKIM-Domain ausrichten und bei Werbe-
und Abo-Mails eine <strong>One-Click-Abmeldung</strong> per <code>List-Unsubscribe</code>-Header anbieten.</p>
<p><strong>Microsoft, verbindlich seit dem 5. Mai 2025.</strong> Für Outlook.com, Hotmail, Live und MSN gilt
dieselbe Schwelle von 5.000 Mails pro Tag: SPF und DKIM müssen <strong>bestehen</strong>, ein DMARC-Record mit
mindestens <code>p=none</code> muss existieren, und die Ausrichtung muss über SPF und/oder DKIM passen.
Nicht konforme Mails landeten zunächst im Junk-Ordner; inzwischen weist Microsoft sie direkt im
SMTP-Dialog ab:</p>
<div class="sk-code">
  <span class="sk-code-head">Ausgabe</span>
  <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">550 5.7.515 Access denied, sending domain DEINE_DOMAIN does not meet the required authentication level</span></span></code></pre></div>
</div>
<p>Ein Detail, das gern übersehen wird: Die Schwelle ist <strong>klebrig</strong>. Hat eine Domain sie einmal
überschritten, gelten die Anforderungen dauerhaft – auch wenn du später wieder deutlich weniger
versendest.</p>
<p>Als Selbsthoster wirst du die 5.000er-Marke selten reißen. Trotzdem ist genau das die Messlatte,
an der du dich orientieren solltest – und die gute Nachricht: Die Anforderungen sind exakt das, was
du in den Schritten 1 bis 4 gebaut hast. Wer PTR, SPF, DKIM und DMARC sauber gesetzt hat, erfüllt
die Regeln der drei größten Anbieter, ohne noch einmal nachlegen zu müssen.</p>
<h3 id="schritt-8-die-ip-reputation-aufwärmen">Schritt 8: Die IP-Reputation aufwärmen</h3>
<p>Perfekte DNS-Records sind die Eintrittskarte – aber große Anbieter vertrauen einer <strong>frischen
Server-IP</strong> trotzdem nicht sofort. Sie beobachten dein Sendeverhalten und bauen über Tage bis Wochen
ein Reputationsbild auf. Zwei Dinge helfen entscheidend:</p>
<ul>
<li><strong>Klein anfangen, regelmäßig senden.</strong> Ein neuer Server, der aus dem Stand hunderte Mails
verschickt, sieht aus wie eine Spam-Schleuder. Sende anfangs wenige, echte Mails und steigere
langsam. Kontinuität schlägt Menge.</li>
<li><strong>Nur an existierende Adressen senden.</strong> Jede Mail an ein nicht existierendes Postfach (ein
„bounce&quot;) verschlechtert deine Reputation. Halte deine Empfängerlisten sauber.</li>
</ul>
<p>Ein Sonderfall ist <strong>Microsoft</strong> (Outlook, Hotmail, Live): Deren Filter sind bei neuen IPs besonders
misstrauisch, selbst bei tadellosen Records. Die Authentifizierung aus Schritt 7 ist dort die
Eintrittskarte, ersetzt aber keine Reputation. Hier hilft nur Geduld – und, falls nötig, die
Anmeldung zu Microsofts Absender-Programmen (SNDS/JMRP), über die du Einblick und einen Draht zur
Reputationsbewertung bekommst.</p>
<div class="not-prose my-6 rounded-lg border-l-4 p-4 border-herb-400 bg-herb-50 dark:border-herb-700 dark:bg-herb-900/20">
  <p class="mb-1 flex items-center gap-2 font-semibold text-slate-900 dark:text-white">
    <span aria-hidden="true">🧑‍🍳</span>Fortgeschritten: BIMI
  </p>
  <div class="prose-kitchen text-sm">Wenn SPF, DKIM und DMARC (mit <code>p=quarantine</code> oder <code>p=reject</code>) sauber laufen, kannst du mit <strong>BIMI</strong>
dein Firmen- bzw. Absenderlogo neben deinen Mails im Posteingang anzeigen lassen. Das ist optionaler
Feinschliff, kein Muss – aber ein hübsches Signal für Seriosität, sobald das Fundament steht.</div>
</div>
<h2 id="wenn-es-nicht-funktioniert">Wenn es nicht funktioniert</h2>
<div class="troubleshoot not-prose">
<p><strong>mail-tester zeigt „reverse DNS does not match&quot;.</strong> Der PTR-Eintrag fehlt, ist noch nicht propagiert
oder passt nicht zum A-Record. PTR im Provider-Panel auf <code>mail.DEINE_DOMAIN</code> setzen und mit <code>dig -x</code>
prüfen; sicherstellen, dass <code>mail.DEINE_DOMAIN</code> vorwärts auf dieselbe IP zeigt.</p>
<p><strong>DKIM schlägt fehl (<code>DKIM: FAIL</code> oder „no signature&quot;).</strong> Der DNS-Record ist falsch übernommen
(wirklich abgeschnittener Schlüssel, falscher Selector) oder noch nicht propagiert. Den Wert exakt
aus der Mailserver-UI kopieren, Selector im Record (<code>SELECTOR._domainkey</code>) mit dem im Server
konfigurierten abgleichen, dann <code>dig</code> gegenprüfen. Dass <code>dig</code> den Schlüssel als <strong>zwei</strong> Blöcke in
Anführungszeichen zeigt, ist dabei normal und kein Fehler – siehe Schritt 3.</p>
<p><strong>SPF „permerror&quot; oder „too many DNS lookups&quot;.</strong> Mehrere SPF-Records, oder zu viele
<code>include:</code>-Verschachtelungen (Limit: 10 DNS-Lookups). Mit <code>dig +short TXT DEINE_DOMAIN | grep spf1</code>
prüfen, ob wirklich nur <strong>eine</strong> Zeile zurückkommt, auf <strong>einen</strong> SPF-Record konsolidieren und
unnötige <code>include:</code> entfernen.</p>
<p><strong>Mails an Outlook/Hotmail landen im Spam oder werden abgewiesen.</strong> Kommt eine harte Abweisung mit
<code>550 5.7.515 Access denied, sending domain … does not meet the required authentication level</code>, ist
es kein Reputationsproblem, sondern Microsofts Authentifizierungsregel ab 5.000 Mails pro Tag –
SPF und DKIM müssen bestehen und ein ausgerichteter DMARC-Record (mindestens <code>p=none</code>) vorhanden
sein; die Schwelle klebt an der Domain, auch wenn du später weniger sendest. Landen die Mails
dagegen nur im Junk-Ordner, ist Microsoft schlicht streng mit neuen IPs: Geduld, wenig aber
regelmäßig senden, ggf. Microsofts SNDS-/JMRP-Programm nutzen.</p>
<p><strong>Deine IP steht auf einer Blockliste.</strong> Die IP war vor dir bei einem Spammer, oder ein Postfach von
dir versendet Spam. Auf den gängigen Blocklist-Checkern prüfen, bei berechtigtem Fund über das
jeweilige Delisting-Formular entfernen lassen – und die Ursache (kompromittiertes Konto) abstellen.</p>

</div>

<h2 id="wartung--backups">Wartung &amp; Backups</h2>
<p>Zustellbarkeit ist Dauerpflege, keine Einmalaktion:</p>
<ul>
<li><strong>DMARC-Berichte beobachten.</strong> Ein regelmäßiger Blick zeigt sofort, wenn jemand deine Domain
missbraucht oder ein eigener Dienst plötzlich durchfällt.</li>
<li><strong>DKIM-Schlüssel rotieren.</strong> Alle ein bis zwei Jahre einen neuen Schlüssel erzeugen (neuer
Selector, alten noch eine Weile stehen lassen), um die Sicherheit hochzuhalten.</li>
<li><strong>Reputation im Blick behalten.</strong> Prüfe gelegentlich Blocklisten und das Sendevolumen. Ein
plötzlicher Anstieg ausgehender Mails ist fast immer das Zeichen eines gekaperten Kontos.</li>
<li><strong>Records sichern.</strong> SPF-, DKIM- und DMARC-Records gehören in deine Doku bzw. dein Backup – gehen
die DKIM-<strong>Schlüssel</strong> auf dem Server verloren, musst du ohnehin neue erzeugen und den DNS-Record
ersetzen (siehe die Backup-Abschnitte der Mailserver-Tutorials).</li>
</ul>
<p>Sind alle vier Bausteine gesetzt und getestet, hast du die halbe Miete des seriösen Mail-Selbsthostens
– den Rest macht ein sauber betriebener, nicht als Spam-Schleuder missbrauchter Server.</p>
]]></content:encoded></item></channel></rss>