Formular til asp-formmail - cdosys

Siden er opdateret 2. 10. 2005

På denne side viser jeg et asp-script, der fungerer med mail-komponenten cdosys. Desværre understøtter Hjemmesideskolens serverhotel ikke denne funktion, så jeg kan ikke vise scriptet i praksis. Jeg må beklageligvis nøjes med at erklære, at når jeg kører scriptet fra min egen lokalt installerede server (IIS), virker det upåklageligt.

Vær opmærksom på, at du ikke kan bruge dette script, med mindre dit webhotel understøtter mail-komponenten cdosys.

Da jeg ikke kan demonstrere funktionen, har jeg valgt ikke at vise formularen på denne side. Den er dog vist i kode længere nede på siden.

Selve formularen er ikke helt fri for hokuspokus, der ligger lidt asp-kode i action-parameteren. Det vender vi tilbage til om lidt.

Scriptet til behandling af de indtastede data ligger i samme dokument, som formularen. Øverst i dokumentet - over DTD - indsættes denne kode:

<% @LANGUAGE = VBScript %>
<% Option Explicit %>

Øverst i sidens body indsættes derefter dette script:

<%
Dim strName, strEmail, strQuery, strSubj
strName = Trim(Request.Form("ClientName"))
strEmail = Trim(Request.Form("ClientEmail"))
strSubj = Trim(Request.Form("ClientEmne"))
strQuery = Trim(Request.Form("ClientQry"))

If (strName <> "" And strEmail <> "" And strSubj <> "" And strQuery <> "") Then
  Dim objMail, aRecipients
  Set objMail = Server.CreateObject("CDO.Message")

  objMail.From = strName & " <" & strEmail & ">"
  objMail.To = strEmail
  objMail.Subject = strSubj
  aRecipients = Array("navn@domæne.dk")

  objMail.BCC = Join(aRecipients, ";")
  objMail.TextBody = strQuery
  objMail.Send

   echo $"<h1>Mail afsendt</h1>"
   echo $"<p>Tak for din henvendelse. Jeg vender tilbage så hurtigt som muligt.</p>"

  Set objMail = Nothing
Else
%>

Derefter indsættes formularen. Læg mærke til asp-koden i første linje - filnavnet i parentesen skal svare til navnet på den fil, formularen ligger i:

<form action="<%=Request.ServerVariables("aspmail.asp")%>" method=post>
<fieldset>
<legend>Husk at udfylde alle felter</legend>
<label for="t1">Navn:</label>
<input id="t1" type=text name="ClientName" value="" size=40><br />
<label for="t2">Email:</label>
<input id="t2" type=text name="ClientEmail" value="" size=40><br />
<label for="t3">Emne:</label>
<input id="t3" type=text name="ClientEmne" value="" size=40><br />
<label for="t4">Besked:</label>
<textarea id="t4" name="ClientQry" cols=40 rows=10></textarea><br />
<label for="t5">&nbsp;</label>
<input id="t3" type="Submit" value="Send" />
<input type="reset" value="Slet">
</fieldset>
</form>

Efter formularen indsættes denne lille stump asp-kode:

<% End If %>

^ Tilbage til sidens top

Valid XHTML og CSS / Copyright © Hjemmesideskolen januar 2004
Hjemmesideskolen
Du er her: Forsiden - scripts - Formular til asp-formmail
Brugere lige nu: 1
Home Mail