At sende mails ved hjælp af ASP er relativt nemt.
Der findes mange måder at gøre det på, og mange forskellige programmer på serveren til at gøre det med.
Mit eksempel tager udgangspunkt i JMail, som er på mange danske udbyderes mail-hoteller. Andre "plugins" bruger lidt forskellige navne, men er dybest set det samme. Det burde være relativt nemt at finde et eksempel på dette fra udbyderens hjemmeside.
Nedenstående eksempel vil med meget små modifikationer virke for dig. Jeg vil gennemgå det punkt for punkt nedenunder:
<head><title>Spørgeskema</title></head>
<body>
<%if request.querystring("send") = "" then
'Spørgeskemaet udskrives
%>
<h3>Udfyld venligst dette spørgeskema:</h3><br>
<br>
<form action="test.asp?send=ja" method="post">
Hvad synes du om sidens design?<br>
<input name="design" type="radio" value="Genialt"> Genialt<br>
<input name="design" type="radio" value="Godt"> Godt<br>
<input name="design" type="radio" value="Middel" CHECKED> Middel<br>
<input name="design" type="radio" value="Grimt"> Grimt<br>
<br>
Skriv lidt om hvad du generelt synes om sidens indhold:<br>
<textarea name="indhold" cols="50" rows="10"></textarea><br>
<br>
Indtast din email adresse så vi kan kontakte dig senere:<br>
<input type="text" name="email"><br>
<br>
<input type="submit" value="Indsend Besvarelse">
</form>
<%else
'svaret sendes
design = request.form("design")
indhold = request.form("indhold")
email = request.form("email")
body = email&" har netop besvaret spørgeskemaet."&VbCrLf&"Personen omtaler designet som "&design&"."&VbCrLf&""&VbCrLf&"Om indholdet blev skrevet:"&VbCrLf&indhold
set JMail = server.createobject("JMail.SMTPMail")
JMail.serveraddress = "mail.dinudbyder.dk" 'dette er din udbyders mail hotel. Kontakt dem for adressen.
JMail.sender = email
JMail.subject = "Besvarelse på Spørgeskema"
JMail.AddRecipient "dig@dinudbyder.dk" 'dette er din egen emailadresse
JMail.ContentType = "text/plain"
JMail.body = body
JMail.execute
response.write("Tak for din besvarelse.")
end if%>
</body>
Hvis du selv vil prøve ovenstående, skal filen gemmes som skema.asp, i et katalog på dit webhotel som understøtter ASP.
I linien med:
tjekker vi om det der står i din "querystring" er tomt. Querystringen er det som står efter ? i en hjemmesides adresse. Hvis "send" i querystringen er tom, går vi videre efter den IF-sætning. Hvis ikke går vi ned til else.
Linien:
er ret vigtigt i forbindelse med forms. En form er når en bruger sender data direkte til selve serveren.
I den linie siger vi at der skal sendes til siden "skema.asp" (som er den side brugeren allerede er på), og at attributten "send" i din querystring skal sættes til "ja."
Method="post" fortæller browseren hvordan data skal sendes. Det forklares nærmere om lidt.
Linierne:
<input name="design" type="radio" value="Genialt"> Genialt<br>
<input name="design" type="radio" value="Godt"> Godt<br>
<input name="design" type="radio" value="Middel" CHECKED> Middel<br>
<input name="design" type="radio" value="Grimt"> Grimt<br>
giver brugeren mulighed for at vælge mellem 4 forskellige meninger om designet. Da de alle har samme navn fortæller det browseren at der skal vælges én og kun én af de muligheder. Ved middel står der "CHECKED" hvilket betyder at det er den der er valgt til at starte med.
Til sidst i formen er der:
hvilket er den knap som brugere trykker på. Når der bliver trykket sendes de data som brugere har indtastet videre til serveren.
Efter linien:
står koden som opretter og sender mailen. Den kode aktiveres først når brugeren har valgt at indsende spørgeskemaet.
Linierne:
indhold = request.form("indhold")
email = request.form("email")
sætter først variablen "design" til at være lig med indholdet af den "design" som brugeren sendte. Vi bruger request.form() eftersom vi da vi oprettede formen brugte method="post".
Vi har mu indholdet af de 3 inputs som brugeren lavede, i 3 forskellige variable.
Ovenstående opretter selve mailen. VbCrLf er et linieskift. I HTML ville det have været <br>, men når man taler om mails er det VbCrLf.
I den linie fortæller vi at der skal oprettes et objekt af typen JMail.SMTPMail. Dette er fordi vi valgte at bruge JMAIL komponenten.
Følgende linie er ret vigtig:
her fortæller vi hvilken mail-server som skal bruges til at sende mailen. Dette vil ofte være mail.dinudbyder.dk, men kan dog være andet. Hvis mail.dinudbyder.dk ikke virker må du kigge lidt på din udbyders hjemmeside, og se hvad de skriver du skal bruge.
siger simpelt hen hvem der sendte emailen. Her skriver vi at det er emailen som brugeren tastede ind, som vi bruger som afsender. Dette kunne have være din egen email, for eksempel:
JMail.sender = "mig@min.dk"
eller lignende.
er emnet på mailen.
bestemmer HVEM mailen skal sendes til. Hvis den skal sendes til flere personer kopierer du bare linien flere gange:
JMail.AddRecipient "mig@minudbyder.dk"
og den bliver sendt til begge to.
betyder at det er en tekst-email du sender. Dette kunne have været HTML, men simple emails bruger denne simple metode.
i ovenstående linie fortæller vi hvilken variabel der skal bruges som "brød-teksten" i dit brev. Brevets body.
Vi slutter af med:
som afsender mailen. Først når den linie bliver kørt, afsendes din email.
Med det afslutter eksemplet, og artiklen, om afsendelse af emails i ASP.
Med de simple metoder kan der laves meget avancerede programmer, som sender emails på brugerens anmodning.


