CDONTS - wo bleiben meine EMails?!

schutzgeist

Erfahrenes Mitglied
Heho ^^

Hab mir das CDONTS Skript (Form Mailer) jetzt mal auf 3 Felder für mich zurecht/umgeschrieben, damit ich überhaupt mal seh ob und wenn ja, was sich tut.

Die Mail scheint rauszugehen, da die Dankeseite aufgerufen wird...
Ich bekomm aber nichts...
Warte nun schon ne halbe Stunde langsam ungedulig auf meine Mails... :D

CDONTS läuft auf dem Server, das hab ich mit dem Skript von hier überprüft.

Hier mal mein Code:
Code:
<%

Kundennummer = request.form("Kundennummer")
Standort = request.form("Standort")
Sonstiges = request.form("Sonstiges")

If Kundennummer="" or Standort="" or Sonstiges="" Then
url = "newserver.asp?reqd=* indicates required field&Kundennummer=" & Kundennummer & "&Standort=" & Standort
	If Kundennummer="" Then 
	url = url & "&mKundennummer=*"
	End if

	If Standort="" Then
	url = url & "&mStandort=*"
	End if
	
	If Sonstiges="" Then
	url = url & "&mSonstiges=*"
	End if


response.redirect url & "&foobar=foobar#form"
response.end
End if


 		     Dim objCDONTS                 ' Email object
                     Dim strFromName               ' From persons' real name
                     Dim strFromEmail, strToEmail  ' Email addresses
                     Dim strSubject, strBody       ' Message
                     Dim misccompo       
		    
		     
		     strSubject    = "test"
		                      strToEmail    = "xxxxx@xxxxx.de"
		     strBody       = Trim(Request.Form("Sontiges"))

Set objCDONTS = Server.CreateObject("CDONTS.NewMail")
                             objCDONTS.To      = strToEmail
                             objCDONTS.Subject = strSubject
			     objCDONTS.Body    = "--------------------------------------" & vbcrlf & vbcrlf & strbody & vbcrlf & vbcrlf & vbcrlf & "--------------------------------------------------------------" & vbcrlf & "MESSAGE ENDS: End of Sontiges"
                             objCDONTS.Send
                             Set objCDONTS = Nothing

response.redirect "thanks.asp"
response.end
%>

Was hab ich diesesmal angestellt, dass mal wieder nichts geht? :suspekt:

Danke schonmal im Vorraus,
schutzgeist
 

schutzgeist

Erfahrenes Mitglied
Hier noch das ursprüngliche Skript, falls benötigt:

Code:
<%

name = request.form("name")
email = request.form("email")
message = request.form("message")

If name="" or email="" or message="" Then
url = "contact.asp?reqd=* indicates required field&name=" & name & "&email=" & email & "&message=" & message
	If name="" Then 
	url = url & "&mname=*"
	End if

	If email="" Then
	url = url & "&memail=*"
	End if

	If message="" Then
	url = url & "&mmessage=*"
	End if


response.redirect url & "&foobar=foobar#form"
response.end
End if


 		     Dim objCDONTS                 ' Email object
                     Dim strFromName               ' From persons' real name
                     Dim strFromEmail, strToEmail  ' Email addresses
                     Dim strSubject, strBody       ' Message
                     Dim misccompo       
		    
		     
		     strSubject    = "ENTER YOUR SUBJECT HERE"
		     strFromName   = Trim(Request.Form("name"))
                     strFromEmail  = Trim(Request.Form("email"))
                     strToEmail    = "ENTER YOUR EMAIL ADDRESS HERE"
		     strBody       = Trim(Request.Form("message"))

Set objCDONTS = Server.CreateObject("CDONTS.NewMail")
                             objCDONTS.From    = strFromName & " <" & strFromEmail & ">"
                             objCDONTS.To      = strToEmail
                             objCDONTS.Subject = strSubject
			     objCDONTS.Body    = "--------------------------------------" & vbcrlf & vbcrlf & strbody & vbcrlf & vbcrlf & vbcrlf & "--------------------------------------------------------------" & vbcrlf & "MESSAGE ENDS: End of message"
                             objCDONTS.Send
                             Set objCDONTS = Nothing

response.redirect "thanks.asp"
response.end
%>
 

schutzgeist

Erfahrenes Mitglied
Der Form-Part liegt in einer Datei davor die dann per action="" die Datei mit oben genannten Code aufruft.
Ansicht scheint das Ganze ja zu funktionieren.

Nach langem googlen heute Mittag kam ich noch auf die Idee, dass der SMTP Dienst evtl. garnicht eingerichtet ist, weil der bisher auch nicht benötigt wurde.
Allerdings hab ich außer dem FTP zum dem Verzeichnis auf dem Server keinen Zugriff, von daher muss ich morgen früh erst mal meinen Chef fragen, dass er mal schaut.
Würde es ja local probieren, weiß allerings nicht, wie ich CDONTS da zum laufen bekomm...

Könnte aber wohl am SMTP liegen?
 

schutzgeist

Erfahrenes Mitglied
Hm, es scheint ne Sache von den Einstellungen zu sein...
Hab CDONTs nun lokal zum laufen gebracht... bekomm aber immer noch keine eMails...
Habs mit dem unveränderten Skript probiert und bekomm mal wieder nix...

Was muss ich bei dem SMTP Dienst denn genau beachten? Kenn mich mit dem Ding garnicht aus.. :(
 

schutzgeist

Erfahrenes Mitglied
Danke, werds mal damit probieren.
Die dll scheint zum Glück schon bei mir drauf zu sein.

Nur eine kleine Sache noch, wo ich momentan etwas auf dem Schlauch stehe.
Wenn ich das Formular in die gleiche Seite wie das Skript zum absenden einfügen will, was muss ich dann nochmal im action="" angeben?
Meine Dankeseite?
 
Zuletzt bearbeitet:

Luzie

Erfahrenes Mitglied
Hallo

Du solltest eine Fehlerüberprüfung mit in das Scirpt einbauen.

on error resume next

Schau Dir das Beispiel aus ASPheute an.

Code:
' Error Handling waehrend dem Versenden:
On Error Resume Next

' CDO-Nachricht senden
objMessage.Send

If Err.Number = 0 Then
  Response.Write("Die Nachricht wurde versendet!")
Else
  Response.Write("Waehrend des Versendens ist " & _
  "ein Fehler aufgetreten, ueberpruefen Sie die " & _
  "Verbindung zum Internet oder dem Mailserver!" & _
  "<br> Moeglicherweise akzeptiert der Emailserver " & _
  "Ihre Nachricht nicht. ")
  Err.Number = 0
End If
On Error Goto 0

Und so baust Du das Script auf

Code:
<%
if Request.Form.count >0 then

' --- Versenden der Mail
' --- Ausgabe der Meldung, Bestätigung über das Error-Handling

else

' --- Ausgabe des Formulars.
' --- Das Formular kannst Du über Request.Servervariables("script_name") an die gleiche Seite schicken. 

end if
%>

Noch besser ist es es, Redirectest je nach dem Error-Handling auf eine andere Seite. Du kannst auch einen Parameter anhängen und abzufragen, ob nun ein Fehler vorliegt oder nicht.

Code:
' Error Handling waehrend dem Versenden:
On Error Resume Next

' CDO-Nachricht senden
objMessage.Send

If Err.Number = 0 Then
  Response.redirect "seite.asp?senden=ok"
Else
  Response.redirect "seite.asp?senden=Fehler"
End If
 

schutzgeist

Erfahrenes Mitglied
Das klappt hinten und vorne nicht...

Waehrend des Versendens ist ein Fehler aufgetreten, ueberpruefen Sie die Verbindung zum Internet oder dem Mailserver!
Moeglicherweise akzeptiert der Emailserver Ihre Nachricht nicht.
Fehler -2147220977:
Der Server hat eine oder mehrere Empfängeradressen zurückgewiesen. Die Serverantwort lautet: 550 5.7.1 Unable to relay for xxxxx@xxxxx.de

Was gibt es denn noch für Alternativen zu den ganzen ASP Mailern?
 

Luzie

Erfahrenes Mitglied
Hi

der SMTP-Server sollte installiert sein und muss laufen.

Ich müsste mich da auch erst kundig machen, wie solch ein Dienst angesprochen wird. Einfach mal googeln, viell. findet man ja ein Tut. Wenn ich was finde oder nähere Infos habe, melde ich mich.

Es gibt noch Komponenten, die man installieren kann. ASP-Mail oder Jmail. Artikel findest Du auch auf ASPheute.com.
 

Neue Beiträge