WinFuture-Forum.de: Variabler Empfänger Im Kontaktformular - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
  • 2 Seiten +
  • 1
  • 2

Variabler Empfänger Im Kontaktformular


#1 Mitglied ist offline   *sunny nightmare* 

  • Gruppe: Mitglieder
  • Beiträge: 12
  • Beigetreten: 22. Juni 08
  • Reputation: 0

geschrieben 28. August 2008 - 18:30

Wir sollen von der Uni eine Homepage mit dem Thema „Klassentreffen im www“ erstellen.
Vorgegeben ist es, dass User sich einloggen können, Profile von Freunden ansehen und denen
auch Nachrichten (in der Form einer Email) schicken können.

später im Quellcode wird ja festgelegt, an wen die email geschickt werden soll. In der Aufgabengstellung
der Hausarbeit heißt es, dass der Name des Empfängers ausgewählt und die Email dann als Variable
ausgelesen werden soll. Anhand der Datenbankabfrage soll eine Variable (ausgabeemail) mit der
Email gefüllt werden.)



<%@ Page Language="VB"  Debug="true"%>
<%@ Import Namespace="System.Net.Mail" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>

<script runat="server">
    
    Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs)
        Dim nachricht As New System.Net.Mail.MailMessage
        Dim inhalt As String
        Dim fehlermeldung As String
        
        fehlermeldung = ""
        If anliegen.Text = "" Then
            fehlermeldung = fehlermeldung & "Was ist dein Anliegen? <br/>"
        End If
        
        If name.Text = "" Then
            fehlermeldung = fehlermeldung & "Wie heißt du denn? <br/>"
        End If
        
        If email.Text = "" Then
fehlermeldung = fehlermeldung & "Wie lautet deine E-Mail-Adresse? <br/>"
        End If
        
        If text.Text = "" Then
fehlermeldung = fehlermeldung & "Wie soll deine Nachricht lauten? <br/>"
        End If
    
        

        Dim db As String
        db = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("profile.mdb") & ";"
        Dim conn As New OleDbConnection(db)
        conn.Open()
        Dim sql As String
        
	'hier wird der sql-Befehl zusammengestellt. Der User klickt auf dem Profil des „Freundes“ 
auf einen Link und kommt dann auf diese Kontaktseite. In der Adresszeile der Seite ist dann festgehalten, 
an wen die Nachricht geschickt werden soll. Die Adresse der Kontaktseite lautet damit:
 …kontakt.aspx?Name=… (name) Also wird im Folgenden gesagt: suche mir die emailadresse aus der 
Spalte email aus der Datenbank „profile“ wo der name dem entspricht, der oben in der Seitenadresse steht.

sql = "SELECT email FROM profile WHERE name='" & Request.QueryString("Name") & "'"
        Dim cmd As New OleDbCommand(sql, conn)
        Dim myReader As OleDbDataReader
        myReader = cmd.ExecuteReader()
        
'in Übungen haben wir immer eine Datenbankabfrage so vorgenommen, dass eine Variable als 
StringBuilder festgelegt und dann später mti den Daten gefüllt wurde. Da aber ein Stringbuilder nicht 
in dem Feld, in dem der Empfänger steht, erlaubt ist, habe ich es mit einem normalen String probiert.  
Da die Emailadresse auch immer mit „“ angegeben werden soll, füge ich die „’“ einzelnd um die 
Emailadresse hinzu…

Dim ausgabeemail As String
       
        
        ausgabeemail = "'" & myReader.Item("email") & "'"
        myReader.Close()
        conn.Close()
        
            
        
        If fehlermeldung = "" Then
                    
            inhalt = "Du hast folgende Nachricht bekommen:" & Chr(10)
            inhalt = inhalt & "Name:" & name.Text & Chr(10)
            inhalt = inhalt & "E-Mail: " & email.Text & Chr(10)
            inhalt = inhalt & "Betreff: " & anliegen.Text & Chr(10)
            inhalt = inhalt & text.Text & Chr(10)
        
            nachricht.From = New MailAddress(email.Text, name.Text)
            nachricht.To.Add(ausgabeemail)
            nachricht.Subject = anliegen.Text
            nachricht.Body = inhalt

            Dim smtp As New SmtpClient("renoir.nordakademie.de")

'das ist der einzige Client, den wir ausprobieren können. Den wüsste ich also nicht, wie man den variabel 
gestalten kann, da mri von anderen emailadressen (als Absender) die smtpclients nicht bekannt sind
      
            smtp.Send(nachricht)
            
            ' Hinweis für den Nutzer/Absender ausgeben
            ausgabe.InnerText = "Deine Nachricht wurde verschickt!"
            
        Else
            'wenn es Fehler gab, dann wie folgt ausgeben
            ausgabe.InnerHtml = "<b> Fehler:</b><br/>" & fehlermeldung
            
        End If

    End Sub
    </script>
<!-- #include file="headerintern.tpl" -->
   
    
    <div class="inhalt">
    
  
        <h1>Das Kontaktformular</h1>
        <form id="form2" runat="server">
        Hier kannst du deine Email schreiben:<br />
        <br />

        <table>
            <tr>
                <td style="width: 164px; height: 18px;">
                    Was ist dein Anliegen?</td>
                <td style="width: 379px; height: 18px;">
                <asp:TextBox id="anliegen" runat="server" width="149px"></asp:TextBox></td>
                <td style="width: 423px; height: 18px;"> </td>
                           
            </tr>
            
            <tr>
                <td style="width: 164px; height: 14px;">
                    dein Name:</td>
                <td style="width: 379px; height: 14px;">
                    <asp:TextBox id="name" runat="server" width="149px"></asp:TextBox></td>
                <td style="width: 423px; height: 14px;">
                                
                </td>
            </tr>
            <tr>
                <td style="width: 164px; height: 14px;">
                    deine E-M@il:</td>
                <td style="width: 379px; height: 14px;">
                    <asp:TextBox id="email" runat="server" width="149px"></asp:TextBox></td>
                <td style="width: 423px; height: 14px;">
                            
                </td>
            </tr>
            
            
            <tr>
                <td style="width: 164px; height: 38px;">
                    Deine Nachricht:</td>
                <td style="width: 379px; height: 38px;">
                    <asp:TextBox id="text" runat="server" height="130px" width="341px"></asp:TextBox></td>
                <td style="width: 423px; height: 38px"><span id="ausgabe" runat="server"></span>
                
                </td>
            </tr>
            
            <tr>
                <td style="width: 164px">
                </td>
                <td style="width: 379px">
                    <asp:Button id="senden" onclick="Button1_Click" runat="server" text="senden" />
                    <input id="zuruecksetzen" type="reset" value="zurücksetzen" /></td>
                <td style="width: 423px">
                </td>
            </tr>
            <tr></tr>
        </table>

        <br />
        <br />
    </form>
    </div>


<!-- #include file="footerintern.tpl" -->






Die Seite um eine Email/Nachricht zu schicken kann bis jetzt ganz normal geöfftnet und ausgefüllt
werden. Wenn man dann aber auf "Senden" klickt, kommt eine Fehlermeldung:



Ausnahmedetails: System.InvalidOperationException: Keine Daten für die Zeile/Spalte.

Quellfehler:

Zeile 57:
Zeile 58:
Zeile 59: ausgabeemail = "'" & myReader.Item("email") & "'"
Zeile 60: myReader.Close()
Zeile 61: conn.Close()


Quelldatei: C:\28-08-08\intern\kontakt.aspx Zeile: 59

Stapelüberwachung:

[InvalidOperationException: Keine Daten für die Zeile/Spalte.]
System.Data.OleDb.OleDbDataReader.DoValueCheck(Int
32 ordinal) +1043511
System.Data.OleDb.OleDbDataReader.GetValue(Int32 ordinal) +12
System.Data.OleDb.OleDbDataReader.get_Item(String name) +27
ASP.intern_kontakt_aspx.Button1_Click(Object sender, EventArgs e) in C:\28-08-08\intern\kontakt.aspx:59
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +111
System.Web.UI.WebControls.Button.RaisePostBackEven
t(String eventArgument) +110
System.Web.UI.WebControls.Button.System.Web.UI.IPo
stBackEventHandler.RaisePostBackEvent(String eventArgument) +10
System.Web.UI.Page.RaisePostBackEvent(IPostBackEve
ntHandler sourceControl, String eventArgument) +13
System.Web.UI.Page.RaisePostBackEvent(NameValueCol
lection postData) +36
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565



Ich hoffe, jemand kann mir helfen. Vielen Dank schonmal für eventuelle Antworten!

GLG,
Sandra

Dieser Beitrag wurde von *sunny nightmare* bearbeitet: 30. August 2008 - 14:37

0

Anzeige



#2 Mitglied ist offline   amalbhalbe 

  • Gruppe: aktive Mitglieder
  • Beiträge: 643
  • Beigetreten: 14. Mai 04
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:BMW E38 740i V8 286 PS 4.4L Hubraum
  • Interessen:Design is the production of braindysentery

geschrieben 29. August 2008 - 11:45

Hallo,

ähm irgendwie ergibt sich hier für mich keine Fragestellung? Ok ihr habt ein Projekt - Userpages .. einlogen - suchen - mailen? richtig? .. der gepostete code - funktioniert der oder nicht? oder worum gehts jetzt?
Pc is my life, amd my world, intel my enemy and Linux my Hell
0

#3 Mitglied ist offline   [Elite-|-Killer] 

  • Gruppe: aktive Mitglieder
  • Beiträge: 762
  • Beigetreten: 02. Oktober 05
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Passau

geschrieben 29. August 2008 - 13:38

Noch ein kleiner Hinweis von mir: Die Verwendung des [ codebox ] BB-Codes erleichtert die Lesbarkeit des Codes sehr, vor allem bei so viel Code!
0

#4 Mitglied ist offline   *sunny nightmare* 

  • Gruppe: Mitglieder
  • Beiträge: 12
  • Beigetreten: 22. Juni 08
  • Reputation: 0

geschrieben 29. August 2008 - 17:53

Beitrag anzeigenZitat (amalbhalbe: 29.08.2008, 12:45)

Hallo,

ähm irgendwie ergibt sich hier für mich keine Fragestellung? Ok ihr habt ein Projekt - Userpages .. einlogen - suchen - mailen? richtig? .. der gepostete code - funktioniert der oder nicht? oder worum gehts jetzt?


Oh sorry, war so damit beschäftigt, den Quellcode mit Kommentaren zu versehen, dass ich das wichtigste vergessen hab :)

Ja, der Code so wie er ist, funktioniert leider nicht. Ich hab es wie gesagt zuerst mit einer Variable als Stringbuilder versucht, aber das will er nicht und so wie es jetzt ist, leider auch nicht. Ich weiß nicht, wo das Problem ist :)

Beitrag anzeigenZitat ([Elite-|-Killer]: 29.08.2008, 14:38)

Noch ein kleiner Hinweis von mir: Die Verwendung des [ codebox ] BB-Codes erleichtert die Lesbarkeit des Codes sehr, vor allem bei so viel Code!


Oh, das wusste ich nicht bzw. hab ich beim Posten auch übersehen. Das nächste mal weiß ich bescheid. Danke!
0

#5 Mitglied ist offline   gl4di4t0r 

  • Gruppe: aktive Mitglieder
  • Beiträge: 419
  • Beigetreten: 03. Oktober 04
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Bärlin

geschrieben 29. August 2008 - 18:47

Beitrag anzeigenZitat (*sunny nightmare*: 29.08.2008, 18:53)

Oh, das wusste ich nicht bzw. hab ich beim Posten auch übersehen. Das nächste mal weiß ich bescheid. Danke!

Editier deinen Post einfach.

Eingefügtes Bild
Eingefügtes Bild
CCNA - Cisco Certified Network Associate
DropBox Online Sync-Speicher
0

#6 Mitglied ist offline   amalbhalbe 

  • Gruppe: aktive Mitglieder
  • Beiträge: 643
  • Beigetreten: 14. Mai 04
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:BMW E38 740i V8 286 PS 4.4L Hubraum
  • Interessen:Design is the production of braindysentery

geschrieben 29. August 2008 - 23:01

musst du das zwingend mit ASP machen? , ich kenn mich damit offen gestanden nicht aus!, aber wo kommt den ein Fehler, bzw das Script muss ja irgendeinen Fehler ausspucken? wo genau scheiterts denn?


schau mal

http://www.codeproje...attach_asp.aspx


müsste doch möglich sein die variablen in der call aus der aktuellen db zu holen wie du es ja hier gemacht hast:

sql = "SELECT email FROM profile WHERE name='" & Request.QueryString("Name") & "'"

? vielleicht hilft dir das weiter

Dieser Beitrag wurde von amalbhalbe bearbeitet: 29. August 2008 - 23:10

