alle Anleitungen

// so behebst du es

Amazon SES eigene MAIL-FROM-Domain: SPF-Alignment für DMARC

Amazon SES nutzt eine Bounce-Domain unter amazonses.com, daher ist SPF nicht auf DMARC ausgerichtet. Richte eine eigene MAIL-FROM-Subdomain mit MX und SPF ein.

Was das bedeutet

Jede E-Mail hat zwei Absenderadressen. Die From-Adresse ist das, was Menschen sehen. Die MAIL FROM (auch Envelope-Absender, Return-Path oder Bounce-Adresse genannt) nutzen Server, um Bounces zurückzuschicken. SPF prüft die MAIL-FROM-Domain, nicht die From-Domain.

Standardmäßig verwendet Amazon SES eine Subdomain von amazonses.com als MAIL FROM. SPF besteht, aber für amazonses.com, nicht für deine Domain. DMARC braucht ein bestandenes SPF oder DKIM für eine Domain, die zu deiner From-Domain passt. Mit den Standardeinstellungen zählt SPF für DMARC also nie. In einem Bericht sieht das so aus:

spf=pass smtp.mailfrom=0100018abc...@us-east-1.amazonses.com
dkim=pass header.d=yourdomain.com
dmarc=pass header.from=yourdomain.com

DMARC besteht hier trotzdem, dank DKIM. Du hängst aber allein von DKIM ab: Wenn ein Weiterleiter oder eine von einem Gateway angefügte Fußzeile die Signatur bricht, schlägt DMARC fehl. Eine eigene MAIL-FROM-Domain verschafft dir einen zweiten, ausgerichteten Treffer. Das Grundprinzip wird in Return-Path, Envelope-Absender und From erklärt.

Warum das passiert

  • Für die Identität ist keine eigene MAIL-FROM-Domain eingerichtet (Standard).
  • Eine eigene MAIL-FROM-Domain ist eingerichtet, aber ihr Status ist Pending, TemporaryFailure oder Failed. Mit der Ausweichoption Use default MAIL FROM domain kehrt SES stillschweigend zu amazonses.com zurück.
  • Die MAIL-FROM-Subdomain hat zwei MX-Einträge, gar keinen oder eine falsche Region im MX-Wert.
  • Dein DMARC-Eintrag verlangt striktes SPF-Alignment (aspf=s). Eine Subdomain wie mail.yourdomain.com passt nur im lockeren Modus (relaxed), dem Standard.

So prüfst du es

Sende über SES eine E-Mail an die einmalige Adresse auf der Startseite von Delivmail und öffne den Bericht. Achte auf die Domain, die SPF prüft, und darauf, ob der DMARC-Bereich SPF als ausgerichtet anzeigt. Siehst du amazonses.com, ist die eigene MAIL FROM nicht aktiv. Öffne in der SES-Konsole Identities, deine Domain und den Bereich Custom MAIL FROM domain, um ihren Status zu sehen. Im Terminal:

dig +short MX mail.yourdomain.com
dig +short TXT mail.yourdomain.com
dig +short TXT _dmarc.yourdomain.com

So behebst du es

  1. Wähle eine eigene Subdomain, zum Beispiel mail.yourdomain.com oder bounce.yourdomain.com. AWS verlangt, dass sie eine Subdomain einer verifizierten Identität ist, nicht als From-Adresse genutzt wird und keine E-Mails empfängt. Verwende keine Subdomain, die bereits MX-Einträge für ein Postfach hat.
  2. In der Konsole: Identities, deine Domain, Custom MAIL FROM domain, Edit. Setze den Haken bei Use a custom MAIL FROM domain, gib die Subdomain ein und wähle das Behavior on MX failure. Use default MAIL FROM domain sendet weiter, wenn das DNS kaputt geht; Reject message stoppt den Versand mit einem MailFromDomainNotVerified-Fehler.
  3. Veröffentliche die zwei Einträge, die SES anzeigt, und ersetze die Region durch deine:
mail.yourdomain.com.  MX   10 feedback-smtp.us-east-1.amazonses.com
mail.yourdomain.com.  TXT  "v=spf1 include:amazonses.com ~all"

Auf dieser Subdomain darf es genau einen MX-Eintrag geben, sonst schlägt die Einrichtung fehl. Der SPF-Eintrag gehört auf die Subdomain, nicht auf deine Hauptdomain, daher verbraucht er keinen der 10 DNS-Lookups deines Haupt-SPF-Eintrags. Hat die Subdomain bereits einen CNAME, entferne ihn zuerst: Ein CNAME kann nicht neben MX- oder TXT-Einträgen bestehen (siehe CNAME kollidiert mit MX- und TXT-Einträgen).

Mit der CLI lautet dieselbe Einstellung:

aws sesv2 put-email-identity-mail-from-attributes \
  --email-identity yourdomain.com \
  --mail-from-domain mail.yourdomain.com \
  --behavior-on-mx-failure USE_DEFAULT_VALUE

SES sucht bis zu 72 Stunden nach dem MX-Eintrag. Findet es ihn nicht, wird der Status Failed, und du musst die Einrichtung neu beginnen. Wiederhole das für jede Region, in der die Identität verwendet wird.

Behalte das lockere Alignment in DMARC bei (kein aspf=s), sonst passt die Subdomain nicht. Senden auch andere Dienste für deine Domain, sieh dir in mehrere E-Mail-Dienste auf einer Domain an, wie sie zusammenpassen. Für die DMARC-Grundlagen siehe DMARC schlägt fehl: SPF und DKIM passen nicht zu deiner Domain.

Prüfe, ob es behoben ist

Warte auf den Status Success in der Konsole (SES schickt dem Kontoinhaber auch eine E-Mail). Mach einen neuen Delivmail-Test: SPF sollte jetzt für mail.yourdomain.com bestehen, und DMARC sollte SPF und DKIM als ausgerichtet anzeigen. Sende dann erneut an den Empfänger, dessen Server deine Nachricht abgelehnt oder gefiltert hat. Je nach TTL kann es etwas dauern, bis DNS-Änderungen bei jedem Resolver ankommen.

Prüfe, ob es behoben ist

DNS-Änderungen können ein paar Minuten bis einige Stunden dauern. Sende danach eine neue Test-E-Mail oder scanne deine Domain erneut.

Ähnliche Anleitungen