Avatar billede Slettet bruger
10. marts 2005 - 15:12 Der er 22 kommentarer og
1 løsning

Generer form og send til email adresse?

Hvordan genererer jeg de værdier jeg har indtastet i en form og sender dem til en email adresse? (stillet pænt op)
Avatar billede b.b Nybegynder
10. marts 2005 - 15:20 #1
Avatar billede Slettet bruger
10. marts 2005 - 15:25 #2
Synes der er en frygtlig masse man skal ændre først... er det virkelig nødvendigt? :-)
Avatar billede Slettet bruger
10. marts 2005 - 15:27 #3
Tænkte måske man kunne køre alt det script igennem en anden asp fil (form_handler.asp) så man ik skal blande alt koden sammen i samme fil...

Evt fra min form...

<form action="form_handler.asp" name="form" method="post">
Avatar billede moejensen Nybegynder
10. marts 2005 - 15:38 #4
hvilket mail komponent har du tilrådighed på serveren?
Avatar billede moejensen Nybegynder
10. marts 2005 - 15:39 #5
du kan nemt lave en side der hedder form_handler.asp, hvor du hiver værdierne ud af den submittede form med: Request.From("feltnavn"). du kan så lave en streng, som du sender som en mail via et mailkomponent.
Avatar billede Slettet bruger
10. marts 2005 - 15:42 #6
Kan det passe den hedder SMTP ?
Avatar billede Slettet bruger
10. marts 2005 - 15:43 #7
El. JMail
Avatar billede Slettet bruger
10. marts 2005 - 15:45 #8
Kan godt trækker værdierne over og lægge dem i variabler men jeg har ik så meget styr på ASP, Hvordan sender jeg det til en email? kan du komme med et eksempel på koden? :-)
Avatar billede moejensen Nybegynder
10. marts 2005 - 15:49 #9
Det hedder nok Jmail, jeg finder lige et eksempel til dig.
Avatar billede moejensen Nybegynder
10. marts 2005 - 15:51 #10
<%

' Create the JMail message Object
set msg = Server.CreateOBject( "JMail.Message" )

' Set logging to true to ease any potential debugging
' And set silent to true as we wish to handle our errors ourself
msg.Logging = true
msg.silent = true

' Most mailservers require a valid email address
' for the sender
msg.From = "test@mydomain.com"
msg.FromName = "My Realname"

' Next we have to add some recipients.
' The addRecipients method can be used multiple times.
' Also note how we skip the name the second time, it
' is as you see optional to provide a name.
msg.AddRecipient "recipient@hisDomain.com", "His Name"
msg.AddRecipient "recipientelle@herDomain.com"


' The subject of the message
msg.Subject = "How you doin?"

' The body property is both read and write.
' If you want to append text to the body you can
' use JMail.Body = JMail.Body & "Hello world! "
' or you can use JMail.AppendText "Hello World! "
' which in many cases is easier to use.
'
' Note the use of vbCrLf to add linebreaks to our email
msg.Body = "Hello Jim" & vbCrLf & vbCrLf & "How's it going? ..."

' There.. we have now succesfully created our message.
' Now we can either send the message or save it
' as a draft in a Database.
' To save the message you would typicly use the
' Message objects Text property
' to do something like this:
'
' SaveMessageDraft( msg.Text )
' Note that this function call is only an
' example. The function does not exist by
' default, you have to create it yourself.


' To send the message, you use the Send()
' method, which takes one parameter that
' should be your mailservers address
'
' To capture any errors which might occur,
' we wrap the call in an IF statement
if not msg.Send("mail.myDomain.net" ) then
    Response.write "<pre>" & msg.log & "</pre>"
else
    Response.write "Message sent succesfully!"
end if


' And we're done! the message has been sent.


%>
Avatar billede moejensen Nybegynder
10. marts 2005 - 15:52 #11
du laver så bare din string, og kalder den ex. strFrom - så sætter du bare msg.Body = strForm
Avatar billede Slettet bruger
10. marts 2005 - 16:08 #12
Prøver lige...
Avatar billede Slettet bruger
10. marts 2005 - 17:20 #13
Synes ik rigtig jeg kan få det til at funke... Tror måske min mailkomponent er ASPMail istedet...
Avatar billede moejensen Nybegynder
10. marts 2005 - 17:29 #14
så får du her koden til AspMail

