it-swarm.com.de

SMTP einrichten unter IIS 7 unter Windows Server 2008

Die Website entstand ursprünglich unter IIS 6 und die Website funktionierte dort hervorragend. Nach dem Umzug auf einen neuen Server, auf dem W2K8S ausgeführt wird, funktioniert jetzt alles außer der E-Mail-Übermittlung von der Website unter IIS 7.

Kurz im Web recherchiert, um zu sehen, ob jemand eine gute Lösung hatte, aber ohne Erfolg ... Nicht einmal ein Hoffnungsschimmer auf der eigenen Support-Site von Microsoft.

Hier sind die bisherigen Schritte zur neuen W2K8S-Box:

  • Die Funktion für SMTP wurde unter dem Server-Manager hinzugefügt
  • SMTP-E-Mail für die Site selbst wurde in IIS 7 Manager aktiviert, um E-Mail-Nachrichten an den lokalen SMTP-Server-Host zu übermitteln. Dieser Vorgang ist fehlgeschlagen
  • SMTP-E-Mail für die Stammwebsite in IIS 7 Manager aktiviert (nicht sicher, ob dies aktiviert sein muss, damit Sites aktiviert werden können), um E-Mail-Nachrichten an den lokalen SMTP-Server-Host zu übermitteln, nicht erfolgreich

Nachdem diese grundlegenden Setups fehlgeschlagen waren, wollte ich sichergehen, dass ich tatsächlich von/zu Server 25 an Port 25 kommunizieren kann. Und ich kann erfolgreich Telnet von/an den betreffenden Server senden, um eine Test-E-Mail an Port 25 zu erhalten, eine HELO usw. Daher glaube ich nicht, dass es sich um ein Firewall-Konfigurationsproblem handelt.

Der Setup-Test IIS 7 wurde sowohl mit anonymer als auch mit Windows-Authentifizierung durchgeführt - kein Erfolg.

Manuell geprüft, ob die Web Config-Datei korrekt ist, damit der Server den localhost verwendet.

Lesen Sie das Handbuch und auch dort kein Glück ...: - /

16
user30432

Ich stand vor demselben Problem. 

Ich bin auf diesen Link gestoßen http://www.frontpagewebmaster.com/m-215289/tm.htm

und ich konnte das Problem lösen. Gehe zum letzten Beitrag dieses Links.

In meinem Fall löse ich das Problem, indem ich dem "NETWORK SERVICE" -Benutzer die Rechte für den "Pickup" -Ordner erteile. 

Hoffe das könnte helfen ....

2
Rajeev

Ich habe festgestellt, dass sich die Ereignis-ID 4006 auf die IP-Adresse des Domänencontrollers anstatt auf die E-Mail-Server-IP bezieht. Ich habe das iis 6-Admin-Tool verwendet, um einen Smarthost zu konfigurieren, der auf den Mail-Server und voila! Das Problem wurde gelöst.

1
Njuki

OK, zu dem Beitrag mit der Angabe "Gib NETWORK USER die Schreibrechte für den Abholordner" es funktioniert endlich. Was ich gemacht habe war:

  1. Sie müssen einen "Smarthost" verwenden, sofern Sie keinen Exchange-Server ausführen. Ich verwende ein Google Mail-Konto. Google Mail ermöglicht die SMTP-Weiterleitung.

  2. Sie können die Windows-Authentifizierung für die Sicherheit auf dem SMTP-Server und für die IIS7-Konfigurationseinstellung verwenden.

  3. Legen Sie im ersten Schritt die Zustellungsmethode = "network" in Ihrer Webseite fest und konfigurieren Sie Ihren Smart Host unabhängig vom SMTP-Server.

    SmtpClient client = new SmtpClient("smtp.gmail.com", 587);
    client.DeliveryMethod = SmtpDeliveryMethod.Network;
    client.UseDefaultCredentials = false; // use your smart Host login client.Credentials = new NetworkCredential("[email protected]", "password");
    client.EnableSsl = true;
    

    Dadurch wird die E-Mail direkt gesendet und Ihr SMTP-Server wird umgangen.

  4. Im zweiten Schritt schreiben Sie eine Windows-Beispielanwendung, um Ihren SMTP-Server unabhängig von Ihrer Webseite zu verwenden, und arbeiten Sie danach.

    SmtpClient client = new SmtpClient("your server ip", 25);
    client.DeliveryMethod = SmtpDeliveryMethod.PickupDirectoryFromIis;
    client.EnableSsl = false; // you can't use ssl with a pickup folder
    client.UseDefaultCredentials = true; // use windows credentials
    

    Dadurch wird Ihre Webseite umgangen und sichergestellt, dass Ihr SMTP-Server ordnungsgemäß konfiguriert ist.

  5. Zum Schluss bringen Sie Ihre Webseite zum Laufen, indem Sie die Freigabe für Ihren Abholordner festlegen, um Schreibzugriff auf NETWORK_SERVICE zuzulassen. Übertragen Sie die Anmeldeinformationen aus Schritt 3 in Ihre SMTP-Einstellungen, setzen Sie die Authentifizierung auf integrierte Sicherheit und verwenden Sie den Code in Schritt 4 für Ihre Webseite.

1
john

Ich hatte genau das gleiche Problem wie in dieser alten Frage beschrieben. Endlich fand ich eine Lösung dafür. In meinem Fall ist das Betriebssystem W2008 R2 mit IIS 7.5, aber ich denke, das spielt keine Rolle.

Das zugrunde liegende Problem ist, dass der SMTP-Dienst in W2008 R2 ein älterer Bestandteil des IIS zu sein scheint. Es wird mit den Verwaltungstools IIS 6.0 neben dem IIS 7.X Server installiert. Dies verursacht zwei abgeleitete Probleme:

IIS 7.X weiß nichts über den SMTP-Dienst. Wenn Sie SMTP in ASP.NET so konfigurieren, dass PickupDirectoryFromIis verwendet wird, führt dies zu einer Ausnahme. Daher können Sie diese SMTP-Konfiguration nicht verwenden :

<smtp deliveryMethod="PickupDirectoryFromIis" />

Es ist jedoch möglich, SMTP mit SpecifiedPickupDirectory zu konfigurieren. Sie können diese Konfiguration verwenden :

<smtp deliveryMethod="SpecifiedPickupDirectory">
    <specifiedPickupDirectory pickupDirectoryLocation="C:\inetpub\mailroot\Pickup"  />
</smtp>

Wenn Sie das Abholverzeichnis auf diese Weise konfigurieren, können Sie auf eine zweite Art von Problem stoßen: IIS6 und IIS7.X haben unterschiedliche Sicherheitssysteme. IIS 7.X führt integrierte Sicherheit mit Anwendungspoolidentitäten ein. IIS 6.0 und der SMTP-Dienst wissen dies nicht. Daher müssen Sie dem Abholordner Schreibberechtigungen für IIS_IUSRS erteilen. In meiner Konfiguration lautet der Abholordner C:\inetpub\mailroot\pickup.

1
Dirk Brockhaus

Ist dies zufällig eine alte "klassische" ASP -Anwendung, die sich beim Senden von E-Mails auf CDONTS verlässt?

Wenn ja, wäre vielleicht einer von diese Links hilfreich? 

Bearbeitet: Ich hatte geantwortet, bevor ich die Notiz auf dem ursprünglichen Beitrag bemerkte. Missachtung ...

0
Chris K

Ich bin mir nicht sicher, ob dieses Diagnosetool mehr Einblicke bieten kann.

http://www.iis.net/downloads/default.aspx?tabid=34&g=6&i=1308

Dieses Tool ist für x86.

0
Lex Li

Ich bin auf diesen Beitrag gestoßen, als ich herausfand, wie ich SMTP auf meiner ASP.Net-App ausführen kann, die wir von IIS6 auf IIS7 migrieren. Was ich fand, war, dass wir den SMTP-SERVER überhaupt nicht einrichten mussten - das Einrichten von SMTP-E-Mail war genug - mit dem zusätzlichen Vorteil, dass NICHT die Sicherheitsbedenken des SMTP-Relays über den Webserver bestehen!

wenn Sie also keinen Webserver für das SMTP-Routing benötigen, müssen Sie den Server in IIS7 gar nicht einrichten.

0
n8wrl

Haben Sie geprüft, ob der SMTP-Dienst Mail für Relay von localhost akzeptiert? Dazu telnet Sie von der betreffenden Maschine an den lokalen SMTP-Server und verwenden Sie SMTP-Befehle, um eine Testnachricht zu senden. Der SMTP-Dienst ist sehr wählerisch bei der Formatierung von Befehlen. Daher müssen Sie bei der Eingabe von Befehlen vorsichtig sein (d. H. Keine Rücktaste zur Korrektur von Druckfehlern verwenden).

0
kevintechie