Avatar billede mini-me Nybegynder
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
Avatar billede radion Nybegynder
11. februar 2003 - 14:17 #1
hvilken fejl får du?
Avatar billede mini-me Nybegynder
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...!!
Avatar billede medions Nybegynder
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
Avatar billede mini-me Nybegynder
11. februar 2003 - 14:30 #4
Argh!!! Spasser fejl ;)

Tak for det.
Avatar billede mini-me Nybegynder
11. februar 2003 - 14:33 #5
Men hov virker ikke... den tager kun den sidste form med når mailen bliver sendt...!!
Avatar billede medions Nybegynder
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
Avatar billede mini-me Nybegynder
11. februar 2003 - 14:43 #7
Nope... den tager stadig kun 1 af felterne, med i mailen
Avatar billede medions Nybegynder
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
Avatar billede mini-me Nybegynder
11. februar 2003 - 14:48 #9
Ja, klart :o) du får tak
Avatar billede medions Nybegynder
11. februar 2003 - 14:52 #10
;o)
Avatar billede medions Nybegynder
11. februar 2003 - 14:52 #11
Thx 4 Poinz

//>Rune
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester