Avatar billede fancy Mester
13. marts 2009 - 11:35 Der er 12 kommentarer og
1 løsning

mail

Hvorfor pokker kan jeg ikke få den til at sende en mail til den har intastet sine data








<% @LANGUAGE = VBScript %>
<%
  Option Explicit
  Response.Expires=0

  Dim objConn, objRS, strQ, arrRS
  Dim strConnection
  Dim i, strArrangement, strSvarTekst
  Dim strAID, strNavn, strAdresse, strPostnr, strDistrikt, strTelefon, strEmail, strNumV, strNumB, strMedlem
  Dim Mailer
 
  If Request.ServerVariables("QUERY_STRING")<> "" then
    strAID      = Trim(Request.QueryString("AID"))
    strNavn      = Trim(Request.QueryString("Navn"))
    strAdresse  = Trim(Request.QueryString("Adresse"))
    strPostnr  = Trim(Request.QueryString("Postnr"))
    strDistrikt = Trim(Request.QueryString("Distrikt"))
    strTelefon  = Trim(Request.QueryString("Telefon"))
    strEmail      = Trim(Request.QueryString("Email"))
    strNumV      = Trim(Request.QueryString("NumV"))
    strNumB      = Trim(Request.QueryString("NumB"))
    strMedlem      = Trim(Request.QueryString("Medlem"))
  End If
 
%>
    <!-- #include file="Includes\ConnectDB.inc" -->
<%

  Sub GetArrangement
    strQ = "SELECT * FROM lbArrangement WHERE AID = " & strAID
    Set arrRS = objConn.Execute(strQ)   
  end Sub

  Sub SaveTilmelding
    ConnectDB
    strQ = "INSERT INTO lbTilmelding (AID, Navn, Adresse, Postnr, distrikt, Telefon, Email, Medlem, NumV, NumB) VALUES "
    strQ = strQ & "(" & strAID & ", '"
    strQ = strQ & strNavn & "', '"         
    strQ = strQ & strAdresse & "', '"         
    strQ = strQ & strPostnr & "', '"         
    strQ = strQ & strDistrikt & "', '"         
    strQ = strQ & strTelefon & "', '"         
    strQ = strQ & strEmail & "', '"         
    strQ = strQ & strMedlem & "', '"         
    strQ = strQ & strNumV & "', '"         
    strQ = strQ & strNumB & "')"   
    Set objRS = objConn.Execute(strQ)
  End Sub

  Sub SendMail
    Set Mailer = Server.CreateObject("SMTPsvg.Mailer")
    Set Mailer = Server.CreateObject("SMTPsvg.Mailer")
    Mailer.RemoteHost = "mail.langeskovborgerforening.dk"
    Mailer.FromName = "Langeskov borgerforening"
    Mailer.FromAddress = "post@langeskovborgerforening.dk"
    Mailer.AddRecipient strNavn, strEMail
    Mailer.Subject = "Arrangement tilmelding"
    Mailer.BodyText = strNavn & VBCRLF & strFirma & VBCRLF & strTelefon & VBCRLF & strEMail  & VBCRLF & strSvarTekst
    Mailer.SendMail
    Response.Write Mailer.BodyTekst
End Sub
 
  ConnectDB
  GetArrangement
  strArrangement = arrRS("Arrangement")
  strSvarTekst  = arrRS("Svar")
  SaveTilmelding
  'SendMail
%>
<html>
<head>
<title>Langeskovborgerforening</title>
</head>

<body bgcolor="#0099ff">
<table width="100%" height="100%" border="0">
  <tr>
    <td align="center" valign="top">
        <!-- #include file="includes\top.inc" -->
        <table width="800" cellpadding="0" cellspacing="0" bgcolor="#0099ff">
        <tr>
          <td width="155" align="center" valign="top"></td>
          <td width="645" align="center" valign="top" height="500">
              <table width="600" border="0">
              <tr>
                <td align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Tak for
                  din tilmelding til <% Response.Write strArrangement %> <br>
                  <br>
                  <% Response.Write strSvarTekst %></font></td>
              </tr>
            </table>
            <br>

          </td>
        </tr>
        </table>
    </td>
  </tr>
