11. februar 2003 - 14:09
Der er
10 kommentarer og 1 løsning
Syntax error i JMail
Jeg får bare en syntax fejl, hver gang jeg prøver at sende en mail... nogen der kan hjælpe? if Request.ServerVariables("REQUEST_METHOD") = "POST" Then Set JMail = Server.CreateObject("JMail.SMTPMail") JMail.ServerAddress = "mail.scannet.dk" JMail.Sender = rs("E-Mail") JMail.Subject = "Mail fra kontaktform / Mail from contactform" JMail.AddRecipient rs("E-Mail") JMail.Priority = 3 JMail.AddHeader "Originating-IP", Request.ServerVariables("REMOTE_ADDR") For i = 1 to 10 fieldName = rs("field" & i ) fieldType = rs("field" & i & "_type") if fieldName <> "" then JMail.Body = fieldName & Request.Form("field" & i) & vbCrlF &_ end if next JMail.Execute Set JMail = Nothing Response.Write("Din mail er blevet sendt / Your mail has ben sent") End if
Annonceindlæg fra Kingston Technology
11. februar 2003 - 14:17
#1
hvilken fejl får du?
11. februar 2003 - 14:20
#2
Microsoft VBScript compilation error '800a03ea' Syntax error /contactform/body.asp, line 25 end if ^ Men det er lige meget hvor meget jeg korter den ned, kun hvis jeg fjerne "FOR i = 1 to 10 og så sætter noget text ind manuelt at det virker...!!
11. februar 2003 - 14:28
#3
if Request.ServerVariables("REQUEST_METHOD") = "POST" Then Set JMail = Server.CreateObject("JMail.SMTPMail") JMail.ServerAddress = "mail.scannet.dk" JMail.Sender = rs("E-Mail") JMail.Subject = "Mail fra kontaktform / Mail from contactform" JMail.AddRecipient rs("E-Mail") JMail.Priority = 3 JMail.AddHeader "Originating-IP", Request.ServerVariables("REMOTE_ADDR") For i = 1 to 10 fieldName = rs("field" & i ) fieldType = rs("field" & i & "_type") if fieldName <> "" then JMail.Body = fieldName & Request.Form("field" & i) & vbCrlF end if next JMail.Execute Set JMail = Nothing Response.Write("Din mail er blevet sendt / Your mail has ben sent") End if //>Rune
11. februar 2003 - 14:30
#4
Argh!!! Spasser fejl ;) Tak for det.
11. februar 2003 - 14:33
#5
Men hov virker ikke... den tager kun den sidste form med når mailen bliver sendt...!!
11. februar 2003 - 14:40
#6
Hmm så prøv at gør sådan her: if Request.ServerVariables("REQUEST_METHOD") = "POST" Then Set JMail = Server.CreateObject("JMail.SMTPMail") JMail.ServerAddress = "mail.scannet.dk" JMail.Sender = rs("E-Mail") JMail.Subject = "Mail fra kontaktform / Mail from contactform" JMail.AddRecipient rs("E-Mail") JMail.Priority = 3 JMail.AddHeader "Originating-IP", Request.ServerVariables("REMOTE_ADDR") For Each Item In Request.Form JMail.Body = item & Request.Form(item) & vbCrlf Next JMail.Execute Set JMail = Nothing Response.Write("Din mail er blevet sendt / Your mail has ben sent") End if Prøv sådan så... //>Rune
11. februar 2003 - 14:43
#7
Nope... den tager stadig kun 1 af felterne, med i mailen
11. februar 2003 - 14:46
#8
Ahh, ok, det er fordi du skal lægge det ind en variabel først... Her der overskriver du din Body parameter for hvor gang der er et nyt felt... if Request.ServerVariables("REQUEST_METHOD") = "POST" Then Set JMail = Server.CreateObject("JMail.SMTPMail") JMail.ServerAddress = "mail.scannet.dk" JMail.Sender = rs("E-Mail") JMail.Subject = "Mail fra kontaktform / Mail from contactform" JMail.AddRecipient rs("E-Mail") JMail.Priority = 3 JMail.AddHeader "Originating-IP", Request.ServerVariables("REMOTE_ADDR") For i = 1 to 10 fieldName = rs("field" & i ) fieldType = rs("field" & i & "_type") if fieldName <> "" then strBody = strBody & fieldName & Request.Form("field" & i) & vbCrlF end if next JMail.Body = strBody JMail.Execute Set JMail = Nothing Response.Write("Din mail er blevet sendt / Your mail has ben sent") End if //>Rune
11. februar 2003 - 14:48
#9
Ja, klart :o) du får tak
11. februar 2003 - 14:52
#10
;o)
11. februar 2003 - 14:52
#11
Thx 4 Poinz //>Rune
Kurser inden for grundlæggende programmering