Avatar billede duvander Juniormester
20. februar 2004 - 11:05 Der er 50 kommentarer og
1 løsning

Jmail asp form

Jeg kan ikke få dette http://www.eksperten.dk/spm/465310 til at virke! det skal virke på B-one og kommer op med fejl i linie 23

Koden her:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%
If Request.ServerVariables("Request_Method") = "POST" Then
  email = Request.Form("email")
  Overskrift = Request.Form("overskrift")
  fornavn = Request.Form("fornavn")
  efternavn = Request.Form("efternavn")
  Adresse = Request.Form("adresse")
  Postnummer = Request.Form("postnummer")
  By = Request.Form("by")
  besked = Request.Form("besked")

  body = "Hej " & vbCrLf
  body = body & "Navn : " & fornavn & " " & efternavn & vbCrLf
  body = body & "Email : " & email & vbCrLf
  body = body & "Adresse : " & Adresse & vbCrLf
  body = body & "Postnummer : " & Postnummer & vbCrLf
  body = body & "By : " & by & vbCrLf
  body = body & "Beksed: " & vbCrLf & besked & vbCrLf & vbCrLf
  body = body & "Mvh. Din side"

    Set JMail = Server.CreateObject("JMail.SMTPMail")
    JMail.ServerAddress = "smtp1.b-one.net"
    JMail.SenderName = Request.Form("fornavn") & " " & Request.Form("efternavn")
    JMail.Sender = Request.Form("email")
    JMail.AddRecipientEx "ff@ff.dk", "Fra hjemmesiden"
    JMail.Subject = "Fra hjemmesiden"
    JMail.Body = body
   
    Email = Request.Form("email")
    If Trim(Email) = "" Then Email = "ff@ff.dk"
   
    JMail.Sender = Email
   
    JMail.Execute
   
    JMail.Close
    Set JMail = Nothing
   
    Response.Redirect("unlock.asp")
End If
%>

<form method="POST" action="<%=Request.ServerVariables("SCRIPT_NAME")%>">
<table>
<tr><td>Fornavn:</td><td><input type="text" name="fornavn"></td></tr>
<tr><td>Efternavn:</td><td><input type="text" name="efternavn"></td></tr>
<tr><td>Adresse:</td><td><input type="text" name="adresse"></td></tr>
<tr><td>By:</td><td><input type="text" name="by"></td></tr>
<tr><td>Postnummer:</td><td><input type="text" name="postnummer"></td></tr>
<tr><td>Email:</td><td><input type="text" name="email"></td></tr>
<tr><td>Besked:</td><td><textarea name="besekd" cols="20" rows="6"></textarea></td></tr>
<tr><td></td><td><input type="submit" name="Send" value="Send"></td></tr>
</table>
</form>
Avatar billede crapman Nybegynder
20. februar 2004 - 11:08 #1
...hvilken fejl kommer den med?
Avatar billede keysersoze Ekspert
20. februar 2004 - 11:11 #2
Da b-one kører med chiliasp og ikke iis tvivler jeg på at de i det hele taget understøtter jmail - det er nok mere sandsynligt de har en eller anden form for chili mail eller noget
Avatar billede duvander Juniormester
20. februar 2004 - 11:11 #3
HTTP 500.100 - Internal Server Error - ASP error
Apache

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

Technical Information (for support personnel)

Error Type:
Server object, ASP 0177 (0x800401F3)
System message, messageid = 0x800401f3
/prove.asp, line 23
Browser Type:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
Page:
POST 69 bytes to /prove.asp
POST Data:
fornavn=&efternavn=&adresse=&by=&postnummer=&email=&besekd=&Send=Send
Time:
Friday, February 20, 2004, 10:58:21 AM
More information:
Sun ONE Active Server Pages Support
Avatar billede duvander Juniormester
20. februar 2004 - 11:26 #4
Ja det må åbenbart skyldes at de bruger chiliasp.

