Avatar billede jmc Nybegynder
07. januar 2003 - 13:01 Der er 12 kommentarer og
1 løsning

mailform virker ikke

Men hvorfor ikke, jeg bliver nød til at benytte sessions.
Den siger:

Deres besked blev ikke sendt
felterne var ikke udfyldt!

Kan du hjælpe?

<%

Set Mailer = Server.CreateObject("SMTPsvg.Mailer")
Mailer.CharSet = 2

if Session("email") <> "" then
Mailer.FromName = Session("navn")
Mailer.FromAddress = Session("email")
else
Mailer.FromName = "email er ikke angivet"
Mailer.FromAddress = "e@e.dk"
end if

Mailer.RemoteHost = "mail.e.dk"
Mailer.AddRecipient "E", "e@e.dk"
Mailer.Subject  = "Bestilling

tekst = ""
linie = vbCrLf
'linie = "<br>"
udfyldt = false

if Session("navn") <> "" then
tekst = tekst & "Navn" & linie & Session("navn") & linie & linie
udfyldt = true
end if

if Session("email") <> "" then
tekst = tekst & "Email" & linie & Session("email") & linie & linie
udfyldt = true
end if

if Session("adresse") <> "" then
tekst = tekst & "Adresse" & linie & Session("adresse") & linie & linie
udfyldt = true
end if

if Session("adresse2") <> "" then
tekst = tekst & "Adresse2" & linie & Session("adresse2") & linie & linie
udfyldt = true
end if

if Session("postnummer") <> "" then
tekst = tekst & "Postnummer." & linie & Session("postnummer") & linie & linie
udfyldt = true
end if

if Session("byen") <> "" then
tekst = tekst & "Byen" & linie & Session("byen") & linie & linie
udfyldt = true
end if

if Session("tlf") <> "" then
tekst = tekst & "Tlf." & linie & Session("tlf") & linie & linie
udfyldt = true
end if


if Session("besked") <> "" then
tekst = tekst & "Besked" & linie & Session("besked") & linie & linie
udfyldt = true
end if

tekst  = tekst & "Følgende er bestilt" & linie

if Session("r") <> "" then
tekst = tekst & linie & Session("rejse1") & linie
end if

Mailer.BodyText  = tekst
Mailer.SendMail

if udfyldt then
    if Mailer.SendMail then
      Response.Write "<p>Deres besked er sendt</p>"
      if Session("email") <> "" then
      Response.Write "<p>De vil modtage en bekræftigelse på mail</p>"
      end if
    else
    Response.Write "<p>Deres besked er <b>ikke</b> sendt</p>"
      Response.Write "<p>Mail-error. Fejlen var: <b>" & Mailer.Response & "</b></p>"
    end if
else
      Response.Write "<p>Deres besked blev <b>ikke</b> sendt</p>"
      Response.Write "<p>felterne var ikke udfyldt!</p>"
end if
      Response.Write "<title>MAIL TIL E</title>"
      'Response.Write "<p><a href=" & Request.ServerVariables("HTTP_REFERER") &  ">tilbage</a></p>"
Avatar billede oasen Nybegynder
07. januar 2003 - 13:08 #1
Efter hvad jeg lige kan se, bliver den betragtet som udfyldt uanset hvad. Hvis bare et enkelt af felterne er udfyldt returnerer den True.
Avatar billede oasen Nybegynder
07. januar 2003 - 13:12 #2
Hvor sætter du dine sessioner henne, og hvorfor ikke bare request.form?
Avatar billede jmc Nybegynder
07. januar 2003 - 13:12 #3
Yep, det er ok, den kunne bare være i navn. men jeg tjekker nu med javascript, formvalidering så det kan ikke være dette!
Avatar billede jmc Nybegynder
07. januar 2003 - 13:13 #4
i dokumentet før skal jeg gemme i en database og desuden sende som post.
Jeg benytter Dreamweaver:
http://www.macromedia.com/support/dreamweaver/ts/documents/passformdata.htm
derfor!
Avatar billede oasen Nybegynder
07. januar 2003 - 13:22 #5
Kan du da ikke bare gemme det i databasen og sende det i samme omgang, så du undgår alt den viderestilling?
Avatar billede jmc Nybegynder
07. januar 2003 - 13:29 #6
Den sender ikke andet end:

From:  email er ikke angivet <e@e.dk>
To:  e <e@e.dk>
Date:  Tue, 07 Jan 2003 12:23:21 GMT
Subject:  Bestilling



Følgende er bestilt

??


Jeg har rettet til:


if Mailer.SendMail then
      Response.Write "<p>Deres besked er sendt</p>"
      if Session("email") <> "" then
      Response.Write "<p>De vil modtage en bekræftigelse på mail</p>"
      end if
    else
    Response.Write "<p>Deres besked er <b>ikke</b> sendt</p>"
      Response.Write "<p>Mail-error. Fejlen var: <b>" & Mailer.Response & "</b></p>"
    end if

og slettet udfyldt, men det virker ikke.
Avatar billede jmc Nybegynder
07. januar 2003 - 13:31 #7
oasen , kan du genneskue hvordan?
Avatar billede jmc Nybegynder
07. januar 2003 - 13:35 #8
oasen
Så skal jeg udføre en insert og en mailsend for bagefter at vise en bekræftigelse. Jeg mener det virker naturligt at lave bekræftigelsen og mailsendt i samme dokument. Der er en masse grafisk layout i dokumentet hvor jeg gemmer og så skal jeg til at case hvis jeg skulle gøre som du siger.
Avatar billede jmc Nybegynder
07. januar 2003 - 13:54 #9
kan man køre 2 setmailer efter hindanden og hvordan gør man?


mail 1 med en type indhold
Set Mailer = Server.CreateObject("SMTPsvg.Mailer")
Mailer.CharSet = 2


Mailer.FromName = "osv?

mail 2 med anden type indhold
Set Mailer = Server.CreateObject("SMTPsvg.Mailer")
Mailer.CharSet = 2

Mailer.FromName = "osv?
Avatar billede jmc Nybegynder
07. januar 2003 - 14:25 #10
Avatar billede oasen Nybegynder
07. januar 2003 - 14:26 #11
Det kan du sagtens:

Set Mailer = Server.CreateObject("SMTPsvg.Mailer")

mail 1 med en type indhold
Mailer.CharSet = 2
Mailer.FromName = "osv?

mail 2 med anden type indhold
Mailer.CharSet = 2
Mailer.FromName = "osv?

Set Mailer = Nothing
Avatar billede jmc Nybegynder
07. januar 2003 - 17:12 #12
Skal det skrives sådan?
Set Mailer = Server.CreateObject("SMTPsvg.Mailer")' en gang kun
Mailer.CharSet = 2' en gang kun

Mailer.FromName = "osv?
indhold = request.form("bla")
Mailer.BodyText  = tekst
Mailer.SendMail

'næste
Mailer.FromName = "osv?
indhold = request.form("bla")
Mailer.BodyText  = tekst
Mailer.SendMail'

??? er dette rigtigt?
Avatar billede jmc Nybegynder
07. januar 2003 - 20:08 #13
den sender begge selvom jeg i den første opsamler til

Mailer.BodyText  = tekst

og i den anden opsamler til:

Mailer.BodyText  = tekst2

Hvad kan dette skyldes???
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