Visa ett inlägg
Oläst 2009-01-17, 21:02 #7
kw_wasabis avatar
kw_wasabi kw_wasabi är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Feb 2008
Inlägg: 2 134
kw_wasabi kw_wasabi är inte uppkopplad
Klarade millennium-buggen
kw_wasabis avatar
 
Reg.datum: Feb 2008
Inlägg: 2 134
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
%>
kw_wasabi är inte uppkopplad   Svara med citatSvara med citat