Hvordan skal ovenstående kode se, så det giver samme resultat med chiliasp?
Avatar billede cpufan Juniormester
22. februar 2004 - 14:31 #6
og så er der iøvrigt stavefejl i "besked" i denne linie:

<tr><td>Besked:</td><td><textarea name="besekd" cols="20" rows="6"></textarea></td></tr>
Avatar billede duvander Juniormester
26. februar 2004 - 13:52 #7
Tak for oplysningen om stavefejl, men det kun et spørgsmål om at få det koden på plads!

Til Keyzersoze: med hensyn til b-one´s, er det fint med formmail, bortset fra jeg kontaktede dem da det ikke virkede, og de vil lave det inden et par dage:( - "det må være det samme som usikkert at bruge formail hos b-one"

Da asp og chiliasp ikke er min stærke side, kunne jeg godt bruge noget kode herinde der fortæller fra scratch hvordan jeg bær mig ad!

Hvis nu bare jeg skal have en form med "Navn" og "email" og det så skal laves med sendes til min mail ved hjælp af Chiliasp.  HVAD SÅ??
Avatar billede keysersoze Ekspert
26. februar 2004 - 14:42 #8
hvis du kigger på http://www.eksperten.dk/spm/421232 burde der være eksempel der hvis du følger svaret fra eagleeye.

resten - altså mht at få fat i formværdier m.m. burde være det samme som i dit eksempel i spørgsmålet
Avatar billede duvander Juniormester
26. februar 2004 - 21:52 #9
Hvis jeg laver følgende som eagleye forslår:

<%
strFrom  = Request.Form("fraeamil")
strReceiver = Request.Form("tilemail")
strBody = Request.Form("beskeden")
strSubject = "Kontakt via kontak formular"

Set objMail = CreateObject("CDONTS.NewMail")
objMail.From = strFrom
objMail.To = strReceiver
objMail.Subject = strSubject
objMail.Body = strBody
objMail.Host = "smtp1.b-one.nu"
objMail.Send
Set objMail = Nothing
%>

Skal formen være i samme fil eller en separat fil (aspfil)?
Hvad skal der stå efter action i formen <form method="POST" action="?">
Har ovenstående kode passe med formværdierne?
Avatar billede keysersoze Ekspert
26. februar 2004 - 23:05 #10
efter action skal der stå navnet på asp-filen indeholdende mail-afsendelsen.
Avatar billede cpufan Juniormester
26. februar 2004 - 23:14 #11
i din form laver du så en
<input type = "hidden" name="formsendt" value = "true">

<%
if request.form("formsendt") 0= "true" then
strFrom  = Request.Form("fraeamil")
strReceiver = Request.Form("tilemail")
strBody = Request.Form("beskeden")
strSubject = "Kontakt via kontak formular"

Set objMail = CreateObject("CDONTS.NewMail")
objMail.From = strFrom
objMail.To = strReceiver
objMail.Subject = strSubject
objMail.Body = strBody
objMail.Host = "smtp1.b-one.nu"
objMail.Send
Set objMail = Nothing
end if
%>
og din form kan du så bare lave i html.
Gem siden i asp f.eks. indsendform.asp

så skal din
<form method="post" action="indsendform.asp">
Avatar billede cpufan Juniormester
26. februar 2004 - 23:15 #12
if request.form("formsendt") = "true" then

uden 0 - off-course min shiftknap drillede
Avatar billede duvander Juniormester
27. februar 2004 - 11:14 #13
Nu har jeg testet uvenstående. først fik en fejl i linie 18 (objMail.From = strFrom). men så lave jeg en knap <input name="formsendt" type="submit" value="Submit"> og beholde nedenunder: <input name="formsendt" type="submit" value="Submit">
Nu kommer jeg over på en blank side (indsendt.asp) men jeg får ingen mail. Hvad kan det være?
Avatar billede keysersoze Ekspert
27. februar 2004 - 11:20 #14
når scriptet er delt op i to sider er der ikke umiddelbart nogen grund til den if-sætning - så lav det så det kommer til at se sådan ud;

<%
strFrom  = Request.Form("fraeamil")
strReceiver = Request.Form("tilemail")
strBody = Request.Form("beskeden")
strSubject = "Kontakt via kontak formular"

Set objMail = CreateObject("CDONTS.NewMail")
objMail.From = strFrom
objMail.To = strReceiver
objMail.Subject = strSubject
objMail.Body = strBody
objMail.Host = "smtp1.b-one.nu"
objMail.Send
Set objMail = Nothing
Response.write "Nu burde din mail være sendt"
%>
Avatar billede cpufan Juniormester
27. februar 2004 - 11:42 #15
strFrom  = Request.Form("fraeamil")


stavefejl
skal vel være
strFrom  = Request.Form("fraemail")
Avatar billede duvander Juniormester
27. februar 2004 - 22:51 #16
når jeg fjerner if-sætningen får jeg fejl i line 17 = objMail.from = strFrom
Avatar billede keysersoze Ekspert
27. februar 2004 - 23:18 #17
Hvis din form du indtaster fra-email i hedder "email" skal variablen selvfølgelig stemme overnes med det og hedde

strFrom  = Request.Form("email")

Men ellers fortæl præcis hvilken fejl du får... en af de ting du dog skal være opmærksom på er, at man hos de fleste ikke bare kan sætte en hvilken som helst afsender ind men at det skal være en dertilhører domænet
Avatar billede duvander Juniormester
27. februar 2004 - 23:43 #18
ved godt det med email skal tilhører domænet.

Nu for jeg denne fejl! Error Type:
Sun ONE ASP VBScript compilation (0x800A0401)
Syntax error, unexpected "End If", expecting end of statement
/indsendt.asp, line 24, column 1

min asp kode er nu:
<%
strFrom  = Request.Form("min@email.dk")
strReceiver = Request.Form("min@email.dk")
strBody = Request.Form("beskeden")
strSubject = "Kontakt via kontak formular"

Set objMail = CreateObject("CDONTS.NewMail")
objMail.From = strFrom
objMail.To = strReceiver
objMail.Subject = strSubject
objMail.Body = strBody
objMail.Host = "smtp1.b-one.net"
objMail.Send
Set objMail = Nothing
end if
%>

og min form:
<form action="indsendt.asp" method="POST">
<input type="text" name="textfield">
<input name="min@email.dk" type="submit" value="Submit">
<input type = "hidden" name="formsendt" value = "true">
</form>
Avatar billede keysersoze Ekspert
28. februar 2004 - 00:20 #19
Så har du heller ikke gjort hvad jeg har skrevet - fejlen kommer jo fordi du har en "end if" uden en if-statement... så fjern den end if
Avatar billede duvander Juniormester
28. februar 2004 - 00:34 #20
Sorry !! så den væk og jeg for nu denne fejl: Error Type:
Sun ONE ASP VBScript runtime (0x8000FFFF)
/indsendt.asp, line 20 ---> som er objMail.Body = strBody
Avatar billede keysersoze Ekspert
28. februar 2004 - 10:18 #21
hvad indeholder strBody når du forsøger at sende afsted? prøv at udskriv værdien til skærmen i stedet for at sende mailen
Avatar billede duvander Juniormester
29. februar 2004 - 16:14 #22
Hvordan gør jeg det?
Avatar billede keysersoze Ekspert
29. februar 2004 - 16:20 #23
response.write strBody
response.end
Avatar billede duvander Juniormester
29. februar 2004 - 17:02 #24
der får jeg samme fejl
Avatar billede keysersoze Ekspert
29. februar 2004 - 17:06 #25
du skal selvfølgelig sætte det ind FØR mail-delen
Avatar billede duvander Juniormester
29. februar 2004 - 17:42 #26
Ja det gir samme resultat!
Avatar billede keysersoze Ekspert
29. februar 2004 - 18:41 #27
hvordan ser din kode ud nu?
Avatar billede duvander Juniormester
29. februar 2004 - 19:18 #28
sådan her

asp side!
<%
response.write strBody
strFrom  = Request.Form("min@email.dk")
strReceiver = Request.Form("min@email.dk")
strBody = Request.Form("beskeden")
strSubject = "Kontakt via kontak formular"

Set objMail = CreateObject("CDONTS.NewMail")
objMail.From = strFrom
objMail.To = strReceiver
objMail.Subject = strSubject
objMail.Body = strBody
objMail.Host = "smtp1.b-one.net"
objMail.Send
Set objMail = Nothing
response.end
%>

html side:

<form action="indsendt.asp" method="POST">
<input type="text" name="beskeden">
<input name="min@email.dk" type="submit" value="Submit">
<input type = "hidden" name="formsendt" value = "true">
</form>
Avatar billede keysersoze Ekspert
29. februar 2004 - 19:23 #29
der er nu også langt fra det jeg foreslog...

<%
strFrom  = Request.Form("min@email.dk")
strReceiver = Request.Form("min@email.dk")
strBody = Request.Form("beskeden")
strSubject = "Kontakt via kontak formular"
response.write "body her: " & strBody
response.end

Set objMail = CreateObject("CDONTS.NewMail")
objMail.From = strFrom
objMail.To = strReceiver
objMail.Subject = strSubject
objMail.Body = strBody
objMail.Host = "smtp1.b-one.net"
objMail.Send
Set objMail = Nothing
%>

først og fremmest skal du jo have initialiseret variablen før du kan udskrive den - og derefter skal du stoppe scriptet inden der nås til mail-delen
Avatar billede duvander Juniormester
29. februar 2004 - 19:32 #30
Meget mærkeligt for samme fejl!
Avatar billede keysersoze Ekspert
29. februar 2004 - 19:45 #31
så fjern hele mail-delen og se hvad den så udskriver. Jeg kender intet til ChiliASP og ved ikke hvad den kan og ikke kan eller gør.
Avatar billede duvander Juniormester
29. februar 2004 - 21:05 #32
Nu udskriver den værdien "body her". men fjerne response delen for jeg stadig fejl:
Error Type:
Sun ONE ASP VBScript runtime (0x8000FFFF)
Avatar billede keysersoze Ekspert
29. februar 2004 - 21:20 #33
hvis den kun skriver "body her" og ikke noget efterfølgende så må dit formfelt "beskeden" være tom og så vil også variablen "strBody" blive tom og du kan vistnok ikke sende en besked med tom body.
Avatar billede duvander Juniormester
29. februar 2004 - 21:27 #34
hvad skal jeg præcis gøre i koden?
Avatar billede keysersoze Ekspert
29. februar 2004 - 21:35 #35
du skal tjecke at dine formfeltnavne stemmer overens med det du requester. Hedder dit felt fx "besked" og ikke "beskeden" vil du ikke få fat i værdien.
Avatar billede duvander Juniormester
29. februar 2004 - 21:50 #36
den er go nok felt hedder <input type="text" name="beskeden">
Avatar billede keysersoze Ekspert
29. februar 2004 - 21:54 #37
prøv at kom med begge asp-sider...
Avatar billede duvander Juniormester
29. februar 2004 - 22:08 #38
asp-side:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<%
strFrom  = Request.Form("min@email.dk")
strReceiver = Request.Form("min@email.dk")
strBody = Request.Form("beskeden")
strSubject = "Kontakt via kontakt formular"

Set objMail = CreateObject("CDONTS.NewMail")
objMail.From = strFrom
objMail.To = strReceiver
objMail.Body = strBody
objMail.Subject = strSubject
objMail.Host = "smtp1.b-one.net"
objMail.Send
Set objMail = Nothing
%>

den anden er html:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<form action="indsendt.asp" method="POST">
  <input type="text" name="beskeden"> 
  <input name="min@email.dk" type="submit" value="Submit">
<input type = "hidden" name="beskeden" value = "true">
</form>
</body>
</html>
Avatar billede keysersoze Ekspert
29. februar 2004 - 22:18 #39
erhm... du har to felter der hedden "beskeden"? Desuden har du heller ingen formfelter der hedder "min@email.dk" - det ved jeg ikke engang om er tilladt at skrive som navn

prøv nedenstående mailformular - virker den er det kun et spørgsmål om at du får bygget resten korrekt op.

<%
Set objMail = CreateObject("CDONTS.NewMail")
objMail.From = "din@mail.dk" 'SKAL tilhøre domænet
objMail.To = "modtager@mail.dk"
objMail.Body = "Dette indeholder mail"
objMail.Subject = "Her er titlen"
objMail.Host = "smtp1.b-one.net"
objMail.Send
Set objMail = Nothing
%>
Avatar billede duvander Juniormester
29. februar 2004 - 22:24 #40
altså asp siden skal kun indeholde ovenstående. ang. submit knappen, kan jeg kalde den noget uafhængigt af asp koden? altså hvad jeg selv syntes?
Avatar billede duvander Juniormester
29. februar 2004 - 22:28 #41
Jeg skriver bare den samme email i from og to. er det iorden?
Avatar billede keysersoze Ekspert
29. februar 2004 - 22:28 #42
submit-knappen? den kan du kalde hvad du vil...
Avatar billede duvander Juniormester
29. februar 2004 - 22:31 #43
mail formen går over til indsendt.asp siden, men den er helt blank!
Avatar billede keysersoze Ekspert
29. februar 2004 - 22:36 #44
Den er helt blank fordi der ingenting udskrives på den til klienten og der ingen fejl meldes
Avatar billede duvander Juniormester
29. februar 2004 - 22:44 #45
meget mærkligt har ingen ide om hvad der går galt!-?
Avatar billede keysersoze Ekspert
29. februar 2004 - 22:50 #46
hvis der ingenting udskrives udføres scriptet korrekt - og så går der ingenting galt.

hvis du prøver nedenstående udskrives der sikker noget - men husk nu at ændre afsender og modtagermail

<%
Set objMail = CreateObject("CDONTS.NewMail")
objMail.From = "din@mail.dk" 'SKAL tilhøre domænet
objMail.To = "modtager@mail.dk"
objMail.Body = "Dette indeholder mail"
objMail.Subject = "Her er titlen"
objMail.Host = "smtp1.b-one.net"
objMail.Send
Set objMail = Nothing
Response.Write "Din mail er nu sendt"
%>
Avatar billede duvander Juniormester
29. februar 2004 - 23:04 #47
juhuu. jeg modtager en mail. den er selvfølgelig tom! hvordan kan jeg lave et text felt der bliver sendt med mailen?
Avatar billede keysersoze Ekspert
29. februar 2004 - 23:11 #48
formfelt

<input type="text" name="mybodytxt">

mail

objMail.Body = request.form("mybodytxt")
Avatar billede duvander Juniormester
29. februar 2004 - 23:36 #49
Yes!!! nu begynder det at ligne noget. jeg for mail med det jeg intaster i form. Men hvordan hvis man skal have flere tekstfelter hvad kalder man så objMail.Body ??
Avatar billede duvander Juniormester
01. marts 2004 - 10:01 #50
Den med flere felter fandt jeg selv ud af. Jeg takker for hjælpen.
Avatar billede keysersoze Ekspert
01. marts 2004 - 10:14 #51
Det tog godt nok også sin tid - heldigt du ikke skal i gang med en ny online mail-klient ;)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester