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

JMail - msg.body - asp


lenitchka

Rekommendera Poster

Hej.

 

Finns det någon vänlig själ som kan hjälpa en nybörjare?

Jag har på sidan ett kontaktformulär som skickar meddelandet som det ska, men inte fälten Namn, telefon och e-post som fyllts i.

 

Nu har jag snurrat till det ordentligt och blivit totalt blockerad. Är tyvärr tvungen att använda detta på mitt "hotell" så det måste funka!

 

Snälla?

 

bestall.asp[log]

<% @ LANGUAGE = VBSCRIPT %>

<html>

<body>

<%

set msg = Server.CreateOBject("JMail.Message")

 

msg.From = "info@aquatilis.se"

msg.FromName = "Aquatilis"

 

msg.AddRecipient "order@aquatilis.se", "Annika"

 

msg.Subject = "Meddelande från hemsidan"

 

msg.Body = Request.Form("Meddelande")

 

if (not msg.Send("mail.aquatilis.se")) then

Response.write "<pre>" & msg.log & "</pre>"

else

Response.write "Ditt meddelande har skickats!"

end if

%>

</body>

</html> [/log]

 

 

bestall.htm[log]<form name="form1" method="post" action="bestall.asp">

<p class="bread"><span class="rubrik"> Namn:</span> <span class="rubrik">*</span><br>

<input type="text" name="Namn" size="30" value="">

<br/>

<br>

<br>

<span class="rubrik">Telefon: </span> <span class="rubrik">*</span><br>

<input type="text" name="Telefon" size="30" value="">

<br/>

<br />

<br />

<span class="rubrik">E-post:</span><br>

<textarea name="E-post" cols="30"></textarea>

<br/>

<br/>

<br/>

<span class="rubrik">Meddelande:</span> <br>

<textarea name="Meddelande" cols="40" rows="15"></textarea>

<br/>

<input type="submit" value="Skicka" name="submit">

</p>

</form>[/log]

 

 

Mvh

 

LOG-taggar tillagda av moderator

 

[inlägget ändrat 2007-09-04 19:03:00 av Cluster]

Länk till kommentar
Dela på andra webbplatser

Lite hjälp på vägen:

 

Var tar du emot uppgifterna om namn, epost och telefonnumret ;)

Sen förstår jag inte att du använder en textarea för epost-adressen.

Så stor kan den väl inte vara!?

 

Länk till kommentar
Dela på andra webbplatser

Som du ser vet jag inte vad jag håller på med ;-)

Jo ...

Textarea ska ju bort på de fälten.

Men hur ska koden där jag tar emot uppgifterna om namn, adress e-post se ut och ligga?

 

Jag har dammsugit nätet på info, men alla koder ser ju helt olika ut. Och jag fattar nog inte själva funktionen. *gaaah*

Tack för att du tar dig tid att svara.

Tids nog kanske jag blir proffs på detta!?

 

Länk till kommentar
Dela på andra webbplatser

Du hämtar ju värdet för meddelandet, du gör samma sak för dem andra fältenmen du får ändra vilken textruta i formuläret det handlar om.

 

För namnet:

Request.Form("Namn")

 

Epost:

Request.Form("Epost")

 

Telefon:

Request.Form("Telefon")

 

Sen ändrar du till:

msg.From = Request.Form("Epost")
msg.FromName = Request.Form("Namn")

För meddelandet kan du slå ihop telefon och meddealndet:

msg.Body = Request.Form("Telefon") & VbCrLf & Request.Form("Meddelande")

 

Så, LUNCH, ut och köra motorcykel ;) Jiiiihaaaa!

Kollar sen igen (kanske).

 

Länk till kommentar
Dela på andra webbplatser

Underbara människa! :-)

 

Jag tackar så mycket för input och testar. Dessvärre har jag ingen möjlighet att kolla om det funkar förrän jag får ett mail av den jag hjälper med sidan.

 

Jag återkommer och önskar dig en trevlig lunch + en trevlig MC-tripp! :)

 

Länk till kommentar
Dela på andra webbplatser

Hmm ...

 

Ser detta riktigt ut?

Hoppas att du eller någon har tid och lust att svara.

*tacksam*

[log]<% @ LANGUAGE = VBSCRIPT %>

<html>

<body>

<%

set msg =

 

Server.CreateOBject("JMail.Message")

 

msg.From = "info@aquatilis.se"

msg.FromName = "Aquatilis"

 

msg.AddRecipient "order@aquatilis.se",

 

"Annika"

 

msg.Subject = "Meddelande från hemsidan"

 

msg.From = Request.Form("Epost")

msg.FromName = Request.Form("Namn")

msg.Body = Request.Form("Telefon") & VbCrLf &

 

Request.Form("Namn")

Request.Form("Telefon")

Request.Form("Epost")

Request.Form("Meddelande")

 

if (not msg.Send("mail.aquatilis.se")) then

Response.write "<pre>" & msg.log & "</pre>"

else

Response.write "Ditt meddelande har

 

skickats!"

end if

%>

</body>

</html>[/log]

 

LOG-taggar tillagda av moderator

 

[inlägget ändrat 2007-09-04 19:03:28 av Cluster]

Länk till kommentar
Dela på andra webbplatser

Du sätter två olika värden för .From och .FromName .

 

Är det värdet ifrån formuläret som gäller så är det denna som gäller:

msg.From = Request.Form("Epost")
msg.FromName = Request.Form("Namn")

 

Ta då bort:

msg.From = "info@aquatilis.se"

msg.FromName = "Aquatilis"

 

Sen ska det som följer efter .Body= vara på en och samma rad.

Lägg in & VbCrLf & mellan varje Request.Form() i det som ska vara "body".

 

Testa annars och se vad som händer.

Felmeddelande?

 

Sen är där mer man bör(ska) göra för att göra det säkrare.

Men det blir senare.

 

Länk till kommentar
Dela på andra webbplatser

Det blir "505 internt serverfel"

 

Fattade jag dig rätt?

Jag skulle behöva nån kurs i det här ;-)

 

[log]<% @ LANGUAGE = VBSCRIPT %>

<html>

<body>

<%

set msg = Server.CreateOBject("JMail.Message")

 

msg.AddRecipient "order@aquatilis.se", "Annika"

 

msg.Subject = "Meddelande från hemsidan"

 

msg.From = Request.Form("Epost")

& VbCrLf &

msg.FromName = Request.Form("Namn")

& VbCrLf &

msg.Body = Request.Form("Telefon")& VbCrLf & Request.Form("Namn")

& VbCrLf &

Request.Form("Telefon")

& VbCrLf &

Request.Form("Epost")

& VbCrLf &

Request.Form("Meddelande")

& VbCrLf &

 

if (not msg.Send("mail.aquatilis.se")) then

Response.write "<pre>" & msg.log & "</pre>"

else

Response.write "Ditt meddelande har skickats!"

end if

%>

</body>

</html> [/log]

 

LOG-taggar tillagda av moderator

 

 

 

[inlägget ändrat 2007-09-04 19:03:46 av Cluster]

Länk till kommentar
Dela på andra webbplatser

Dessa tillhör inte body.

Ändra till:

msg.From = Request.Form("Epost")

msg.FromName = Request.Form("Namn")

 

Du kan ta bort den sista & VBCrLf & efter Request.Form("Meddelande")

 

Jag skulle behöva nån kurs i det här ;-)
Det är ju det du gör nu när du testar och ser vad som händer :)

 

Sen bör du stänga av felmeddelanden av den sorten.

I IE är det: Verktyg => Internet-alternativ => Avancerat => Avmarkera "Visa egna HTTP-felmeddelanden" => Klicka på OK

 

Gör ovanstående ändringar i koden och testa igen.

 

Är alla värden efter .Body= på EN och SAMMA rad i koden!?

 

[inlägget ändrat 2007-09-04 11:29:28 av Micke_skane]

Länk till kommentar
Dela på andra webbplatser

orkar du? ;-)

 

Nu ligger allt i .body i en enda räcka. Har problem med bodyn :-)

 

Dessa tillhör inte body.

Ändra till:

msg.From = Request.Form("Epost")

msg.FromName = Request.Form("Namn")

 

menar du bodytaggen? *rodnar av skam*

 

Uscha, så här ser det ut nu:[log]<% @ LANGUAGE = VBSCRIPT %>

