FAQ |
Kalender |
![]() |
#1 | ||
|
|||
Nykomling
|
Håller på med en föreningssida där jag bl.a. skall kunna göra medlemsansökan via ett formulär.
Har skapat ett formulär som börjar så här: <form method=post action="mailto:[email protected]?subject=Medlem sansökan till föreningen" enctype="text/plain" name="emailform" onSubmit="return checkFields()"> efter alla formulärfält kommer <pre><input type=submit value="Skicka ansökan!"></pre> När jag provar i IE7 så skickas mitt formulär efter att jag kvitterat i två rutor. När jag provar i FF3 så öppnas ett e-postfönster, alla info finns där och jag får trycka på skicka. När jag provar i Opera 9 så öppnas ett e-postfönster med adress och ämnesrad ifyllt, i övrigt tomt. Detta sista händer även med IE (troligen6) har jag fått veta. Har inte kunat kolla med fler webläsare Vad är fel? Finns det någon bättre lösning för att skapa ett formulär för, som i det här fallet, göra en medlemsansökan på hemsidan? |
||
![]() |
![]() |
![]() |
#2 | |||
|
||||
Mycket flitig postare
|
Använd php och mail() ?
Bara bökigt med sidor som använder mailto: |
|||
![]() |
![]() |
![]() |
#3 | |||
|
||||
Klarade millennium-buggen
|
Det är bäst att undvika mailto: som gsoc skriver. Genom att använda ett PHP- eller ASP mailscript så kan du låta besökarna skicka mail via din server för utgående e-post (SMTP-server).
Använder du mailto: så krävs det att besökarna har angett ett mailprogram (t.ex Outlook) som standard i sin webbläsare. Samt har ett e-postkonto och serverinställningar registrerade i programmet. De besökare som använder Hotmail och Gmail etc har sällan konfiguerat sin Outlook. Anledningen till att det funkar för dig i IE7 är kanske att du just har angett ett standardmailprogram i den webbläsaren. |
|||
![]() |
![]() |
![]() |
#4 | ||
|
|||
Nykomling
|
Skall snarast skrota mailto-varianten!
Tips på lämpligt script mottages tacksamt. Det finns ju "hur mycket som helst" när man söker på Google. Hemsidan bor på one.com så jag kan använda ASP - PHP5 - MySQL för detta. |
||
![]() |
![]() |
![]() |
#5 | ||
|
|||
Klarade millennium-buggen
|
kolla hos one.com om de har exempelfunktionalitet
|
||
![]() |
![]() |
![]() |
#6 | ||
|
|||
Nykomling
|
Där finns ngt som heter: "FormMail.pl"
Förmodar att det använder det webhotellets SMTP-server, hittar inget mailto i scriptet? I så fall testar jag att bygga vidare på det. |
||
![]() |
![]() |
![]() |
#7 | |||
|
||||
Klarade millennium-buggen
|
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> 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 %> |
|||
![]() |
![]() |
![]() |
#8 | ||
|
|||
Nykomling
|
Tack så mycket!
Skall testa detta. |
||
![]() |
![]() |
![]() |
#9 | |||
|
||||
Klarade millennium-buggen
|
Gör det! Om du stöter på problem så är det bara att fråga här i tråden.
|
|||
![]() |
![]() |
![]() |
#10 | ||
|
|||
Nykomling
|
Jag får det inte att fungera. Svaret är enkelt: One.com har inte stöd för JMAIL.
Fick förslaget att använda CDONTS. Ingen aning vad det är men det får kollas imorgon. |
||
![]() |
![]() |
Svara |
|
|