// so behebst du es
Resend „domain is not verified“: DNS-Einträge und 403-Fehler beheben
Resend sendet erst, wenn deine Domain verifiziert ist. Korrigiere die DKIM-, SPF- und MX-Einträge auf der send-Subdomain, den Status pending/failed und 403-Fehler.
Was das bedeutet
Resend sendet nur von Domains, die dir gehören und die du mit DNS-Einträgen verifiziert hast. Sendest du von einer Domain, die nicht verifiziert ist oder nicht genau so verifiziert ist, wie sie in deiner From-Adresse steht, antwortet die API mit einem 403-Fehler. Die Meldung sagt meist, dass die Domain nicht verifiziert ist, und bittet dich, sie auf der Seite Domains von Resend hinzuzufügen und zu verifizieren.
Ein verwandter 403 erscheint, wenn du von der Testdomain resend.dev an jemand anderen als die Adresse deines eigenen Kontos sendest: Die Testdomain stellt nur an dich zu.
Auf der Seite Domains hat jede Domain einen Status. Die wichtigsten sind:
- not_started: Die Domain wurde hinzugefügt, aber du hast nicht auf „Verify DNS Records“ geklickt.
- pending: Resend sucht noch nach den Einträgen.
- verified: Du kannst senden.
- failed: Resend konnte die Einträge innerhalb von 72 Stunden nicht finden.
- temporary_failure: Die Domain war verifiziert, aber ein Eintrag ist verschwunden. Resend prüft 72 Stunden lang erneut und markiert sie dann als failed.
Warum das passiert
- Einträge nicht angelegt oder unter dem falschen Namen. Die Einträge von Resend liegen unter Namen wie
resend._domainkeyund einer Sende-Subdomain (standardmäßigsend). Hängt dein DNS-Panel deine Domain an, verdoppelt die Eingabe des vollen Namens sie; siehe DNS-Eintrag unter dem falschen Namen angelegt. - From-Domain passt nicht. Du hast
updates.yourdomain.comverifiziert, sendest aber vonyourdomain.com, oder umgekehrt. Jede Domain und Subdomain wird einzeln verifiziert. - Der DKIM-Wert wurde beim Einfügen abgeschnitten oder verändert (fehlende Zeichen, zusätzliche Anführungszeichen, Zeilenumbrüche).
- Einträge später gelöscht, zum Beispiel bei einer DNS-Migration, was zu temporary_failure führt. Siehe E-Mail-Einträge nach dem Wechsel des DNS-Anbieters verloren.
- Noch nicht sichtbar. Die Einträge wurden erst vor Kurzem angelegt.
So prüfst du es
- Öffne in Resend die Domain und ihren Tab Records. Notiere Typ, Name und Wert jedes Eintrags; das ist die einzige verlässliche Quelle, denn die Einträge können sich von Domain zu Domain unterscheiden (neuere Domains bekommen für SPF eventuell CNAME-Einträge statt TXT und MX).
- Prüfe, was das Internet sieht. Bei einer typischen Einrichtung:
dig +short TXT resend._domainkey.yourdomain.com dig +short MX send.yourdomain.com dig +short TXT send.yourdomain.com
Vergleiche jede Antwort mit dem Tab Records. - Lass den Domain-Scanner von Delivmail auf deine Domain laufen, um die veröffentlichten SPF-, DKIM- und DMARC-Einträge zu sehen.
- Vergleiche die From-Domain in deinem Code Zeichen für Zeichen mit dem Namen der verifizierten Domain.
So behebst du es
- Lege jeden Eintrag aus dem Tab Records an. Ein typischer Satz sieht so aus (deine Werte sind anders, kopiere sie aus Resend):
resend._domainkey.yourdomain.com TXT "p=MIGfMA0GCSqGSIb3DQEB..." send.yourdomain.com MX 10 feedback-smtp.<region>.amazonses.com send.yourdomain.com TXT "v=spf1 include:amazonses.com ~all"
- Setze den MX auf die send-Subdomain, nie auf die Hauptdomain. Auf
yourdomain.comwürde er deine eingehenden E-Mails an den Bounce-Handler von Resend schicken. Deine bestehenden MX-Einträge für dein Postfach bleiben unverändert. - Führe dieses SPF nicht mit deinem SPF auf der Hauptdomain zusammen. Es gehört zur Subdomain
send, der Return-Path-Domain, die Resend verwendet. Dein SPF-Eintrag auf der Hauptdomain wird nicht angefasst. - Bei Cloudflare lass alle CNAME-Einträge auf „DNS only“.
- Klick in Resend auf Verify DNS Records. Ist der Status failed, korrigiere die Einträge und starte die Verifizierung erneut.
- Passe die From-Adresse an die verifizierte Domain an oder verifiziere die Domain, die du tatsächlich nutzt. Eine Subdomain pro E-Mail-Art ist eine gute Praxis; siehe E-Mail-Authentifizierung für Subdomains.
- Füge DMARC hinzu, falls deine Domain keinen hat, und beginne mit
p=none; siehe kein DMARC-Eintrag auf deiner Domain.
Prüfe, ob es behoben ist
Warte, bis dig die erwarteten Werte liefert (je nach DNS-Anbieter und TTL Minuten bis einige Stunden) und die Domain verified anzeigt. Sende dann über Resend eine E-Mail an die einmalige Adresse auf der Startseite von Delivmail. Der Bericht sollte zeigen, dass DKIM für deine Domain besteht, SPF auf der Subdomain send besteht und DMARC besteht. Sende danach erneut an den ursprünglichen Empfänger. Lass die Einträge stehen: Entfernst du später einen, gerät die Domain in temporary_failure.
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
- Kein SPF-Eintrag auf deiner DomainDeine Domain sagt nicht, welche Server E-Mails für sie senden dürfen. Füge einen TXT-Eintrag hinzu, dann können Empfänger deine echten E-Mails von Fälschungen unterscheiden.
- SPF-Fehler: zu viele DNS-Lookups (permerror)SPF erlaubt höchstens 10 DNS-Lookups. Darüber geht der ganze Eintrag kaputt und Empfänger behandeln ihn als ungültig. So verschlankst du ihn.
- Mehrere SPF-Einträge auf einer DomainEine Domain darf nur einen SPF-Eintrag haben. Bei zwei oder mehr geht SPF für jede E-Mail kaputt. Fasse sie zu einer einzigen Zeile zusammen.
- SPF scheitert: Der sendende Server ist nicht berechtigtDeine Domain hat einen SPF-Eintrag, aber der Server, der deine E-Mail gesendet hat, steht nicht darin. Finde heraus, welcher Dienst die E-Mail gesendet hat, und füge ihn hinzu.
- Keine DKIM-Signatur auf deinen E-MailsDKIM fügt eine digitale Signatur hinzu, die beweist, dass eine E-Mail wirklich von deiner Domain kommt. Schalte es bei deinem E-Mail-Anbieter ein und veröffentliche den Schlüssel im DNS.