85 Stimmen

Die Mailbox ist nicht verfügbar. Die Antwort des Servers war: 5.7.1 Unable to relay for abc@xyz.com

Ich bekomme " Die Mailbox ist nicht verfügbar. Die Antwort des Servers war: 5.7.1 Unable to relay for abc@xyz.com "wenn ich versuche, die E-Mail mit ASP.NET zu senden. Die Website wird auf IIS7, Windows 2008 Server bereitgestellt.

Die Website funktionierte problemlos unter IIS6 und Windows 2003 Server . Ich habe es auf IIS7 bereitgestellt, 2008 hat es angefangen, mir diesen Fehler zu geben.

Hat jemand diese Erfahrung schon einmal gemacht?

117voto

Vinod T. Patil Punkte 2881

Aahh ich hab's... Ich habe es zum Laufen gebracht :)

Danke Christopher, dein Vorschlag ist richtig.

Aber die Suche nach "Default SMTP Virtual Server" war schwierig ;)

Selbst wenn Sie IIS7 zur Bereitstellung Ihrer Website verwenden, müssen Sie den IIS6-Manager öffnen, um den SMTP-Server zu konfigurieren (warum?).

Ich habe den SMTP-Server wie folgt konfiguriert, damit alles funktioniert:

  1. Öffnen Sie den IIS6-Manager über Systemsteuerung --> Verwaltung.
  2. Öffnen Sie die Eigenschaften des virtuellen SMTP-Servers.
  3. Stellen Sie auf der Registerkarte Allgemein die IP-Adresse von des Webservers anstelle von "Alle Nicht zugewiesen".
  4. Klicken Sie auf der Registerkarte Zugang auf Relais Dies öffnet den Dialog Relay Beschränkungen.
  5. Fügen Sie in der Liste der Relais-Computer die Loopback-IP-Adresse, d. h. 127.0.0.1 und die IP-Adresse des Webservers hinzu, so dass sie E-Mails über den SMTP-Server weiterleiten können.

20voto

Christopher Klein Punkte 2806

Hierin liegt die Antwort... IIS-Einstellungen

IIS-->Standard-SMTP-Virtual-Server-->Eigenschaften-->Zugriff-->Relay-Einschränkungen Fügen Sie einfach die IPs, die Sie interessieren, hinzu oder schließen Sie sie aus, um das Problem zu lösen.

19voto

Mick Byrne Punkte 14246

Ich stand vor dem gleichen Problem und befolgte die (sehr klar dargelegten) Schritte in Vinods Antwort, was jedoch zu einem anderen Fehler führte:

Daten können nicht von der Transportverbindung gelesen werden: net_io_connectionclosed

Ich habe ein bisschen mehr gegraben und herumgestochert und (obwohl ich mir nicht sicher bin, warum das funktioniert) habe ich das Problem dadurch gelöst:
- Zurück zur IIS6.0-Verwaltungskonsole gehen
- Eigenschaften des virtuellen SMTP-Servers öffnen
- Ändern Sie auf der Registerkarte "Allgemein" die Einstellung "IP-Adresse:" zurück auf "(Alle nicht zugewiesen)".

Ich bin mir nicht sicher, warum das funktioniert, aber ich hoffe, dass es jemandem hilft, der in Zukunft vor dem gleichen Problem steht.

15voto

Lee Englestone Punkte 4435

Denn ein Bild sagt mehr als tausend Worte

Wenn Sie den IIS6-Manager finden (ich habe festgestellt, dass die Suche nach IIS 2 Ergebnisse liefern kann), gehen Sie zu den SMTP-Servereinstellungen, dann zu "Zugriff" und drücken Sie die Schaltfläche "Relais".

Dann können Sie entweder alle auswählen oder nur bestimmte IPs wie 127.0.0.1 zulassen.

SMTP Relay

5voto

NikG Punkte 191

Vielen Dank an Vinod für die gut formulierte Antwort.

Ich habe den gleichen Fehler wie Mick Byrne erhalten, als ich die obigen Schritte befolgte. Das Zurücksetzen auf "All Unassigned" hat das Problem behoben, aber ich musste auch noch ein paar andere Dinge ändern:

  • Fügen Sie den Benutzer, unter dem meine Website läuft, zu den Benutzern auf der Registerkarte Sicherheit in SMTP Virtual Server hinzu.
  • Ich habe den Wert im Attribut mailSettings > network > host in meiner web.config auf die spezifische Server-IP (z. B. 192.168.100.120) geändert, im Gegensatz zu localhost (das in der hosts-Datei auf 127.0.0.1 verweist).

Ich hoffe, das erspart jemandem ein paar Minuten der Unordnung.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X