Här är ett ASP-script jag tycker funkar bra. Det kräver inte speciellt mycket ASP-kunskaper, det är mest bara att fylla i rätt uppgifter för mailserver etc. Själva formuläret kan behöva snyggas till lite.
formular.asp
Kod:
<form method="post" action="skicka.asp">
<table border="0" align="center" id="text">
<tr>
<td colspan="2"><font size="2" face="Verdana"><b><font size="1"></font></b></font></td>
</tr>
<%
IF Len(Session("kontakta_mig")) <> 0 then
If Len(Session("falt")) <> 0 then
uppg = Split(Session("falt"),"$|$")
mess = uppg(0)
namn = uppg(2)
epost = uppg(1)
hemsida = uppg(3)
Session("falt") = ""
End If
felet = Session("kontakta_mig")
Session("kontakta_mig") = ""
End If
IF len(felet) <> 0 then
%>
<tr>
<td colspan="2">
<%
Response.Write "<i><font face='verdana' size='1'>" & felet & "</font></i>"
%>
</td>
</tr>
<%
END IF%>
<tr>
<td colspan="2">Meddelande:<font color="#FF0000">*</font></td>
</tr>
<tr>
<td colspan="2"><textarea name="meddelande" rows="8" cols="58" style="font-family: verdana; background: #C8C8C8; font-size: 10px; border: #000000 1px solid"><%=mess%></textarea></td>
</tr>
<tr>
<td>Ditt namn: <font color="#FF0000">*</font></td>
<td><input type="text" size="35" name="namn" value="<%=namn%>" style="font-family: verdana; background: #C8C8C8; font-size: 10px; border: #000000 1px solid"></td>
</tr>
<tr>
<td>E-Mail: <font color="#FF0000">*</font></td>
<td><input type="text" size="35" name="epost" value="<%=epost%>" style="font-family: verdana; background: #C8C8C8; font-size: 10px; border: #000000 1px solid"></td>
</tr>
<tr>
<td>Hemsida: </td>
<td><input type="text" size="35" name="hemsida" value="<%=hemsida%>" style="font-family: verdana; background: #C8C8C8; font-size: 10px; border: #000000 1px solid"></td>
</tr>
<tr>
<td>Spamskydd: <font color="#FF0000">*</font></td>
<td><input type="checkbox" value="haha" name="skydd" style="height: 10px; width: 10px;"> <font size="1" face="Verdana">(kryssa i rutan)</font></td>
</tr>
<tr>
<td></td>
<td> <input type="submit" name="submit" value="Skicka" style="font-family: verdana; font-size: 10px; border: #000000 1px solid">
</td>
</tr>
</table>
</form>
skicka.asp
Kod:
<%
' På denna sida finns koden som gör att dina besökares meddelanden skickas till din e-post adress.
' Det är därför viktigt att du anger korrekta uppgifter nedan.
Dim formularsida, mottagare_namn, mottagare_epost, rubrik, mailserver
formularsida = "formular.asp" ' Ändra här om du bytt namn på sidan med formuläret
mottagare_namn = "Webmaster" ' Här anger du namnet på den mailen skall skickas till
mottagare_epost = "[email protected]" ' Här anger du till vilken mailadress allt skall skickas
rubrik = "Mail från hemsidan" ' Ändra här om du vill ha annan rubrik på alla mail som skickas
mailserver = "smtp.xxxxxxxxx.xxxxx ' VIKTIGT! Ändra denna till din e-post adress SMTP server!
'(SMTP-server = Server för utgående mail)
'=================================================================================================
'OBSERVERA!
'Här nedan finns kod som gör att meddelandet skickas och skall fungera helt felfritt, det brukar
'vara fel på mailservern, eller e-post adressen som orsakar fel. Så PILLA INTE i nedanstående kod
'om du inte har goda kunskaper om ASP och vet vad du gör!
'=================================================================================================
'Här hämtas informationen och läggs i variabler.
Dim Meddelande, epost, namn, hemsida, innehall, sida
Meddelande = Request.Form("meddelande")
epost = Request.Form("epost")
namn = Request.Form("namn")
hemsida = Request.Form("hemsida")
skydd = Request.Form("skydd")
innehall = meddelande & "$|$" & epost & "$|$" & namn & "$|$" & hemsida
sida = formularsida
'Här kontrolleras fälten så att alla obligatoriska fält är ifyllda
IF Not Len(Meddelande) <> 0 then
session("falt") = innehall
Session("kontakta_mig") = "Du glömde att skriva in ett meddelande"
Response.Redirect sida
ELSEIF Not Len(namn) <> 0 then
session("falt") = innehall
Session("kontakta_mig") = "Du glömde att fylla i ditt namn"
Response.Redirect sida
ELSEIF Not Len(epost) <> 0 then
session("falt") = innehall
Session("kontakta_mig") = "Du glömde att fylla i din e-post adress"
Response.Redirect sida
ELSEIF Not Len(skydd) <> 0 then
session("falt") = innehall
Session("kontakta_mig") = "Du glömde att fylla i spamskyddet"
Response.Redirect sida
END IF
'Här kontrolleras spamskyddet
IF Instr(skydd,"haha") Then
' inget
ELSE
session("falt") = innehall
Session("kontakta_mig") = "Du har inte skrivit rätt i spamskyddsfältet"
Response.Redirect sida
END IF
'Här kontrolleras e-post adressen
IF Instr(epost,"@") Then
' inget
ELSE
session("falt") = innehall
Session("kontakta_mig") = "Du har angett en felaktig e-post adress"
Response.Redirect sida
END IF
IF Instr(epost,".") Then
' inget
ELSE
session("falt") = innehall
Session("kontakta_mig") = "Du har angett en felaktig e-post adress"
Response.Redirect sida
END IF
' Här ändras hemsideadressen så att den alltid inleds med http://
IF Len(hemsida) <> 0 Then
IF Left(hemsida,7) = "http://" Then
webb = Lcase(hemsida)
ELSE
webb = "http://" & Lcase(hemsida)
END IF
END IF
'=================================================================================================
' Här börjar själva jmailandet. Ändra inte nedanstående kod, om du inte har goda kunskaper om ASP
' JMAIL-komponentens funktioner. Det är väldigt ovanligt att fel uppstår i nedanstående kod. Om
' Fel uppstår på raden precis nedanför denna kommentar så brukar det bero på att servern INTE HAR
' STÖD FÖR JMAIL.
'=================================================================================================
Set mailare = Server.CreateObject("JMail.Message")
mailare.AddRecipient ""&mottagare_epost&"", ""&mottagare_namn&""
mailare.From = ""&epost&""
mailare.FromName = ""&namn&""
mailare.Subject = ""&rubrik&""
mailare.AppendHTML "<font face='verdana' size='1'>" & Replace(Server.HTMLEncode(Meddelande),vbCrlf,"<br>") &_
"<br><br><br>------------------------------------------<br><b>Skickades:</b> " & Now & "<br><b>Namn: </b> "&_
namn & "<br><b>E-mail: </b> " & epost & "<br>"
If Len(hemsida) <> 0 then
mailare.AppendHTML "<b>Hemsida: </b><a href=" & webb & ">" & webb & "</a><br>"
End If
mailare.AppendHTML "------------------------------------------<br></font>"
mailare.Send(""&mailserver&"")
mailare.Close
Set mailare = nothing
Session("kontakta_mig") = "Meddelandet är nu skickat!"
Response.Redirect sida
%>