<html>

<body>

<%

set msg = Server.CreateOBject("JMail.Message")

 

msg.AddRecipient "order@aquatilis.se", "Annika"

 

msg.Subject = "Meddelande från hemsidan"

 

msg.From = Request.Form("Epost")

& VbCrLf &

msg.FromName = Request.Form("Namn")

& VbCrLf &

msg.Body = Request.Form("Telefon")& VbCrLf &

 

Request.Form("Namn")& VbCrLf &

 

Request.Form("Telefon")& VbCrLf &

 

Request.Form("Epost")& VbCrLf &

 

Request.Form("Meddelande")

 

 

if (not msg.Send("mail.aquatilis.se")) then

Response.write "<pre>" & msg.log & "</pre>"

else

Response.write "Ditt meddelande har

 

skickats!"

end if

%>

</body>

</html> [/log]

 

LOG-taggar tillagda av moderator

 

[inlägget ändrat 2007-09-04 19:04:06 av Cluster]

Länk till kommentar
Dela på andra webbplatser

orkar du? ;-)
Det är lunch.

 

*rodnar av skam*
Ingen fara, allt är enkelt bara man vet hur man gör :)

 

Prova detta:

<% 
Set msg = Server.CreateOBject("JMail.Message") 

msg.AddRecipient "order@aquatilis.se", "Annika" 
msg.Subject = "Meddelande från hemsidan" 

strBodyInfo = Request.Form("Namn")& VbCrLf &Request.Form("Telefon")& VbCrLf &Request.Form("Epost")& VbCrLf & Request.Form("Meddelande")

msg.From = Request.Form("Epost")
msg.FromName = Request.Form("Namn")
msg.Body = strBodyInfo

If (not msg.Send("mail.aquatilis.se")) Then 
Response.write "<pre>" & msg.log & "</pre>" 
Else 
Response.write "Ditt meddelande har skickats!" 
End if 
%>

 

Länk till kommentar
Dela på andra webbplatser

Tillägg till inlägget innan!

 

Ändra denna:

If (not msg.Send("mail.aquatilis.se"))

 

till

If Not msg.Send("mail.aquatilis.se")

 

Länk till kommentar
Dela på andra webbplatser

Tack för all din tid!

 

Nu kom följande felmeddelande:

 

Microsoft VBScript compilation error '800a03ee'

 

Expected ')'

 

/Docs/bestall.asp, line 16

 

If (Not msg.Send("mail.aquatilis.se") Then

 

 

 

Länk till kommentar
Dela på andra webbplatser

Ursäkta!

 

Jag snurrade till det! (Hur kunde _det_ hända?? ;-)

 

Nu gick det iväg iallafall! :-)

 

Hoppas hoppas! Vill inget hellre än att det ska funka nu!

(annars får hon banne mig ett vanligt sunkigt mailto-formulär! *s*)

 

Tusen tack återigen. Du kanske snart ska börja fakturera mig? :-)

Är det Ok om jag hör av mig igen om det inte funkar trots allt?

 

/Lena

 

 

 

Länk till kommentar
Dela på andra webbplatser

Du kan testa om det kommer till Dig.

 

Du ändrar bara epostadressen som bestämmer var mailet ska skickas.

Ändra det här:

msg.AddRecipient "dinegenepostadress@xxx.se", "Annika"

 

Du kanske snart ska börja fakturera mig? :-)
Ja, snart så kanske..;)

Nej då, det räcker så bra så med att visad tacksamhet för hjälpen man får.

Hör du bara av dig om det är något!

 

Länk till kommentar
Dela på andra webbplatser

Hej igen!

 

Det verkar inte komma fram något. kan det hänga ihop med webhotellet som de har? (Surftown)

Jag kan tydligen inte heller lägga in min adress för att kolla då jag inte har en egen adress hos surftown(?)

 

Kan de ha någon egen slags grej som jag har missat+ Kan det skilja sig? Har ingen tidigare erfarenhet av detta webhotell. Hoppas du förstår vad jag menar :-)

 

Så här ser Surftowns eget exempel ut:[log]<% @ LANGUAGE = VBSCRIPT %>

<html>

<body>

<%