Pc is my life, amd my world, intel my enemy and Linux my Hell
0

#7 Mitglied ist offline   *sunny nightmare* 

  • Gruppe: Mitglieder
  • Beiträge: 12
  • Beigetreten: 22. Juni 08
  • Reputation: 0

geschrieben 30. August 2008 - 14:43

Beitrag anzeigenZitat ([Elite-|-Killer]: 29.08.2008, 14:38)

Noch ein kleiner Hinweis von mir: Die Verwendung des [ codebox ] BB-Codes erleichtert die Lesbarkeit des Codes sehr, vor allem bei so viel Code!

ich habe meinen Beitrag jetzt editiert. Sorry, hatte ich nicht gesehen und vorher auch nicht gewusst...

Beitrag anzeigenZitat (amalbhalbe: 30.08.2008, 00:01)

musst du das zwingend mit ASP machen? , ich kenn mich damit offen gestanden nicht aus!, aber wo kommt den ein Fehler, bzw das Script muss ja irgendeinen Fehler ausspucken? wo genau scheiterts denn?


schau mal

http://www.codeproje...attach_asp.aspx


müsste doch möglich sein die variablen in der call aus der aktuellen db zu holen wie du es ja hier gemacht hast:

sql = "SELECT email FROM profile WHERE name='" & Request.QueryString("Name") & "'"

? vielleicht hilft dir das weiter


hmm, das sieht ja ganz anders aus, als bei mir. Ich kenn mich weiß gott auch nicht damit aus. Von daher kann ich auch nicht sagen, ob es aber vielleicht trotzdem bei mir funktionieren würde. Wenn ich mal etwas mehr zeit hab, sprich morgen, versuch ich das einfach mal. Danke!
Ich hab meinen ersten Beitrag gerade editiert und 1. meine eigentliche Frage erstmal reingeschrieben und 2. die Fehlermeldung, die kommt, wenn man auf "Senden" klickt. Vielleicht sagt dir das ja trotzdem etwas ;-)


Beitrag anzeigenZitat (amalbhalbe: 30.08.2008, 00:01)

musst du das zwingend mit ASP machen? , ich kenn mich damit offen gestanden nicht aus!, aber wo kommt den ein Fehler, bzw das Script muss ja irgendeinen Fehler ausspucken? wo genau scheiterts denn?


schau mal

http://www.codeproje...attach_asp.aspx


müsste doch möglich sein die variablen in der call aus der aktuellen db zu holen wie du es ja hier gemacht hast:

sql = "SELECT email FROM profile WHERE name='" & Request.QueryString("Name") & "'"

? vielleicht hilft dir das weiter


hmm, das sieht ja ganz anders aus, als bei mir. Ich kenn mich weiß gott auch nicht damit aus. Von daher kann ich auch nicht sagen, ob es aber vielleicht trotzdem bei mir funktionieren würde. Wenn ich mal etwas mehr zeit hab, sprich morgen, versuch ich das einfach mal. Danke!
Ich hab meinen ersten Beitrag gerade editiert und 1. meine eigentliche Frage erstmal reingeschrieben und 2. die Fehlermeldung, die kommt, wenn man auf "Senden" klickt. Vielleicht sagt dir das ja trotzdem etwas :blink:
0

#8 Mitglied ist offline   amalbhalbe 

  • Gruppe: aktive Mitglieder
  • Beiträge: 643
  • Beigetreten: 14. Mai 04
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:BMW E38 740i V8 286 PS 4.4L Hubraum
  • Interessen:Design is the production of braindysentery

geschrieben 31. August 2008 - 00:54

Naja aller Logik nach sagt das System das der Fehler bei der Emailausgabe geschieht dort steht ja auch korrekt:

ausgabeemail = "'" & myReader.Item("email") & "'"
		myReader.Close()
		conn.Close()


so nun is "myReader" davor so definiert:

sql = "SELECT email FROM profile WHERE name='" & Request.QueryString("Name") & "'"
		Dim cmd As New OleDbCommand(sql, conn)
		Dim myReader As OleDbDataReader
		myReader = cmd.ExecuteReader()


also ich glaube das die WHERE abfrage nicht korrekt von statten geht, weil

Zitat

Ausnahmedetails: System.InvalidOperationException: Keine Daten für die Zeile/Spalte.


Hast du kein Muterbeispiel einer funktionierenden WHERE bedinung in einer abfrage?
Pc is my life, amd my world, intel my enemy and Linux my Hell
0

#9 Mitglied ist offline   *sunny nightmare* 

  • Gruppe: Mitglieder
  • Beiträge: 12
  • Beigetreten: 22. Juni 08
  • Reputation: 0

geschrieben 31. August 2008 - 15:18

Beitrag anzeigenZitat (amalbhalbe: 31.08.2008, 01:54)

Hast du kein Muterbeispiel einer funktionierenden WHERE bedinung in einer abfrage?


Ja, iene Abfrage so in der Art hab ich auf einer anderen Seite schonmal benutzt und das funktionert (bei dem wird allerdings ein stringbuilder benutzt und nicht ein string):

Dim db As String
        db = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("profile.mdb") & ";"
        ' Verbindung zur Datenbank herstellen
        Dim conn As New OleDbConnection(db)
        conn.Open()
        ' SQL-Kommando erstellen und ausführen
        Dim sql As String
        sql = "SELECT * FROM profile WHERE name='" & Request.QueryString("Name") & "'"
        Dim cmd As New OleDbCommand(Sql, conn)
        Dim myReader As OleDbDataReader
        myReader = cmd.ExecuteReader()
        Dim sb As New StringBuilder()

0

#10 Mitglied ist offline   amalbhalbe 

  • Gruppe: aktive Mitglieder
  • Beiträge: 643
  • Beigetreten: 14. Mai 04
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:BMW E38 740i V8 286 PS 4.4L Hubraum
  • Interessen:Design is the production of braindysentery

geschrieben 31. August 2008 - 15:52

hast du´s mit der Variante schon mal versucht? immerhin, du hast zwar weiter oben geschrieben das dürfe man nicht (warum auch immer) aber wenns damit geht?
Pc is my life, amd my world, intel my enemy and Linux my Hell
0

#11 Mitglied ist offline   *sunny nightmare* 

  • Gruppe: Mitglieder
  • Beiträge: 12
  • Beigetreten: 22. Juni 08
  • Reputation: 0

geschrieben 31. August 2008 - 17:29

Beitrag anzeigenZitat (amalbhalbe: 31.08.2008, 16:52)

hast du´s mit der Variante schon mal versucht? immerhin, du hast zwar weiter oben geschrieben das dürfe man nicht (warum auch immer) aber wenns damit geht?


Im WebDeveloper, mit dem ich die Seite programiere, wurde die variable (ausgabeemail) an der Stelle, an der die Empfängeremail eingatragen wird immer unterstrichen und als "Begründung" wird dann gesagt, dass ein Stringbuilder an dieser Stelle nicht erlaubt ist. Ausprobiert habe ich es trotzdem eben und jetzt wird die Kontaktseite gar nicht erst angezeigt. Es kommt sofort die Fehlermeldung:

Compilerfehlermeldung: BC30518: Fehler bei der Überladungsauflösung, da keine zugreifbare "Add" mit diesen Argumenten aufgerufen werden kann:

Quellfehler:

Zeile 75: ' E-Mail zusammenstellen
Zeile 76: nachricht.From = New MailAddress(email.Text, name.Text)
Zeile 77: nachricht.To.Add(ausgabeemail)
Zeile 78: nachricht.Subject = anliegen.Text
Zeile 79: nachricht.Body = inhalt


Ich weiß echt nicht, was man machen kann :cool:

Ich hab das jetzt nochmal geändert und den myReader überhaupt "gestartet" und eine While-Schleife eingefügt, da wir das in einer Übung auch gemacht haben. Dachte ich, kann ja nicht schaden. Der Quellcode sieht jetzt so aus (nur die Sub):

Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs)
        Dim nachricht As New System.Net.Mail.MailMessage
        Dim inhalt As String
        Dim fehlermeldung As String
        
        'Ab hier wird die Fehlermeldung zusammengestellt. Zu Beginn ist sie leer.
        fehlermeldung = ""
        
        'Folgend werden die einzelnen Textfelder geprüft und die dazugehörige Fehlermeldung zusammen gestellt.
        If anliegen.Text = "" Then
            fehlermeldung = fehlermeldung & "Was ist dein Anliegen? <br/>"
        End If
        
        If name.Text = "" Then
            fehlermeldung = fehlermeldung & "Wie heißt du denn? <br/>"
        End If
        
        If email.Text = "" Then
            fehlermeldung = fehlermeldung & "Wie lautet deine E-Mail-Adresse? <br/>"
        End If
        
        If text.Text = "" Then
            fehlermeldung = fehlermeldung & "Wie soll deine Nachricht lauten? <br/>"
        End If
    
        
            
        ' Verbindungszeichenfolge zusammensetzen
        Dim db As String
        db = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("profile.mdb") & ";"
        ' Verbindung zur Datenbank herstellen
        Dim conn As New OleDbConnection(db)
        conn.Open()
        ' SQL-Kommando erstellen und ausführen
        Dim sql As String
        sql = "SELECT email FROM profile WHERE name='" & Request.QueryString("Name") & "'"
        Dim cmd As New OleDbCommand(sql, conn)
        Dim myReader As OleDbDataReader
        myReader = cmd.ExecuteReader()
        Dim ausgabeemail As String
        
        While myReader.Read()
            ausgabeemail = "'" & myReader.Item("email") & "'"
        End While
        
        myReader.Close()
        conn.Close()
        
            
        
        If fehlermeldung = "" Then
                    
            ' Formularfelder auslesen
            inhalt = "Du hast folgende Nachricht bekommen:" & Chr(10)
            inhalt = inhalt & "Name:" & name.Text & Chr(10)
            inhalt = inhalt & "E-Mail: " & email.Text & Chr(10)
            inhalt = inhalt & "Betreff: " & anliegen.Text & Chr(10)
            inhalt = inhalt & text.Text & Chr(10)
        
        
            ' E-Mail zusammenstellen
            nachricht.From = New MailAddress(email.Text, name.Text)
            nachricht.To.Add(ausgabeemail)
            nachricht.Subject = anliegen.Text
            nachricht.Body = inhalt

            ' SMTP-Server kontaktieren
            Dim smtp As New SmtpClient("renoir.nordakademie.de")
      
            ' Nachricht senden
            smtp.Send(nachricht)
            
            ' Hinweis auf den Nutzer ausgeben
            ausgabe.InnerText = "Deine Nachricht wurde verschickt!"
            
        Else
            'es gab Fehler
            ausgabe.InnerHtml = "<b> Fehler:</b><br/>" & fehlermeldung
            
        End If

    End Sub


Die Emailadresse scheint jetzt ENDLICH ausgelesen zu werden, aber aus irgendeinem Grund, scheint der smtp-Server nicht zu wollen, da immer noch eine Fehlermeldung kommt, dass das Postfach nicht verfügbar sei. Das kann aber nciht sein, da ich genau den smtp-server auch auf einer anderen Seite der HP benutze, bei dem allerdings die Empfängeremail schon vorgegeben ist. Natürlich ist der smtp-Server bei jeder emailadresse unterschiedlich, aber bei der Emailaddy der Uni ist es dieser smtp-Server (renoir.nordakademie.de) und ich habe es deshalb mit einem Profil ausprobieren wollen, das auch eine Uniemailadresse hat.

Hier ist die Fehlermeldung:

Ausnahmedetails: System.Net.Mail.SmtpFailedRecipientException: Postfach nicht verfügbar. Die Serverantwort war: Relaying denied

Quellfehler:

Zeile 87:
Zeile 88: ' Nachricht senden
Zeile 89: smtp.Send(nachricht)
Zeile 90:
Zeile 91: ' Hinweis auf den Nutzer ausgeben


Quelldatei: C:\29-08-08\intern\kontakt.aspx Zeile: 89

Stapelüberwachung:

[SmtpFailedRecipientException: Postfach nicht verfügbar. Die Serverantwort war: Relaying denied]
System.Net.Mail.SmtpTransport.SendMail(MailAddress sender, MailAddressCollection recipients, String deliveryNotify, SmtpFailedRecipientException& exception) +1077971
System.Net.Mail.SmtpClient.Send(MailMessage message) +1480
ASP.intern_kontakt_aspx.Button1_Click(Object sender, EventArgs e) in C:\29-08-08\intern\kontakt.aspx:89
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +111
System.Web.UI.WebControls.Button.RaisePostBackEven
t(String eventArgument) +110
System.Web.UI.WebControls.Button.System.Web.UI.IPo
stBackEventHandler.RaisePostBackEvent(String eventArgument) +10
System.Web.UI.Page.RaisePostBackEvent(IPostBackEve
ntHandler sourceControl, String eventArgument) +13
System.Web.UI.Page.RaisePostBackEvent(NameValueCol
lection postData) +36
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565


