Avatar billede hansi67 Nybegynder
26. juni 2007 - 12:14 Der er 7 kommentarer og
1 løsning

Jmail - send kun udfyldte input felter?

Hejsa ..

Jeg sidder og roder med at sende email vha. asp og JMail.
(jeg kan ikke rigtigt kode i asp :/ )

Jeg har en side der indeholder en <form> med rigtigt mange <input> felter, ca. 150.
Jeg benytter nedenstående kode til at sende emailen med og det virker juhuuuu :)

Mit problem er at den sende alle <input> felter med og ikke kun dem brugeren udfylder.

Er det muligt kun at sende de <input> felter der er udfyldt af brugeren?
Er det evt. muligt at sortere dem så de stå i en bestem rækkefølge i emailen?

--------

' 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 = "janueess@mail.dk"
msg.FromName = "Lars Larsen"

' Note that as addRecipient is method and not
' a property, we do not use an equals ( = ) sign
msg.AddRecipient "my @ mail . dk", "Ib Hansen"


' The subject of the message
msg.Subject = "Her skal der stå noget"

'add every form element and its value to the email
FOR EACH el IN Request.Form
    msg.appendtext( el & ": " & Request.form(el) & vbcrlf )
NEXT

' Now send the message, using the indicated mailserver
if not msg.Send("mail.joelle1.dk" ) then
    Response.write "<pre>" & msg.log & "</pre>"
else
    Response.Redirect "../tak.htm"
end if
-----

Hvis der er en der kan sende mig i retning af et eksempel på nettet, vil det gøre mig lidt lykkelig (har ledt).
Avatar billede mikkelk Nybegynder
26. juni 2007 - 12:16 #1
' 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 = "janueess@mail.dk"
msg.FromName = "Lars Larsen"

' Note that as addRecipient is method and not
' a property, we do not use an equals ( = ) sign
msg.AddRecipient "my @ mail . dk", "Ib Hansen"


' The subject of the message
msg.Subject = "Her skal der stå noget"

'add every form element and its value to the email
FOR EACH el IN Request.Form
    if Request.form(el) <> "" then
      msg.appendtext( el & ": " & Request.form(el) & vbcrlf )
    end if
NEXT

' Now send the message, using the indicated mailserver
if not msg.Send("mail.joelle1.dk" ) then
    Response.write "<pre>" & msg.log & "</pre>"
else
    Response.Redirect "../tak.htm"
end if
Avatar billede mikkelk Nybegynder
26. juni 2007 - 12:17 #2
Det skulle kunne gøre det.
Avatar billede mikkelk Nybegynder
26. juni 2007 - 12:19 #3
I emailen står felterne i den rækkefølge de er sendt til serveren i. Det vil typisk være den samme rækkefølge som de står i på siden hvor brugeren indtaster data.
Hvordan vil du da gerne have dem sorteret?
Avatar billede hansi67 Nybegynder
26. juni 2007 - 13:05 #4
Det er jo verdens klasse!!
Mange tak

Ang. sortering, nedenstående er et eksempel på den email jeg modtager.
Som du kan se så er alt bare blandet sammen.
Hvis det kunne lade sig gøre kunne det være fedt hvis "dag, måned, år" stod til sidst og "submit" er fjernet.
---
år: 2007
210 Guld grov: 10
dag: 10
927 Rensepulver: 10
003 Lemon: 10
937 Kande rustfrit stål: 10
måned: 10
submit: Send bestilling
---

Hvis det er en større ting med det sortering, så glem det .. du har allerede reddet min dag.
(jeg ved solen skinner på den anden side af skyerne :)
Avatar billede mikkelk Nybegynder
26. juni 2007 - 13:13 #5
Sorteringen kan være lidt omfattende med så mange felter.
Men du kan nemt fjerne submit:
'add every form element and its value to the email
FOR EACH el IN Request.Form
    if Request.form(el) <> "" and el <> "submit" then
      msg.appendtext( el & ": " & Request.form(el) & vbcrlf )
    end if
NEXT
Avatar billede hansi67 Nybegynder
26. juni 2007 - 13:31 #6
ok .. super duper .. endnu en gang tak :)
Avatar billede hansi67 Nybegynder
26. juni 2007 - 13:33 #7
btw.. skal AND ikke være et "or"?
--
if Request.form(el) <> "" and el <> "submit" then
--
Avatar billede mikkelk Nybegynder
26. juni 2007 - 13:36 #8
nej...skal være AND
if Request.form(el) <> "" and el <> "submit" then
betyder:
HVIS feltet IKKE er tomt og feltet IKKE er submit-feltet så fortsæt...
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

Seneste spørgsmål Seneste aktivitet
I dag 16:10 Tomt felt i Start Af ErikHg i Windows
I går 23:00 Hyperlink til tekst Af Nanarsi i Excel
18/0121:03 Forlænge ringetid Af 1Dorte i Apps til Android
17/0117:38 Video ikoner Af Malm i Windows
17/0117:27 Video ikoner Af logbuilders i Windows