TimR: Fehler bei EMail-Erstellung

Hallo,
ich habe auf unserer Homepage ein Kontakt-Formular erstellt, dass eine EMail generiert. Seit kurzem erscheint nach Drücken des Senden-Buttons die folgende Fehlermeldung. Da das ERstellen der HP schon einige JAhre her ist, brauche ich eure Hilfe, was ich hier machen muss. Danke im Voraus! vG Tim

--------------------------------
Laufzeitfehler
Beschreibung: Anwendungsfehler auf dem Server. Aufgrund der aktuellen benutzerdefinierten Fehlereinstellungen für diese Anwendung können die Details des Anwendungsfehlers (aus Sicherheitsgründen) nicht remote angezeigt werden. Sie können jedoch von Browsern angezeigt werden, die auf dem lokalen Server ausgeführt werden.

Details: Sie können die Details dieser Fehlermeldung auf dem lokalen Computer anzeigen, indem Sie ein <customErrors>-Tag in der Konfigurationsdatei web.config erstellen, die sich im Stammverzeichnis der aktuellen Webanwendung befindet. Das mode-Attribut dieses <customErrors>-Tags sollte dann auf "Off" festgelegt werden.

<!-- Web.Config Configuration File -->

<configuration>
    <system.web>
        <customErrors mode="Off"/>
    </system.web>
</configuration

Hinweise: Die aktuelle Seite kann durch eine benutzerdefinierte Fehlerseite ersetzt werden, indem Sie das defaultRedirect-Attribut des <customErrors>-Konfigurationstags dieser Anwendung so setzen, das es auf einen benutzerdefinierten Fehlerseiten-URL zeigt.

<!-- Web.Config Configuration File -->

<configuration>
    <system.web>
        <customErrors mode="RemoteOnly" defaultRedirect="mycustompage.htm"/>
    </system.web>
</configuration>
---------------------------------

  1. Hi,

    ich habe auf unserer Homepage ein Kontakt-Formular erstellt, ...

    womit? Der Code, den du uns nachfolgend zeigst, könnte XML sein; ich vermute, dass du irgendein gängiges CMS verwendest, das daraus den eigentlichen HTML-Code generiert.

    Laufzeitfehler
    Beschreibung: Anwendungsfehler auf dem Server. Aufgrund der aktuellen benutzerdefinierten Fehlereinstellungen für diese Anwendung können die Details des Anwendungsfehlers (aus Sicherheitsgründen) nicht remote angezeigt werden. Sie können jedoch von Browsern angezeigt werden, die auf dem lokalen Server ausgeführt werden.

    So. Da läuft also tatsächlich irgenein Script oder Programm auf dem Server, das plötzlich irgendwelche Schmerzen hat. Ohne zu wissen, *was* da läuft (möglichst auch noch, was in letzter Zeit am Server geändert worden sein könnte), ist eine Hilfe aber beliebig schwierig und gleicht eher einer Session Kaffeesatz-Lesen.

    Ciao,
     Martin

    --
    Nein, es ist nicht wahr, dass bei der Post Beamte schneller befördert werden als Pakete.
    Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
    1. womit? Der Code, den du uns nachfolgend zeigst, könnte XML sein; ich vermute, dass du irgendein gängiges CMS verwendest, das daraus den eigentlichen HTML-Code generiert.

      Du hattest noch nie mit ASP oder ASP.NET zu tun?

      Mit einem Kontaktformular hat er aber nichts zu tun - das ist das IIS-Äquivalent zu einem .conf-File unter Apache.

      1. Hallo,

        womit? Der Code, den du uns nachfolgend zeigst, könnte XML sein; ich vermute, dass du irgendein gängiges CMS verwendest, das daraus den eigentlichen HTML-Code generiert.
        Du hattest noch nie mit ASP oder ASP.NET zu tun?

        nein, zum Glück nicht. Will ich auch nicht.

        Mit einem Kontaktformular hat er aber nichts zu tun - das ist das IIS-Äquivalent zu einem .conf-File unter Apache.

        Dann hat Tim also "irgendein" Problem mit seiner Serverkonfiguration. Das macht es nicht gerade einfacher.

        Ciao,
         Martin

        --
        Letztlich basiert alles auf dem Feuer, dem Rad, der Eins und der Null.
          (Gernot Back)
        Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
        1. Tach!

          Mit einem Kontaktformular hat er aber nichts zu tun - das ist das IIS-Äquivalent zu einem .conf-File unter Apache.
          Dann hat Tim also "irgendein" Problem mit seiner Serverkonfiguration.

          Im weitesten Sinne ja. Die gezeigte Meldung ist in etwa das Äquivalent zur Ausschrift des Apachen bei einem 500er Fehler. Ein allgemeiner Text, zu nichts zu gebrauchen, und ein Hinweis zur eigentlichen Ursache steht im Error-Log. 500er Fehler können im Apachen auch durch fehlerhaft arbeitende CGI-Programme gemeldet werden (wenn sie keinen ordentlichen HTTP-Header produzieren). Da ist dann weniger die eigentliche Apache-Konfigurtion betroffen. Bei ASP.NET ist das ähnlich, die Ursache für die gezeigte Meldung kann auch ein Fehler im Programm sein.

          dedlfix.

          1. Hallo zusammen, danke für die rege Diskussion, auch wenn ich einiges gar nicht checke, worum es geht. Das ganze wurde mit ASP.net erstellt damals.
            Braucht ihr irgendwie andere infos? den quelltext oder so?

            1. Tach!

              Das ganze wurde mit ASP.net erstellt damals. Braucht ihr irgendwie andere infos? den quelltext oder so?

              Im Augenblick brauchst du erstmal den richtigen Wortlaut der Meldung. Dazu musst du zunächst, wie ich schon schrieb, die Hinweise der jetzigen Meldung beachten.

              dedlfix.

              1. Jo, aber ich habe euch doch die gesamte fehlermeldung reinkopiert mit allem. Titel der ganzen chose ist "server in der anwendung" und sonst nixhts weiter also was ihr schon lesen könnt.

                1. Hallo,

                  Jo, aber ich habe euch doch die gesamte fehlermeldung reinkopiert mit allem.

                  nein, das ist die nach außen (=remote) gezeigte Fehlermeldung.
                  Du benötigst die Fehlermeldung, die einem Browser, der auf dem Server selbst läuft, angezeigt wird. Das ist eine andere. Steht doch in der Meldung:

                  <zitat>
                      Aufgrund der aktuellen benutzerdefinierten Fehlereinstellungen für diese
                      Anwendung können die Details des Anwendungsfehlers (aus Sicherheitsgründen)
                      nicht remote angezeigt werden. Sie können jedoch von Browsern angezeigt
                      werden, die auf dem lokalen Server ausgeführt werden.
                  </zitat>

                  Wenn Du keinen Zugriff (direkt, Remotedesktop, ...) auf den Server hast, dann siehts schon etwas schlechter aus. Dann musst Du Dir einen Browser schreiben, der auf dem Server läuft.

                  Freundliche Grüße

                  Vinzenz

                  1. So, danke, das war schonmal hilfreich. also ich habe nun die detaillierte Fehlermeldung. im quellfehler unten wird Zeile 30 rot angemarktert....

                    ---------------------------------

                    Serverfehler in der Anwendung /.
                    Es konnte keine Verbindung hergestellt werden, da der Zielcomputer die Verbindung verweigerte 176.9.33.3:25
                    Beschreibung: Unbehandelte Ausnahme beim Ausführen der aktuellen Webanforderung. Überprüfen Sie die Stapelüberwachung, um weitere Informationen über diesen Fehler anzuzeigen und festzustellen, wo der Fehler im Code verursacht wurde.

                    Ausnahmedetails: System.Net.Sockets.SocketException: Es konnte keine Verbindung hergestellt werden, da der Zielcomputer die Verbindung verweigerte 176.9.33.3:25

                    Quellfehler:

                    Zeile 28:         smtp.Credentials = New Net.NetworkCredential("info@.....de", ".......")
                    Zeile 29:         ' Nachricht senden
                    Zeile 30:         smtp.Send(nachricht)
                    Zeile 31:         ' Hinweis auf den Nutzer ausgeben
                    Zeile 32:         ausgabe.InnerText = "Ihre Nachricht wurde gesendet. Vielen Dank!"

                    Quelldatei: D:\Web-Unit\home.....de.....aspx    Zeile: 30

                    Stapelüberwachung:

                    [SocketException (0x274d): Es konnte keine Verbindung hergestellt werden, da der Zielcomputer die Verbindung verweigerte 176.9.33.3:25]
                       System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress) +239
                       System.Net.Sockets.Socket.InternalConnect(EndPoint remoteEP) +35
                       System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Int32 timeout, Exception& exception) +224

                    [WebException: Die Verbindung mit dem Remoteserver kann nicht hergestellt werden.]
                       System.Net.ServicePoint.GetConnection(PooledStream PooledStream, Object owner, Boolean async, IPAddress& address, Socket& abortSocket, Socket& abortSocket6, Int32 timeout) +5501831
                       System.Net.PooledStream.Activate(Object owningObject, Boolean async, Int32 timeout, GeneralAsyncDelegate asyncCallback) +202
                       System.Net.PooledStream.Activate(Object owningObject, GeneralAsyncDelegate asyncCallback) +21
                       System.Net.ConnectionPool.GetConnection(Object owningObject, GeneralAsyncDelegate asyncCallback, Int32 creationTimeout) +332
                       System.Net.Mail.SmtpConnection.GetConnection(String host, Int32 port) +160
                       System.Net.Mail.SmtpTransport.GetConnection(String host, Int32 port) +159
                       System.Net.Mail.SmtpClient.GetConnection() +35
                       System.Net.Mail.SmtpClient.Send(MailMessage message) +1213

                    [SmtpException: Fehler beim Senden von Mail.]
                       System.Net.Mail.SmtpClient.Send(MailMessage message) +1531
                       ASP.kontakt2_aspx.KontaktanfrageSenden(Object sender, EventArgs e) in D:\Web-Unit\home\campingplatz-schmidt.de\home\kontakt2.aspx:30
                       System.Web.UI.WebControls.Button.OnClick(EventArgs e) +111
                       System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +110
                       System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
                       System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
                       System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +36
                       System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565

                    1. Tach!

                      also ich habe nun die detaillierte Fehlermeldung. im quellfehler unten wird Zeile 30 rot angemarktert....

                      Wenn du Fehler beheben willst, musst du schon ein wenig mehr als die bisher hier gezeigte Selbständigkeit an den Tag legen. Lesen und verstehen ist der Schlüssel zum Erfolg!

                      Es konnte keine Verbindung hergestellt werden, da der Zielcomputer die Verbindung verweigerte 176.9.33.3:25

                      Dieser Satz steht gleich mehrfach in diversen Teilen der Meldung. Er ist auch der essentielle Hinweis auf das Problem.

                      Zeile 30:         smtp.Send(nachricht)

                      Dass er bei dieser Methode auftritt ist nur verständlich. Dass er in der Form auftritt, zeigt, dass der Programmierer sich wenig darum gekümmert hat, ein robustes Programm zu schreiben, dass diverse Fehlermöglichkeiten schon von vornherein berücksichtigt. Der nächste Schritt ist jedenfalls, dass du auf dem angegebenen Zielcomputer nachschaust (oder nachschauen lässt), warum der die Mitarbeit verweigert.

                      dedlfix.

                  2. Tach!

                    Du benötigst die Fehlermeldung, die einem Browser, der auf dem Server selbst läuft, angezeigt wird. Das ist eine andere. Steht doch in der Meldung:

                    Oder man befolgt den zweiten Teil der Meldung, ändert die Web.Config wie in der Meldung beschrieben und liest die Meldung in einem Browser auf einem anderen System. Anschließend macht die Änderung wieder rückgängig, sonst kann Hinz und Kunz die Fehlermeldungen inklusive Programm-Interna anschauen.

                    dedlfix.

  2. Tach!

    Beschreibung: Anwendungsfehler auf dem Server. Aufgrund der aktuellen benutzerdefinierten Fehlereinstellungen für diese Anwendung können die Details des Anwendungsfehlers (aus Sicherheitsgründen) nicht remote angezeigt werden. Sie können jedoch von Browsern angezeigt werden, die auf dem lokalen Server ausgeführt werden.

    Beachte bitte diesen Hinweis und vom nachfolgenden Text den "Details"-Bereich, ansonsten siehst du nämlich nur diese allgemeine nichtssagende Meldung und keine Meldung, die weiterhelfen kann.

    dedlfix.