Habt ihr da eine Idee, woran es liegen könnte?
0

#12 Mitglied ist offline   amalbhalbe 

  • Gruppe: aktive Mitglieder
  • Beiträge: 643
  • Beigetreten: 14. Mai 04
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:BMW E38 740i V8 286 PS 4.4L Hubraum
  • Interessen:Design is the production of braindysentery

geschrieben 31. August 2008 - 18:45

Hallo,

also wenn man einigen Seiten glauben darf liegt es entweder an einer Einstellung im STMP / IIS selbst, oder es gibt anscheinend eine Alternativlösung für das Problem :

http://forums.devshed.com/net-development-...-1t-315971.html

ums mal zu erläutern:

smtp.DeliveryMethod = SmtpDeliveryMethod.PickupDirectoryFromIis

Dieser Beitrag wurde von amalbhalbe bearbeitet: 31. August 2008 - 18:48

Pc is my life, amd my world, intel my enemy and Linux my Hell
0

#13 Mitglied ist offline   *sunny nightmare* 

  • Gruppe: Mitglieder
  • Beiträge: 12
  • Beigetreten: 22. Juni 08
  • Reputation: 0

geschrieben 31. August 2008 - 19:12

Beitrag anzeigenZitat (amalbhalbe: 31.08.2008, 19:45)

Hallo,

also wenn man einigen Seiten glauben darf liegt es entweder an einer Einstellung im STMP / IIS selbst, oder es gibt anscheinend eine Alternativlösung für das Problem :

http://forums.devshed.com/net-development-...-1t-315971.html

ums mal zu erläutern:

smtp.DeliveryMethod = SmtpDeliveryMethod.PickupDirectoryFromIis


Vielen dank, dass du den Code direkt reingeschrieben hast, aber ich weiß nicht genau, an welche Stelle ich es stellen muss und so gut Englisch kann ich leider nicht, dass ich die Texte in dem von dir geposteten Link verstehe. Sorry. Ich bin in dem Thema nicht gut :cool:
Setz in diese Codezeile einfach unter smtp.send(nachricht) oder stattdessen? Wenn ich das ersetzen soll, wo lege ich dann fest, dass er euch "nachricht" als Inhalt der Email nehmen soll?
0

#14 Mitglied ist offline   amalbhalbe 

  • Gruppe: aktive Mitglieder
  • Beiträge: 643
  • Beigetreten: 14. Mai 04
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:BMW E38 740i V8 286 PS 4.4L Hubraum
  • Interessen:Design is the production of braindysentery

geschrieben 31. August 2008 - 19:27

aus der zitierten Seite stehts so :

Dim myMailClient As New System.Net.Mail.SmtpClient(AppSettings("SMTPHost"))

myMailClient.DeliveryMethod = SmtpDeliveryMethod.PickupDirectoryFromIis

myMailClient.Send(strFromEmail, strTo, strSubject, strBody)


Bei dir stehts so:

Dim smtp As New SmtpClient("renoir.nordakademie.de")
	  
smtp.Send(nachricht)


also müsstest du es so schreiben:

Dim smtp As New SmtpClient("renoir.nordakademie.de")

smtp.DeliveryMethod = SmtpDeliveryMethod.PickupDirectoryFromIis
	  
smtp.Send(nachricht)



am Anfang connectest du, dann gibst du nen spezifischen Befehl ab und zum Schluss sendest du die Mail raus.

Dieser Beitrag wurde von amalbhalbe bearbeitet: 31. August 2008 - 19:27

Pc is my life, amd my world, intel my enemy and Linux my Hell
0

#15 Mitglied ist offline   *sunny nightmare* 

  • Gruppe: Mitglieder
  • Beiträge: 12
  • Beigetreten: 22. Juni 08
  • Reputation: 0

geschrieben 31. August 2008 - 20:33

schade, jetzt kommt die Fehlermeldung :cool::

System.Net.Mail.SmtpException: IIS-Pickup-Verzeichnis kann nicht abgerufen werden.
0

Thema verteilen:


  • 2 Seiten +
  • 1
  • 2

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0