Just nu i M3-nätverket
Gå till innehåll

Skicka från formulär till mail?


webbaccess.net

Rekommendera Poster

webbaccess.net

Hejsan alla inteligenta (för jag måste vara korkad....)

 

jag har gjort ett "kontakta" script som ser ut så här:

 

[log]<form method="POST" action="info@xxxrimshop.com">

<br>Namn:<br>

<input type="text" name="namn" size="20"><br>

E-post adress<br>

<input type="text" name="e-post"><br>

Meddelande:<br><textarea rows="6" name="S1" cols="28"></textarea><br>

<br><br>

<p><input type="submit" value="Skicka" name="B1"><input type="reset" value="Återställ" name="B2"></p>

</form>[/log]

 

är det ngn som har ngt tips?

 

MVH Peter

 

Länk till kommentar
Dela på andra webbplatser

Skicka värdena ifrån formuläret till en sida som skickar iväg mailet.

Detta förutsätter att du kan använda JMail på servern.

 

kontakta_oss.asp

<form method=[GRÅ]"POST"[/GRÅ] action=[GRÅ]"skicka_epost.asp"[/GRÅ]>
<br>Namn:<br>
<input type=[GRÅ]"text"[/GRÅ] name=[GRÅ]"namn"[/GRÅ] size=[GRÅ]"20"[/GRÅ]><br>
E-post adress<br>
<input type=[GRÅ]"text"[/GRÅ] name=[GRÅ]"epost"[/GRÅ]><br>
Meddelande:<br><textarea rows=[GRÅ]"6"[/GRÅ] name=[GRÅ]"S1"[/GRÅ] cols=[GRÅ]"28"[/GRÅ]></textarea><br>
<br><br>
<p><input type=[GRÅ]"submit"[/GRÅ] value=[GRÅ]"Skicka"[/GRÅ] name=[GRÅ]"B1"[/GRÅ]><input type=[GRÅ]"reset"[/GRÅ] value=[GRÅ]"Återställ"[/GRÅ] name=[GRÅ]"B2"[/GRÅ]></p>
</form>

 

 

skicka_epost.asp

[log]

<%

Option Explicit

 

Dim namn, epost, S1, objJmail

namn = Trim(Replace(Replace(Request.Form("namn"),VbNewLine,""),"'","''"))

epost = Trim(Replace(Replace(Request.Form("epost"),VbNewLine,""),"'","''"))

S1 = Trim(Replace(Replace(Request.Form("meddelande"),VbNewLine,""),"'","''"))

 

Set objJmail = Server.CreateObject("JMail.Message")

 

objJmail.AddRecipient "info@xxxrimshop.com"

objJmail.From = ""& epost &""

objJmail.FromName = ""& namn &""

objJmail.Body = ""& S1 &""

 

objJmail.ContentType = "text/plain"

 

objJmail.silent = True

If Not objJmail.Send ("") Then

' blir det fel

objJmail.Send = false

' Skrivs loggen

objJmail.Log

Set objJmail = Nothing

Response.Redirect "kontakta_oss.asp?skicka=tekniskt_fel"

Else

Response.Redirect "kontakta_oss.asp?skicka=klart&epost="& epost &""

End If

 

%>

[/log]

 

Det fetstilta får du ändra till vad det ska vara.

Döpte även om textrutan för epost-värdet ifrån e-post till epost.

Ett alternativ till Redirect är att lägga in sidan man ska skickas tillbaka till i en variabel och sen efter sista End If köra Redirect på variabelns värde.

 

[inlägget ändrat 2005-12-05 22:40:47 av Micke_skane]

Länk till kommentar
Dela på andra webbplatser

webbaccess.net

tack så mycket....

 

vet du möjligt vis var man kan få tag på jmail komponenten??

 

MVH Peter

 

P.S. POÄNG!!

 

Länk till kommentar
Dela på andra webbplatser

Har för mig att du kör win2k3 och då kan du ju använda CDOSYS

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/randz/protocol/cdosys.asp

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/e2k3/e2k3/_techsel_tech_1.asp

 

 

För lite kod se tex:

//eforum.idg.se/viewmsg.asp?EntriesId=765405#765541

//eforum.idg.se/viewmsg.asp?EntriesId=727105#730389

 

 

/Cluster

------------------------------------------------------------

Ditt vetande är värdelöst om inte andra vet att du vet

-----------> http://eforum.kicks-ass.net <------------

 

[inlägget ändrat 2005-12-05 23:51:13 av Cluster]

Länk till kommentar
Dela på andra webbplatser

Du kan kolla här under Free Downloads:

http://www.dimac.net

 

Kolla på ditt webbhotell ifall dem redan stöder det!

Annars kanske dem kan lägga till det...

 

Tack för "the point".

 

Lycka till!

Micke

 

Länk till kommentar
Dela på andra webbplatser

webbaccess.net

jag måste vara riktigt korkad! (som en flaska?)

 

Jag får inte rätt på det över huvud taget...

 

finns det inget annat sätt?

 

MVH Peter

 

Länk till kommentar
Dela på andra webbplatser

Får du något felmeddelande som skulle kunna hjälpa till i felsökningen?

 

 

/Cluster

------------------------------------------------------------

Ditt vetande är värdelöst om inte andra vet att du vet

-----------> http://eforum.kicks-ass.net <------------

 

Länk till kommentar
Dela på andra webbplatser

Så av "Visa egna HTTP-felmeddelanden" i Internetalternativ (se bild) så att du kan se vad servern svarar.

 

 

/Cluster

------------------------------------------------------------

Ditt vetande är värdelöst om inte andra vet att du vet

-----------> http://eforum.kicks-ass.net <------------

 

[bild bifogad 2005-12-06 17:20:57 av Cluster]

780297_thumb.jpg

Länk till kommentar
Dela på andra webbplatser

webbaccess.net

då får jag:

Microsoft VBScript compilation error [color="#006400"]'800a0400' [/color]

Expected statement 

/skicka_epost.asp, line 11 

[color="#0000ff"]Option Explicit[/color]
^

 

och rad 11 i skicka_epost.asp så finns :

[color="#0000ff"]Option Explicit[/color]

 

Länk till kommentar
Dela på andra webbplatser

Om du känner för att klistra in hela koden för skicka_epost.asp så kan jag kolla på den. Ändra sådant som kan vara känsligt (epost, domän, lösenord etc.)

Glöm inte använda LOG-knappen!

 

 

/Cluster

------------------------------------------------------------

Ditt vetande är värdelöst om inte andra vet att du vet

-----------> http://eforum.kicks-ass.net <------------

 

Länk till kommentar
Dela på andra webbplatser

webbaccess.net

[log]<html>

 

<head>

 

</head>

 

<body>

 

<%

Option Explicit

 

Dim namn, epost, S1, objJmail

namn = Trim(Replace(Replace(Request.Form("namn"),VbNewLine,""),"'",

"''"))

epost = Trim(Replace(Replace(Request.Form("epost"),VbNewLine,""),"'"

,"''"))

S1 = Trim(Replace(Replace(Request.Form("meddelande"),VbNewLine,""

),"'","''"))

 

Set objJmail = Server.CreateObject("JMail.Message")

 

objJmail.AddRecipient "info@webbaccess.net"

objJmail.From = ""& epost &""

objJmail.FromName = ""& namn &""

objJmail.Body = ""& S1 &""

 

objJmail.ContentType = "text/plain"

 

objJmail.silent = True

If Not objJmail.Send ("") Then

' blir det fel

objJmail.Send = false

' Skrivs loggen

objJmail.Log

Set objJmail = Nothing

Response.Redirect "kontakta_oss.asp?skicka=tekniskt_fel"

Else

Response.Redirect "kontakta_oss.asp?skicka=klart&epost="& epost &""

End If

 

%>

 

 

</body>

 

</html>[/log]

 

hoppas du hittar felet....

 

Länk till kommentar
Dela på andra webbplatser

hoppas du hittar felet....

Jag har ju redan hittat felet. Inget får komma före Option Explicit på sidan, inte ens html-taggar.

 

Länk till kommentar
Dela på andra webbplatser

Som Anjuna påpekar så måste Option Explicit stå först.

Om det bara är ett ASP-skript som skall köras, och inte presentera något (utan när det är klart redirekta till en annan sida) så skippas all HTML-kod med fördel.

 

Sedan kan du inte köra JMail utan att ha komponenten installerad.

Om du har den installerad så borde det inte vara några problem. Om du vill slippa den så kör CDO som jag skrev om i tidigare inlägg, där jag även länkade till lite fungerande kod.

 

 

/Cluster

------------------------------------------------------------

Ditt vetande är värdelöst om inte andra vet att du vet

-----------> http://eforum.kicks-ass.net <------------

 

[inlägget ändrat 2005-12-06 17:49:41 av Cluster]

Länk till kommentar
Dela på andra webbplatser

webbaccess.net

nu så har jag tagit bort html och det... så att det bara står <%....%> men nu är felet

namn = Trim(Replace(Replace(Request.Form("namn"),VbNewLine,""),"'",

 

kan ni hjälpa mig med det?

 

MVH Peter

 

Länk till kommentar
Dela på andra webbplatser

Anser inte att det direkt finns någon anledning att hålla på med replace för mailskriptet. Blir det fel så tas det väl omhand av JMails felhantering...

namn = [color="#0000ff"]Trim[/color]([b]Request[/b].Form([GRÅ]"namn"[/GRÅ]))
epost = [color="#0000ff"]Trim[/color]([b]Request[/b].Form([GRÅ]"epost"[/GRÅ]))
S1 = [color="#0000ff"]Trim[/color]([b]Request[/b].Form([GRÅ]"meddelande"[/GRÅ]))

 

 

/Cluster

------------------------------------------------------------

Ditt vetande är värdelöst om inte andra vet att du vet

-----------> http://eforum.kicks-ass.net <------------

 

[inlägget ändrat 2005-12-06 18:02:56 av Cluster]

Länk till kommentar
Dela på andra webbplatser

Till att börja med, vad får du för felmeddelande. För det andra så är det där inte en komplett kodrad, vad hände med slutet på den?

 

Länk till kommentar
Dela på andra webbplatser

Det verkar konstigt att du får fel på det!

På skicka_epost.asp ska BARA det jag skrev finns.

Ingen html-kod! Sidan bara skickar mailet!

 

Angående att Replace saker i variablerna så läste jag om spam-problem folk hade råkat ut för och vad man kan göra för att klara sig undan det.

Det handlade främst om man inte bestämde vilken epost-adress mailet skulle skickas till men jag vill vara på den säkra sidan...

Se mer: http://www.anders.com/projects/sysadmin/formPostHijacking/

 

Replace av "'" till "''" är inte av "tyngd" här men jag ville "översäkra" variablerna...

 

Visa hur dina sidor ser ut Nu och vad felmeddelandet säger, för det jag skrev in Ska fungera!

Använder det själv till många sidor!

 

 

 

Länk till kommentar
Dela på andra webbplatser

Johan Sandqvist

Är fixat nu. Fel version av JMail var installerad (.NET varianten istället för den "vanliga").

 

// Johan

 

Länk till kommentar
Dela på andra webbplatser

Det var ju bra att det ordnade sig!

 

.Net är det nya som Dimac gjort!

Då är det bara att "eposta" som en "galning" :)

 

Ha det!

Micke

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...