18. december 2009 - 17:35Der er
39 kommentarer og 1 løsning
Formmail i ASP
Hej.
Jeg har lavet en hjemmeside til Ringsted Tennisklub.
Den skal også have nogen formmails.
Jeg ved hvordan man gør i php, men da serveren som vi har hos dandomain, ikke understøtter php, skal det være asp, hvilket jeg ikke har styr på.
Er der nogen der kan hjælpe med at lave en formmail i asp.
Serveren er en WindowsNT server, som ligger hos dandomain.
Hvis i vil skære det lidt ud i pap. Altså sige hvilke kode der skal ligge hvor, hvis der fx skal være noget i .html siden, og der så er en anden side med asp. eller det hele laves i asp eller hvordan.
Hvis det er denne http://www.dandomain.dk/support/scripts/formmail.html du mener, har jeg prøvet, men kan ikke få det til at virke, da den ikke sender nogen oplysninger med i de mail man sender. Jeg har prøvet deres simple kode som man kan få, som virker fint, men når jeg prøver den avancerede, virker den ikke.
Jeg har også kontaktet deres support, som ikke kunne hjælpe med at fortælle mig hvorfor det ikke virkede.
Så hvis du vil lave et script til mig vil jeg blive utrolig glad. Dog skal det være et hvor jeg selv kan rette. Det skal bruges til en forenings hjemmeside, hvor der skal bruges både checkbox på nogen sider, og andre skal der kun være textfields.
<div id="middle_stor"> <h2>Kontakt</h2> <p>Har du ris / ros til hjemmesiden, kontakt webmasteren</p> <form method="get" action="sender.asp"> <fieldset> <legend>Husk at udfylde alle felter</legend>
<% //'tjek, at der ikke er skrevet i det fobudte felt Message = Request("important") If Not Len(Message) = 0 Then //'Der er blevet skrevet i Message, bloker indlægget Response.Redirect "blokeret.asp" End If
if not Mailer.SendMail then echo $"Meddelelsen kunne ikke sendes... Fejlen er: <br /> " echo $Mailer.Response else
echo $"<p>Følgende er blevet indtastet</p><p>Emne: " & Request("emne") & "<br />Navn: " & Request("navn") & "<br />Email: " & Request("mail") & "<br />Besked: " & Request("besked") & "</p><p>Tak for din henvendelse. Jeg vender tilbage så hurtigt som muligt.</p>" end if %>
du har det skjulte felt 'important' uden data, og så kører koden med Message = Request("important") If Not Len(Message) = 0 Then dvs hvis der ikke står noget (og bruger kan ikke indtaste noget) så fejl.
så er der lidt kode, der ikke ligner asp meget if not Mailer.SendMail then echo $"Meddelelsen kunne ikke sendes... Fejlen er: <br /> " echo $Mailer.Response else
echo $"<p>Følgende er blevet indtastet</p><p>Emne: " & Request("emne") & "<br />Navn: " & Request("navn") & "<br />Email: " & Request("mail") & "<br />Besked: " & Request("besked") & "</p><p>Tak for din henvendelse. Jeg vender tilbage så hurtigt som muligt.</p>" end if %>
der ville jeg bruge if not Mailer.SendMail then response.write "Meddelelsen kunne ikke sendes... Fejlen er: <br />" response.write Mailer.Response else response.write "<p>Følgende er blevet indtastet</p><p>Emne: " & Request("emne") & "<br />Navn: " & Request("navn") & "<br />Email: " & Request("mail") & "<br />Besked: " & Request("besked") & "</p><p>Tak for din henvendelse. Jeg vender tilbage så hurtigt som muligt.</p>" end if %>
Nu er det jul, så jeg er tidligst tilbage 25/12 efter middag.
okay... jeg har skrevet det ind du har skrevet, og slettet
//'tjek, at der ikke er skrevet i det fobudte felt Message = Request("important") If Not Len(Message) = 0 Then //'Der er blevet skrevet i Message, bloker indlægget Response.Redirect "blokeret.asp" End If
hvilket ikke gav noget resultat.
Jeg vil gerne have din hjælp, og venter gerne til den 25. Dog er jeg ikke så meget hjemme de næste dage, og er slet ikke hjemme fra 28-30, så der svarer jeg ikk. men hvis du vil kikke på det alligevel, vil jeg blive meget glad, da vi skal have det op at kører.
if not Mailer.SendMail then Response.Write "Email blev ikke sendt... Fejlen er: <br>" Response.Write Mailer.Response else Response.Write "Email er afsendt, og jeg vil svare hurtigst muligt.<hr>" Response.Write "<p>Følgende er blevet indtastet</p><p>Emne: " & Request("emne") & "<br />Navn: " & Request("navn") & "<br />Email: " & Request("mail") & "<br />Besked: " & Request("besked") & "</p>" end if %>
i Head skal du have linjen <META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=ISO-8859-1"> den sikrer, at tegnsættet er dansk. Linjen skal være på alle sider.
if not Mailer.SendMail then Response.Write "Email blev ikke sendt... Fejlen er: <br>" Response.Write Mailer.Response else Response.Write "Emailen er afsendt, og vil blive besvaret hurtigst muligt.<hr>" Response.Write "<p>Følgende er blevet indtastet</p><p>Emne: " & Request("emne") & "<br />Navn: " & Request("navn") & "<br />Email: " & Request("mail") & "<br />Tilmeld: " & Request("tilmeld") & "<br />Afmeld: " & Request("afmeld") & "</p>" end if %>
ret if Request("tilmeld") = "on" then end if if Request("afmeld") = "on" then end if
(som ikke laver en tekst) til:
if Request("tilmeld") = "on" then Mailer.BodyText = "Jeg skal tilmeldes." end if if Request("afmeld") = "on" then Mailer.BodyText = "Jeg vil frameldes." end if
Jeg har en side som har rigtig mange checkboxe på en side (Den der hedder vintertennis) Jeg støder nok på et problem, når jeg når dertil. Håber du også vil hjælpe med det.
hvis man kun må købe en tid, så ville jeg skifte fra checkbox til radioknapper - der fravælger den andet valg når man klikker et sted. Hvis du så sætter value i feltet til "ma07" for den første, så ved du, at Mandag, kl 07-08 er valgt. Du skal derfor bare sende feltets value ind med navn og nummer. du laver dem med samme navn - ellers virker auto-markeringen ikke <input type="radio" name="tid" value="ma07"> <input type="radio" name="tid" value="ma08"> <input type="radio" name="tid" value="ma09"> <input type="radio" name="tid" value="ma10"> og så er det bare en gang: Mailer.BodyText = "Jeg bestiller tiden " & request("tid") & "<br>" Mailer.BodyText = Mailer.BodyText & request("navn") & "<br>" Mailer.BodyText = Mailer.BodyText & request("nummer") & "<br>"
if not Mailer.SendMail then Response.Write "Email blev ikke sendt... Fejlen er: <br>" Response.Write Mailer.Response else Response.Write "Emailen er afsendt, og vil blive besvaret hurtigst muligt.<hr>" Response.Write "<p>Følgende er blevet indtastet</p><p>Emne: " & Request("emne") & "<br />Navn: " & Request("navn") & "<br />Medlemsnummer: " & Request("nummer") & "</p>" end if %>
du har en modtager, men skal også have en afsender. Bare tilføj Mailer.FromName = "Website mail" Mailer.FromAddress = "webmaster@ringstedtennisklub.dk" så kan du altid lave en regel i outlook/thunderbird, så mails fra "Website mail" kommer i en mappe for sig.
hvis "<br>" ikke giver linjeskift i den mail du får, så ret den til msg = "Jeg bestiller tiden " & request("tid") & vbcrlf msg = msg & request("navn") & vbcrlf msg = msg & request("nummer") & vbcrlf Mailer.BodyText = msg
stykket: if not Mailer.SendMail then Response.Write "Email blev ikke sendt... Fejlen er: <br>" Response.Write Mailer.Response else Response.Write "Emailen er afsendt, og vil blive besvaret hurtigst muligt.<hr>" Response.Write "<p>Følgende er blevet indtastet</p><p>Emne: " & Request("emne") & "<br />Navn: " & Request("navn") & "<br />Medlemsnummer: " & Request("nummer") & "</p>" end if
skal indeholde msg (som jo indeholder tekst + navn + nummer) if not Mailer.SendMail then Response.Write "Email blev ikke sendt... Fejlen er: <br>" Response.Write Mailer.Response else Response.Write "Emailen er afsendt, og vil blive besvaret hurtigst muligt.<hr>" Response.Write "<p>Følgende er blevet indtastet</p><p>Emne: " & Request("emne") & "<br />" & msg & "</p>" end if
hvis du brugte den opbygning med vbcrlf i stedet for "<br>", så skal den laves tilbage før den vises på siden: if not Mailer.SendMail then Response.Write "Email blev ikke sendt... Fejlen er: <br>" Response.Write Mailer.Response else Response.Write "Emailen er afsendt, og vil blive besvaret hurtigst muligt.<hr>" Response.Write "<p>Følgende er blevet indtastet</p><p>Emne: " & Request("emne") & "<br />" & replace(msg,vbcrlf,"<br>") & "</p>" end if
---- skal til gilde nu - og er nok underdrejet fredag - så hvis det ikke virker, så svarer jeg først lørdag... Godt nytår.
if not Mailer.SendMail then Response.Write "Email blev ikke sendt... Fejlen er: <br>" Response.Write Mailer.Response else Response.Write "Emailen er afsendt, og du er nu bindende tilmeldt Båstadturen.<hr>" Response.Write "<p>Følgende er blevet indtastet</p><p>Emne: " & Request("emne") & "<br />Navn: " & Request("navn") & "<br />Email: " & Request("mail") & "<br />Tlf. nummer: " & Request("tlf") & "<br />Klub: " & Request("klub") & "</p>" end if %>
det er nye sider hver gang - men så må du jo læse indenad. Her er en, hvor data skrives i email, og derefter skiftes linjeskift ud med html-kode, og vises på siden.
if not Mailer.SendMail then Response.Write "Email blev ikke sendt... Fejlen er: <br>" Response.Write Mailer.Response else Response.Write "Emailen er afsendt, og du er nu bindende tilmeldt Båstadturen.<hr>" Response.Write "<p>Følgende er blevet indtastet</p><p>" & replace(msg,vbCrLf,"<br>") & "</p>" end if %>
Ja, der er en del sider med kontaktformularer, og da jeg aldrig har arbejdet med asp, men derimod php, skal jeg lige forstå hvordan det virker. Jeg tror efterhånden jeg har fundet ud af det mest basale, men. Dog støder jeg højst sandsynligt på et problem senere, hvilket jeg håber du vil hjælpe med.
bare opret spg - og hvis nogen spørger til det, så bruger du aspmail til at sende.
Synes godt om
Ny brugerNybegynder
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.