Automatisch aus dem Englischen übersetzt.

Auf Englisch lesen
Proxy Mail QA

Warum dein Bestätigungslink auf localhost:3000 führt und wie du das behebst

Du registrierst dich auf Staging, die E-Mail kommt an, du klickst den Link und bekommst „Die Website ist nicht erreichbar“ auf localhost:3000. Die E-Mail ist nicht kaputt: Deine App schreibt eine Entwicklungsadresse hinein.

Aktualisiert am

Was passiert

Jede Bestätigungs-, Magic-Link-, Einladungs- und Reset-E-Mail enthält einen Link zurück zu deiner App. Dein Auth-Anbieter oder Framework baut diesen Link aus einer Einstellung: der Site-URL, einer Redirect-URL oder dem Host, mit dem dein Mailer konfiguriert ist. Steht dort noch http://localhost:3000, zeigt jede E-Mail auf den Computer des Entwicklers.

Manchmal ist der Link selbst gehostet, zum Beispiel https://yourproject.supabase.co/auth/v1/verify?..., und nur die Seite, auf die er danach weiterleitet, ist lokal. Die Bestätigung klappt, dann wird der Browser zu localhost:3000 geschickt und scheitert. Diese Variante übersieht man leicht, weil die E-Mail gut aussieht.

Behebung in Supabase (auch für Lovable-Apps in deinem eigenen Supabase-Projekt)

  1. Öffne im Supabase-Dashboard Authentication → URL Configuration.
  2. Setz Site URL auf deine Live-Adresse, etwa https://your-app.lovable.app oder deine eigene Domain. Ein neues Supabase-Projekt startet hier mit http://localhost:3000.
  3. Füge jede weitere Umgebung (Staging, Preview-Domains, localhost für die Entwicklung) unter Redirect URLs hinzu. Für Preview-Deployments werden Wildcards unterstützt.
  4. Wenn dein Code beim Aufruf von Registrierung oder Anmeldung emailRedirectTo oder redirectTo übergibt, bau den Wert aus der aktuellen Site, etwa window.location.origin, oder aus einer Umgebungsvariable. Ein Redirect, der nicht auf der Allowlist steht, fällt auf die Site-URL zurück.
  5. Wenn du die E-Mail-Vorlagen angepasst hast, prüf, dass sie die Variablen für Bestätigungs-URL oder Site-URL nutzen statt einer fest codierten Adresse.

Behebung in Firebase Authentication

Behebung in anderen Stacks

Auf einem Handy-Simulator oder -Emulator

Der iOS-Simulator teilt das Netzwerk deines Computers, daher öffnen sich localhost-Links dort. Der Android-Emulator nicht: Er erreicht deinen Computer unter 10.0.2.2, ein Link auf localhost:3000 öffnet also nichts. Lass die Links der App für einen Emulator auf http://10.0.2.2:3000 zeigen oder besser auf eine Staging-Adresse, die beide erreichen. Mehr unter Mobile Apps.

Wie Proxy Mail QA es markiert

Zeigt ein Link in einer Test-E-Mail auf eine lokale Adresse oder leitet nach der Bestätigung dorthin weiter, markiert Proxy Mail QA das in der Zeile unter Accounts („Leitet auf localhost:3000 weiter“) und erklärt es im Posteingang. So siehst du auf einen Blick, dass die Umgebung falsch konfiguriert ist, bevor jemand „Bestätigung kaputt“ meldet.

Wenn du absichtlich einen lokalen Build testest, wähl Das ist meine Dev-Umgebung. Links auf diesen Host werden in diesem Projekt nicht mehr markiert, und die E-Mail-Prüfungen lassen sie durch. In den Projekteinstellungen kannst du das wieder entfernen. Ein Coding-Agent kann den Host selbst mit dem MCP-Tool mark_dev_host markieren, eine Testsuite mit POST /v1/project/dev-hosts (markDevHost im Node.js-Client, mark_dev_host im Python-Helper).

Probier es bei deinem nächsten Registrierungstest aus

Kostenloser Tarif, keine Kreditkarte nötig. Erstelle eine Adresse und sieh zu, wie der Code oder Link ankommt.

Kostenloses Konto erstellenApp öffnen

Fragen

Warum funktioniert der Link beim Entwickler, aber nicht bei mir?

localhost bedeutet immer „dieser Computer“. Auf dem Laptop des Entwicklers läuft sein Dev-Server, also öffnet sich der Link. Auf jedem anderen Rechner lauscht dort nichts, also schlägt er fehl.

Ist ein localhost-Link jemals richtig?

Ja, wenn du absichtlich einen lokalen Build testest und der Dev-Server auf dem Computer läuft, auf dem du klickst. Markiere in Proxy Mail QA diesen Host als Dev-Umgebung, dann werden Links dorthin in diesem Projekt nicht mehr markiert.

Ich habe die Einstellung korrigiert. Warum verlinken alte E-Mails noch auf localhost?

Die Adresse wird beim Senden in jede E-Mail geschrieben. Fordere nach der Änderung eine neue E-Mail an; die alten behalten ihre alten Links.

Welche Links markiert Proxy Mail QA?

Links auf localhost, 127.0.0.1, 0.0.0.0, private Netzwerkadressen wie 192.168.x.x und Namen mit der Endung .local, .test oder .localhost, außerdem gehostete Links, die nach der Bestätigung auf eine dieser Adressen weiterleiten, etwa redirect_to von Supabase oder continueUrl von Firebase.

Deine App mit einem KI-Tool gebaut? Wähle deins

Eine Frage zu dieser Seite?

Frag in jeder Sprache. Die Doku kann dir sofort antworten oder deine Frage an das Team von Proxy Mail QA schicken, das auf Englisch antwortet.

Doku fragen