</table>
</body>
</html>
Avatar billede softspot Forsker
13. marts 2009 - 12:12 #1
Kommer data fra en form der bliver sendt med metoden "post"?
I så fald skal du hente værdierne fra Request.Form i stedet for Request.QueryString...

Hvis ovenstående ikke er problemet, så prøv lige at vise koden for siden der kalder dette script.
Avatar billede fancy Mester
13. marts 2009 - 13:04 #2
ok det er dette


<% @LANGUAGE = VBScript %>
<%
  Option Explicit
  Response.Expires=0

  Dim objConn, objRS, strQ
  Dim strConnection
  Dim i, strAID

  If Request.ServerVariables("QUERY_STRING")<> "" then
    strAID  = Trim(Request.QueryString("AID"))
  End If
 
%>
    <!-- #include file="Includes\ConnectDB.inc" -->
<%

  Sub GetArrangement
    strQ = "SELECT * FROM lbArrangement WHERE AID = " & strAID
    Set objRS = objConn.Execute(strQ)   
  end Sub
 
  ConnectDB
  GetArrangement
%>
<html>
<head>
<title>Langeskovborgerforening</title>
</head>

<body bgcolor="#0099ff">
<table width="100%" height="100%" border="0">
  <tr>
    <td align="center" valign="top">
        <!-- #include file="includes\top.inc" -->
        <table width="800" cellpadding="0" cellspacing="0" bgcolor="#0099ff">
        <tr>
          <td width="155" align="center" valign="top"></td>
          <td width="645" align="center" valign="top" height="500">
              <table width="600" border="0">
              <tr>
                <td bgcolor="#0099ff"><% Response.Write "<font size='2' face='Verdana' color='#0099ff'><b>Tilmelding til " & objRS("Arrangement") & "</b></font>" %></td>
              </tr>
            </table>
            <br>
            <form action="savetilmelding.asp" method="get">
            <input type="hidden" name="AID" value="<% Response.Write strAID %>">
            <table width="500" border="0">
              <tr>
                <td width="136"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Navn</font></td>
                <td width="454"><input name="Navn" type="text" id="Navn" size="50" maxlength="100"></td>
              </tr>
              <tr>
                <td width="136"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Adresse</font></td>
                <td width="454"><input name="Adresse" type="text" id="Adresse" size="50" maxlength="100"></td>
              </tr>
              <tr>
                <td width="136"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Postnr.</font></td>
                <td width="454"><input name="Postnr" type="text" id="Postnr" size="6" maxlength="4"></td>
              </tr>
              <tr>
                <td width="136"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">By</font></td>
                <td width="454"><input name="Distrikt" type="text" id="Distrikt" size="50" maxlength="100"></td>
              </tr>
              <tr>
                <td width="136"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Telefon</font></td>
                <td width="454"><input name="Telefon" type="text" id="Telefon" size="20" maxlength="15"></td>
              </tr>
              <tr>
                <td width="136"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">E-mail</font></td>
                <td width="454"><input name="Email" type="text" id="Email" size="50" maxlength="100"></td>
              </tr>
              <tr>
                <td width="136"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Antal
                  voksne </font></td>
                <td width="454"><input name="NumV" type="text" id="NumV" size="6" maxlength="4"></td>
              </tr>
              <tr>
                <td width="136"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Antal
                  b&oslash;rn </font></td>
                <td width="454"><input name="NumB" type="text" id="NumB" size="6" maxlength="4"></td>
              </tr>
              <tr>
                  <td width="136">&nbsp;</td>
                  <td width="454"><input name="Medlem" type="checkbox" id="Medlem" value="1" checked><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Jeg/vi er medlem af langeskovborgerforening</font></td>
              </tr>             
              <tr>
                  <td width="136"><input name="Ok" type="submit" id="Ok" value="Tilmeld"></td>  <td width="454">&nbsp;</td>
              </tr>
            </table>
            </form>
          </td>
        </tr>
        </table>
    </td>
  </tr>
</table>
</body>
</html>
Avatar billede softspot Forsker
13. marts 2009 - 13:17 #3
OK, det ser ikke ud til at din formular indeholder så meget data, at du løber ind i problemer med at sende den via get. D

er er en begrænsning i hvormeget data du kan sende i url'en (jeg mener den ligger omkring 400 tegn), så det anbefales, at du sender formularen med method="post" i stedet og så aflæser oplysningerne i request.form i stedet for request.querystring.

Anyway! Siden det nok ikke er det der er problemet, har jeg kigget lidt mere på koden og jeg antager at den udkommentering du har lavet af SendMail ikke har noget med den manglende afsendelse af gøre... vel?

Udpluk af din kode:

.
.
.
  strSvarTekst  = arrRS("Svar")
  SaveTilmelding
  'SendMail
%>
<html>
.
.
.
Avatar billede fancy Mester
13. marts 2009 - 13:28 #4
Du mener om der står noget i db svartekst ,det gør der den vil bare ikke sende til nogert som helst til den email som brugeren har
Avatar billede softspot Forsker
13. marts 2009 - 14:24 #5
Næh, det er ikke det jeg mener. Jeg mener:

Du har sat en apostrof foran kaldet til SendMail og dermed sat den ud af funktion, så du skal lige bekræfte overfor mig at SendMail rent faktisk bliver kaldt.
Avatar billede fancy Mester
13. marts 2009 - 15:02 #6
Det havde jeg ikke set men hvis jeg fjerne den vil den ikke vidre den siger at den ikke kan vise siden
Avatar billede softspot Forsker
13. marts 2009 - 17:07 #7
Det kan skyldes flere ting, hvor nogle af dem kunne være:

* komponenten er ikke installeret på din server
* modtager e-mailadressen findes ikke eller er ugyldig
* smtp-serveren er ugyldig eller utilgængelig
* diverse objektfejl som relateres til brugen af objektet
* osv...

Du er derfor nød til lige at give lidt mere information om hvilken fejl du specifikt får. Du kan evt. indføre lidt fejlhåndtering i rutinen SendMail og udskrive de fejloplysninger som rutinen giver. Eksempelvis:

  Sub SendMail
    on error resume next
    Set Mailer = Server.CreateObject("SMTPsvg.Mailer")
    showerror "Create"
    Mailer.RemoteHost = "mail.langeskovborgerforening.dk"
    showerror "Remotehost"
    Mailer.FromName = "Langeskov borgerforening"
    showerror "FromName"
    Mailer.FromAddress = "post@langeskovborgerforening.dk"
    showerror "FromAddress"
    Mailer.AddRecipient strNavn, strEMail
    showerror "AddRecipient"
    Mailer.Subject = "Arrangement tilmelding"
    showerror "Subject"
    Mailer.BodyText = strNavn & VBCRLF & strFirma & VBCRLF & strTelefon & VBCRLF & strEMail  & VBCRLF & strSvarTekst
    showerror "BodyText"
    Mailer.SendMail
    showerror "SendMail"
    Response.Write Mailer.BodyTekst
    on error goto 0
  End Sub

  sub showerror(txt)
    if err.number <> 0 then
      response.write txt & ": " & err.number & " / " & err.Description
      err.clear
    end if
  end if

Når du så har kørt denne kode, kan du jo poste de beskeder som siden viser her i tråden. Det er lettere at fejlfinde, hvis man har noget at gå efter :-)
Avatar billede fancy Mester
13. marts 2009 - 18:32 #8
BodyText: 500 / Variable is undefined

denne fejl kommer nu
Avatar billede softspot Forsker
13. marts 2009 - 21:02 #9
Jamen, så vil jeg da gætte på at det er fordi du mangler at erklære vaeiablen strFirma!
Avatar billede fancy Mester
14. marts 2009 - 00:23 #10
hmmm det er rigtigt men nu kommer der ikke flere fejl men den sender ingen mail
Avatar billede fancy Mester
18. marts 2009 - 18:22 #11
Jeg har srevet det i php det virker det fint

så smid et svar

og tak for tipsne
Avatar billede fancy Mester
21. august 2009 - 10:58 #12
tak for deltagelse
Avatar billede softspot Forsker
21. august 2009 - 11:46 #13
Velbekomme :-)
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