// so behebst du es
Mailgun „Sandbox subdomains are for test purposes only“ (403): so behebst du es
Mailgun verweigert den Versand von deiner Sandbox-Domain an eine Adresse, die kein autorisierter Empfänger ist. Autorisiere Testadressen oder nutze deine Domain.
Was das bedeutet
Jedes neue Mailgun-Konto bekommt eine Sandbox-Domain mit einem Namen wie sandbox1234abcd.mailgun.org, damit du die API oder SMTP sofort testen kannst. Sie stellt nur an autorisierte Empfänger zu: Adressen, die du hinzugefügt hast und die bestätigt haben. Sendest du an jemand anderen, lehnt Mailgun die Nachricht ab, meist mit dem HTTP-Status 403 und diesem oft gemeldeten Text:
Sandbox subdomains are for test purposes only. Please add your own domain or add the address to authorized recipients in Account Settings.
Mit deinem Code oder deinen Zugangsdaten ist alles in Ordnung: Die Anfrage wurde authentifiziert, aber der Empfänger ist für eine Sandbox-Domain nicht erlaubt.
Warum das passiert
- Deine App nutzt in der Produktion noch die Sandbox-Domain, weil sie der Standardwert in einem Tutorial, einem Plugin oder einer Umgebungsvariable (
MAILGUN_DOMAIN) war. - Der Empfänger wurde hinzugefügt, hat aber nicht bestätigt. Mailgun schickt eine Einladung; die Adresse wird erst autorisiert, wenn der Empfänger auf den Link klickt.
- Das Empfängerlimit ist erreicht. Laut Mailgun-Hilfecenter kannst du bis zu 5 autorisierte Empfänger hinzufügen (zum Zeitpunkt des Schreibens).
- Dein Tarif schränkt den Versand ein. Laut Mailgun-Hilfecenter können kostenlose Konten ohne hinterlegte Kreditkarte sowie Sandbox-Domains nur an autorisierte Empfänger senden.
- Mehrere Empfänger in einer Anfrage: Eine einzige nicht autorisierte Adresse in To, Cc oder Bcc reicht aus, um den Fehler auszulösen.
- Routes und Mailinglisten auf der Sandbox-Domain haben dieselbe Einschränkung: Eine Route, die an eine externe Adresse weiterleitet, oder eine Liste mit nicht autorisierten Mitgliedern schlägt genauso fehl.
Die Sandbox gibt es, damit neue Konten nicht zum Versand von Spam an Fremde genutzt werden können, bevor der Inhaber die Kontrolle über eine echte Domain nachweist. Deshalb gibt es keine Einstellung, die die Einschränkung auf der Sandbox selbst aufhebt: Die Lösung ist immer, die Testadresse zu autorisieren oder auf deine eigene Domain umzusteigen.
So prüfst du es
- Sieh dir die Domain in deiner API-URL oder in deinem SMTP-Login an. Eine URL wie
https://api.mailgun.net/v3/sandbox1234abcd.mailgun.org/messagesoder ein SMTP-Benutzerpostmaster@sandbox1234abcd.mailgun.orgbedeutet, dass du auf der Sandbox bist. - Öffne im Mailgun-Panel Send, Domains, die Sandbox-Domain und ihren Einrichtungs-Tab: Dort sind die autorisierten Empfänger und ihr Status aufgeführt.
- Öffne die Logs der fehlgeschlagenen Nachricht: Dort steht der vollständige Grund.
So behebst du es
Zum Testen: autorisiere den Empfänger
Füge die Testadresse in den Einstellungen der Sandbox-Domain als autorisierten Empfänger hinzu (das können nur Benutzer mit der Rolle Administrator oder Developer). Bitte den Inhaber der Adresse, die Einladung zu öffnen und zu bestätigen. Versuch es dann erneut. Das ist nur für dich und dein Team gedacht, nicht für Kunden.
Für den echten Versand: füge deine eigene Domain hinzu
Füge eine Domain, die dir gehört, unter Send, Domains, Add new domain hinzu. Eine Subdomain wie mg.yourdomain.com ist eine gängige Wahl. Veröffentliche die SPF- und DKIM-Einträge und verifiziere die Domain; die Details und die üblichen DNS-Fehler findest du in Mailgun-Domain nicht verifiziert. Ändere dann die Konfiguration deiner App:
# .env (example) MAILGUN_DOMAIN=mg.yourdomain.com MAIL_FROM_ADDRESS=hello@mg.yourdomain.com # EU domain? use the EU endpoint MAILGUN_ENDPOINT=api.eu.mailgun.net
Nutze eine From-Adresse auf deiner verifizierten Domain, nie auf der Sandbox. Beschränkt dich das Konto wegen deines Tarifs auf autorisierte Empfänger, hinterlege Zahlungsdaten oder wechsle den Tarif, wie es das Mailgun-Panel angibt.
Bekommst du nach dem Domainwechsel 401 oder „Forbidden“, passen API-Schlüssel oder Region nicht zur neuen Domain: siehe Mailgun 401 Forbidden: API-Schlüssel und EU-Region. SMTP-Zugangsdaten gehören zu einer Domain, erstelle also auch neue für deine eigene Domain.
Prüfe, ob es behoben ist
Sende aus deiner App über deine eigene Mailgun-Domain eine Nachricht an die einmalige Adresse auf der Startseite von Delivmail. Die Testadresse ist kein autorisierter Empfänger: Kommt die Nachricht an, bist du nicht mehr auf der Sandbox. Lies den Bericht: SPF, DKIM und DMARC sollten für deine Domain bestehen. Sende dann erneut an die echten Empfänger, die abgelehnt wurden. Ob die Nachricht im Posteingang landet, hängt weiterhin von deiner Reputation und deinem Inhalt ab.
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
- Gmail-Bounce „550 5.7.26“: nicht authentifizierte E-MailGmail hat deine E-Mail abgelehnt, weil es nicht bestätigen konnte, dass sie von deiner Domain kommt. SPF, DKIM oder DMARC fehlt oder scheitert. So behebst du es.
- Bounce „550 5.7.1“: Nachricht abgelehnt oder durch Richtlinie blockiertEin 5.7.1-Bounce bedeutet, dass der empfangende Server deine E-Mail absichtlich abgelehnt hat. Lerne, Bounce-Meldungen zu lesen, den wahren Grund zu finden und ihn zu beheben.
- Hohe Bounce-Rate: bereinige deine MailinglisteAn Adressen zu senden, die nicht mehr existieren, schadet deiner Reputation schnell. Lerne den Unterschied zwischen Hard und Soft Bounces und entferne schlechte Adressen nach jedem Versand.
- Verzögerte E-Mails: Greylisting und temporäre 4xx-FehlerManche Server antworten absichtlich „versuch es später noch einmal“. Ein normaler Mailserver versucht es erneut, und die E-Mail kommt ein paar Minuten später an. So unterscheidest du normale Verzögerungen von echten Problemen.
- Yahoo- und AOL-Rückstellungen „421 4.7.0 [TSS04]“Yahoo lehnt deine E-Mails vorübergehend ab, wegen ihres Volumens oder wegen Beschwerden. Bremse, lass weiter neu versuchen und behebe, was Yahoo nicht gefällt.