set msg = Server.CreateOBject("JMail.Message")

 

' Skriv in din från-adress

' - den måste vara upprättad på ditt webbhotell

msg.From = "avsandare@ditt-doman.se"

msg.FromName = "Min hemsida"

 

' Epostadress och Namn

msg.AddRecipient "mottagare@ditt-doman.se", "ditt namn"

 

' Ange ett ämne för mailet

msg.Subject = "Besked från min hemsida"

 

' Besökarens text (body)

msg.Body = Request.Form("body")

 

' Sänd mailen - skriv in namnet på din mailserver

if (not msg.Send("mail.ditt-doman.se")) then

Response.write "<pre>" & msg.log & "</pre>"

else

Response.write "Mailen har skickats!"

end if

%>

</body>

</html> [/log]

och här har vi mitt:[log]<% @ LANGUAGE = VBSCRIPT %>

<html>

<body>

<%

Set msg = Server.CreateOBject("JMail.Message")

 

msg.AddRecipient "order@aquatilis.se", "Annika"

msg.Subject = "Meddelande från hemsidan"

 

strBodyInfo = Request.Form("Namn")& VbCrLf

 

&Request.Form("Telefon")& VbCrLf

 

&Request.Form("Epost")& VbCrLf &

 

Request.Form("Meddelande")

 

msg.From = Request.Form("Epost")

msg.FromName = Request.Form("Namn")

msg.Body = strBodyInfo

 

If Not msg.Send("mail.aquatilis.se") Then

Response.write "<pre>" & msg.log & "</pre>"

Else

Response.write "Ditt meddelande har skickats!"

End if

%>[/log]

 

LOG-taggar tillagda av moderator

 

 

[inlägget ändrat 2007-09-04 19:04:41 av Cluster]

Länk till kommentar
Dela på andra webbplatser

Jag kan tydligen inte heller lägga in min adress för att kolla då jag inte har en egen adress hos surftown(?)
Det har ingen betydelse.

Bara att skriva in den adress som du mailet ska komma till.

Annars är det något som surftown är unika för :)

 

Har ingen tidigare erfarenhet av detta webhotell.
Det har jag och det är ALLT annat än bra.

Finns BETYDLIGT bättre webbhotell som inte heller kostar så mycket.

 

Ser rätt ut.

Testa att bara använda Request.Form("Namn) som värde för msg.Body.

msg.Body=Request.Form("Namn")

 

Och du får utskrivet på sidan, efter du skickat, att det är skickat?

Kan ju tillägga att det är inga garantier att mailet kommer fram bara för att det har skickats iväg.

Sen kan det ibland vara fördröjning innan mailet kommer.

Minuter, timmar...

 

[inlägget ändrat 2007-09-04 15:14:14 av Micke_skane]

Länk till kommentar
Dela på andra webbplatser

Det står att det är skickat.

Är det så att vissa e-postadresser inte funkar?

 

Har testat med mitt gmx.net och gmail.com.

Jag kanske ska vänta lite då och se om det dyker upp något...

 

 

Det har jag och det är ALLT annat än bra.

Finns BETYDLIGT bättre webbhotell som inte heller kostar så mycket.

 

Nä Surftown verkar inge vidare. Har du tips på nåt bra? :-)

 

 

 

Länk till kommentar
Dela på andra webbplatser

Är det så att vissa e-postadresser inte funkar?
Bara dem som inte uppfyller standardkraven för hur en epost-adress ska se ut.

Det är en sak man kan lägga till i koden för att kolla innan man låter koden skicka mailet.

 

Har du tips på nåt bra? :-)
Själv har jag bra erfarenhet av:

http://www.aleborg.se/Default.aspx

http://www.loopia.se/

(lite dyrare men mycket bättre)

 

Ett annat tips när det är så här fint väder är att lämna datorn och gå ut till solen ;) Det ska jag nu.

 

[inlägget ändrat 2007-09-04 15:41:33 av Micke_skane]

Länk till kommentar
Dela på andra webbplatser

Det gör du alldeles rätt i!

 

Här är det inget fint väder men känner att jag måste släppa detta för idag.

 

Tusen tack för all hjälp!

och ha det gôtt i solen! :)

 

 

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...