Formular til asp-formmail - cdonts

Siden er opdateret 13. 12. 2009

På denne side viser jeg et asp-script, der fungerer med mail-komponenten CDonts. 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) på en Win2000, virker det upåklageligt - på en anden IIS på WinXP virker det derimod ikke, jeg vil undersøge sagen og kommer om muligt med en opdatering.

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

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("CDONTS.NewMail")

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

  objMail.BCC = Join(aRecipients, ";")
  objMail.Body = strQuery
  'den næste linje er nødvendig, hvis one.com er din host. Hvis ikke, sletter du linjen:
  objMail.Host = "mailout.one.com"
  'herefter er koden igen fælles for alle servere med cdonts.
  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
%>

Læg mærke til de ord, der står i parentes i den første kodeblok - de skal svare til værdien i name i inputfelterne i formularen herunder.

Derefter indsættes formularen. Læg her 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