Set Mailer = Server.CreateObject("SMTPsvg.Mailer")
Mailer.FromName  = "Joe’s Widgets Corp."
Mailer.FromAddress= "Joe@somehost.com"
Mailer.RemoteHost = "mailhost.localisp.net"
Mailer.AddRecipient "John Smith", "jsmith@anotherhostname.com"
Mailer.Subject    = "Great SMTP Product!"
Mailer.BodyText  = "Dear Stephen" & VbCrLf & "Your widgets order has been processed!"
if Mailer.SendMail then
  Response.Write "Mail sent..."
else
  Response.Write "Mail send failure. Error was " & Mailer.Response
end if
Avatar billede Slettet bruger
10. marts 2005 - 17:48 #15
Okay tror nu stadig min komponent er JMail.. min udbyder er Cliche.dk

Jeg får bare en fejl når jeg trykker send...

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

Microsoft JScript compilation error '800a03f7'

Unterminated string constant

/form_handler.asp, line 4

' Create the JMail message Object
---------------------------------^

-----------------------------------------------------------------
Avatar billede moejensen Nybegynder
10. marts 2005 - 18:19 #16
den burde ignorere alle linier med ' foran, da det bare er kommentarer. Men du kan bare slette dem, for de har ingen funktion anden end at forklare dig hvad der sker i koden.
Avatar billede Slettet bruger
10. marts 2005 - 18:35 #17
Så nu virker det! Den sender ihvertfald... :-)) Men der kommer lagt fra alle values med fra mine felter. Min formular bruger POST metoden... Derfor kan man ik bruge Request.Form vel ?? Jeg vil gerne udtrække de values der står i min formfelter jo. :-)

msg.Body = Request.Form("tilmelding1") & ", " & Request.Form("framelding1") & " " & Request.Form("gaester1") & " "& vbCRLF
msg.Body = Request.Form("tilmelding2") & ", " & Request.Form("framelding2") & " " & Request.Form("gaester2") & " "& vbCRLF
msg.Body = Request.Form("tilmelding3") & ", " & Request.Form("framelding3") & " " & Request.Form("gaester3") & " "& vbCRLF
msg.Body = Request.Form("tilmelding4") & ", " & Request.Form("framelding4") & " " & Request.Form("gaester4") & " "& vbCRLF
msg.Body = Request.Form("tilmelding5") & ", " & Request.Form("framelding5") & " " & Request.Form("gaester5") & " "& vbCRLF
Avatar billede Slettet bruger
10. marts 2005 - 18:46 #18
Kan man lave en string eller nået med alle values fra formen og så nede i msg.body = vise den?

Evt

strform = new String ("Request.Form("booking")") ?

msg.Body = strform

Eller?
Avatar billede moejensen Nybegynder
10. marts 2005 - 19:11 #19
du kan du kan fint bruge Request.Form sammen med POST

dit problem er at du kun kan lav en msg.Body, ellers overskriver du den igen og igen.

du skal lave en streng som du selv viser. Så gør således:

strForm = strForm & Request.Form("tilmelding1") & ", " & Request.Form("framelding1") & " " & Request.Form("gaester1") & " "& vbCRLF
strForm = strForm & Request.Form("tilmelding2") & ", " & Request.Form("framelding2") & " " & Request.Form("gaester2") & " "& vbCRLF
strForm = strForm & Request.Form("tilmelding3") & ", " & Request.Form("framelding3") & " " & Request.Form("gaester3") & " "& vbCRLF
strForm = strForm & Request.Form("tilmelding4") & ", " & Request.Form("framelding4") & " " & Request.Form("gaester4") & " "& vbCRLF
strForm = strForm & Request.Form("tilmelding5") & ", " & Request.Form("framelding5") & " " & Request.Form("gaester5") & " "& vbCRLF

msg.Body = strForm
Avatar billede Slettet bruger
10. marts 2005 - 19:52 #20
Ahhh mange tak!!... ved godt jeg er lidt besværlig nu men har lige et sidste spørgsmål, kan man sætte det op i evt. en tabel så det står pænt? :-)
Avatar billede moejensen Nybegynder
10. marts 2005 - 20:01 #21
yep, så skal du bare sende mailen i HTML format ved at bruge

msg.HTMLBody i stedet for msg.Body
Avatar billede Slettet bruger
10. marts 2005 - 20:49 #22
Jeg siger tak. ;-)
Avatar billede moejensen Nybegynder
10. marts 2005 - 21:06 #23
det var så lidt
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