Avatar billede hjemmesiden Nybegynder
10. januar 2006 - 20:01 Der er 8 kommentarer og
1 løsning

Hvordan får jeg sendt select class=input med JMail.SMTPMail ?

Jeg har nedenstående select class=input som gerne skulle sendes med min jmail. Hvordan gør jeg?

Formularen skal indholde flere felter og når den er færdig vil den ikke kunnde være på en *.asp side. Derfor benytter jeg SSI til klippe formularen i mindre bider. I dette tilfælde 2 sider (altså Book2.inc og Book3.inc).

Herunder er den kode som jeg har forsøgt mig med:


Book2.inc
********************
<form method="post" action="Booking12.asp?id=Book3" name="DateForm">

Festtype*:
<select class=input name="Arrangement">
<OPTION value=Vælg arrangement selected>- vælg arrangement -</OPTION>
<OPTION value=Bryllup>Bryllup</OPTION>
<OPTION value=Sølvbryllup>Sølvbryllup</OPTION>
<OPTION value=Byfest>Byfest</OPTION>
<OPTION value=Firmafest>Firmafest</OPTION>
<OPTION value=Julefrokost >FLOK-fest</OPTION>
<OPTION value=Foreningsfest>Foreningsfest</OPTION>
<OPTION value=Fødselsdag>Fødselsdag</OPTION>
<OPTION value=Halfest>Halfest</OPTION>
<OPTION value=Julefrokost >Julefrokost</OPTION>
<OPTION value=Konfirmation >Konfirmation</OPTION>
<OPTION value=Reception>Reception</OPTION>
<OPTION value=Andet>Andet</OPTION></SELECT>

<input type="submit" value=">> Videre >>">
</form>


Book3.inc
***************
<form method="post" action="info.asp" name="DateForm">

<% name = server.HTMLEncode(request("Arrangement")) %>
<input type="hidden" name="Arrangement" value="<% = Arrangement%>">
 
<input type="submit" value="  Submit ">
</form>


info.asp
*****************
<body>
<%Session("strArrangement") = Request.Form("Arrangement")%>

<%
  Set JMail          = Server.CreateObject("JMail.SMTPMail")
  JMail.ServerAddress = "websmtp.rockrod.dk"
  JMail.Sender        = "info@rockrod.dk"
  JMail.Subject      = "Test af JMail, websmtp.rockrod.dk"
  JMail.AddRecipient  "info@rockrod.dk"
  'JMail.AddAttachment "d:\home\ftpusername\www\test\ASP\ASPjmail\test.txt"
  JMail.Priority      = 3
  JMail.AddHeader    "Originating-IP", Request.ServerVariables("REMOTE_ADDR")

' ********** Her starter selve email-en
JMail.Body = "Arrangementets_art: "
JMail.AppendText Session("strArrangement") & vbCrLf & vbCrLf
  ' ********** Her slutter selve email-en

If Not JMail.Execute Then
    Response.Write "ERROR MESSAGE: " & JMail.ErrorMessage & "<br/>" & vbCrLf
    Response.Write "ERROR SOURCE: " & JMail.ErrorSource & "<br/>" & vbCrLf
    Response.Write "LOG: <pre>" & JMail.Log & "</pre>" & vbCrLf
  Else
    Response.Write "<html><body>Emailen er sendt!</body></html>" 
  End If

  Set JMail = Nothing
%>
   
<h6><div id="indhold">
Emailen er sendt!
</div></h6>

</body>
Avatar billede hjemmesiden Nybegynder
10. januar 2006 - 20:06 #1
........ovenstående kode sender jmailen, blot uden den valgte data i select class=input knappen.
Avatar billede nielle Nybegynder
10. januar 2006 - 21:36 #2
Det fremgår ikke helt klart hvordan du kommer fra side til side - og fra form til form - men mon ikke at du skal starte med at rette denne:

Book3.inc
***************
<form method="post" action="info.asp" name="DateForm">
<% name = Server.HTMLEncode(Request("Arrangement")) %>
<input type="hidden" name="Arrangement" value="<% = Arrangement %>"> 
<input type="submit" value="  Submit ">
</form>

- til denne:

Book3.inc
***************
<form method="post" action="info.asp" name="DateForm">
<% Arrangement = Server.HTMLEncode(Request("Arrangement")) %>
<input type="hidden" name="Arrangement" value="<% = Arrangement %>"> 
<input type="submit" value="  Submit ">
</form>
Avatar billede hjemmesiden Nybegynder
10. januar 2006 - 22:37 #3
Hej nielle

Dit forslag ser ud til at virke. Det fremgår af denne fejlmeddelelse at den poster de rigtige data.

Tekniske oplysninger (for supportteknikere)

Fejltype:
Serverobjekt, ASP 0177 (0x800401F3)
Ugyldig klassestreng
/info.asp, line 20


Browsertype:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)

Side:
POST 109 bytes to /info.asp

POST Data:
Arrangement=S%F8lvbryllup&Antal_mennesker=&Fra_ca._kl.=&Til_ca._kl.=&Place=&DateField=10-01-2006&ContactText=

Klokkeslæt:
10. januar 2006, 22:31:14


Yderligere oplysninger:
Microsoft Support

Fejlen er knyttet til denne linie i info.asp:

<%
  Set JMail          = Server.CreateObject("JMail.SMTPMail")

Hvad kan jeg gøre for at komme videre (ovenstående string er hentet fra min hostmaster Azero)
Avatar billede nielle Nybegynder
10. januar 2006 - 22:58 #4
Jeg ved ikke om den er case-sensitiv, men prøv at ændre:

Server.CreateObject("JMail.SMTPMail")

- til:

Server.CreateObject("JMAIL.SMTPMail")

Hvis det ikke virker, så bør du lige finde ud af om azero.dk overhovedet understøtter JMail, eller om de har et andet mail-objekt.
Avatar billede hjemmesiden Nybegynder
10. januar 2006 - 23:06 #5
Det virker desværre ikke

Men jeg har som sagt også rodet en del med det og det kan være at jeg efterfølgende har lavet nogle fejl i min kode..........kan sku bare ikke se hvad lige nu.....
Avatar billede hjemmesiden Nybegynder
10. januar 2006 - 23:08 #6
.........og Server.CreateObject("JMail.SMTPMail")har altså virket tidligere og burde derfor også virke nu!
Avatar billede hjemmesiden Nybegynder
10. januar 2006 - 23:35 #7
Hej igen

Ja nu virker det som det skal på nær et par enkelte input felter. Og den sender mailen..............Jeg havde ikke set at jeg arbejdede på localhost og ikke på nettet (ja jeg må s.. være træt).

Så du må endelig lægge et svar så du kan få dine velfortjente point.........bare vi havde skrevet sammen noget før. Jeg har kæmpet med problemet i flere dage.

Så endnu engang mange tak for din store hjælp :)
Avatar billede nielle Nybegynder
11. januar 2006 - 08:26 #8
Jeg kender det godt. Man vil gerne *selv* finde ud af hvad hulen der er galt, og inden man ser sig om har man brugt alt alt for lang tid på det. :^|
Avatar billede hjemmesiden Nybegynder
13. januar 2006 - 14:51 #9
Hej igen!
Jeg tænkte lige det var en idé at ligge mit script her så andre ligesom jeg selv kunne få glæde af det.

Det kan kopires direkte ind f.eks wordpad som det er og uploades. Det eneste som skal korrigeres før det fungerer er dette script. Her skal "dit-domaene" rettes til:

Set JMail          = Server.CreateObject("JMail.SMTPMail")
  JMail.ServerAddress = "websmtp.dit-domaene.dk"
  JMail.Sender        = "admin@dit-domaene.dk"
  JMail.Subject      = "Test af JMail, websmtp.dit-domaene.dk"
  JMail.AddRecipient  "admin@dit-domaene.dk"
  JMail.Priority      = 3
  JMail.AddHeader    "Originating-IP", Request.ServerVariables("REMOTE_ADDR")


Herunder er alle siderne samt koderne man har behov for, for at få formularen til at fungere med SSI (Server Side Include), kalender og stylesheet (i en noget skrabet udgave):

****************** Webside.asp **********************

<!--Denne side skal hedde Webside.asp -->

<%@ language="vbscript" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>

<head>
    <meta http-equiv="Content-Type" Content="text/html; charset=iso-8859-1">
       
        <title>Webside.asp</title>
       
        <!--Her benyttes et eksternt stylesheet-->
        <link rel="stylesheet" type="text/css" href="stylesheets/stylesheet.css">
</head>
 
  <body>

<%
'Dette script klipper formularen i mindre bider.

side_ID = Request.Querystring("id")
Dim side

Select Case side_ID ' definer de 'lovlige' sider
  Case "Side1", "Side2", "Side3"
    side = side_ID
  Case Else
    side = "Side1" ' denne side indlæses hvis intet er specifiseret
End Select
Server.Execute(side & ".inc")
%>

</body>
</html>


************************* Side1.inc *********************

<!--Denne side skal hedde Side1.inc og skal gemmes i samme mappe som din Webside.asp-->

<h1>Velkommen til Webside.asp!</h1>
<br><h3>Send os en e-mail eller en formular.</h3>
<br><br>

<!--Husk at der ikke må være <html></html>, <head></head> og <body></body> tags i en inkluderet fil (hvor efternavnet er .inc). Siden skal altså kun indeholde det som står ovenfor og nedenfor denne tekst.

Herunder er en mail der åbner brugerens mailprogram når der klikkes på nedenstående link
(E-mail) og hvor noget af teksten er skrevet på forhånd (det er kun E-mail som bliver vist på Webside.asp) Det giver brugeren mulighed for at sende en E-mail i stedet for formularen!-->


<p><a href="mailto:din.mailadresse@mail.dk?subject= Her skrives emne &Body=
            %0D%0D                        
            Hej Webside.asp!
            %0D%0D%0D
            Jeg vil gerne kontaktes mellem kl.
&nbsp;&nbsp;&nbsp;&nbsp; og kl.
            %0D%0D%0D
            Jeg har tlf.:
            %0D%0D%0D
            Med venlig hilsen">E-mail</a></p>
           
<br><br>

<!--Herunder er et link til din første side i formularen hvis brugeren ikke vælger ovenstående forudskrevet E-mail.-->

<a href="Webside.asp?id=Side2">Send en formular</a>



************************** Side2.inc ******************

<!--Denne side skal hedde Side2.inc og skal gemmes i samme mappe som din Webside.asp-->

<h1>Din første side af formularen!</h1>

<form method="post" action="Webside.asp?id=Side3" name="DateForm">


<h5>Her har du 4 valgmuligheder:<br>
<SELECT NAME="Valgmuligheder" SIZE="1">
<OPTION value=Vælg selected>- Vælg 1, 2, 3 eller andet -</OPTION>
<OPTION value=Valgmulighed1>Valgmulighed 1</OPTION>
<OPTION value=Valgmulighed2>Valgmulighed 2</OPTION>
<OPTION value=Valgmulighed3>Valgmulighed 3</OPTION>
<OPTION value=Andet>Andet</OPTION>
</SELECT>




<br><br>
Her kan du skrive til os:<br>
<textarea cols="23" rows="3" name="Tekst1"></textarea> 


<!--Hvis du vil benytte nedenstående kalender kan du se den i funktion
på denne adresse: http://java.arcadevillage.com/applets/ccalexa3.htm og
evt. læse noget om den. Ud over nedenstående script skal du også bruge to
filer med efternavnet .evt og .txt. Bliver forklaret sidst på denne side.-->

<br><br>
Dag-måned-år:<br>
<input  type="Date" name="DateField"> Klik på kalenderen!<br>

<applet
code=ccalendar.class
name=ccalendar MAYSCRIPT
archive = "ccalendar.jar"
width=250
height=200
id = "cal" >
<param name="fdw" value="1">
<param name="color_fond" value="AAAAAA">
<param name="color_full" value="FF0000">
<param name="color_case" value="AAFFAA">
<param name="color_Comment" value="C0C0C0">
<param name="color_empty" value="AAAADD">
<param name="color_sd" value="ffffff">
<param name="strict" value="Vælg en anden dag!">
<param name="field" value="DateField">
<param name="form" value="DateForm">
<param name="day1" value="Søndag">
<param name="day2" value="Mandag">
<param name="day3" value="Tirsdag">
<param name="day4" value="Onsdag">
<param name="day5" value="Torsdag">
<param name="day6" value="Fredag">
<param name="day7" value="Lørdag">
<param name="month1" value="Januar">
<param name="month2" value="Februar">
<param name="month3" value="Marts">
<param name="month4" value="April">
<param name="month5" value="Maj">
<param name="month6" value="Juni">
<param name="month7" value="Juli">
<param name="month8" value="August">
<param name="month9" value="September">
<param name="month10" value="Oktober">
<param name="month11" value="November">
<param name="month12" value="December">
<param name="etarget" value="_new">
<param name="event_file" value="./NavnetPåDinFil#.evt">
<param name="sched_file" value="./NavnetPåDinFil#.txt">
<param name="format" value="d-m-y">
</applet>
<br><br>
Ledig: <img src="../Images/Ledig.GIF" width="30" height="25,5" alt="" border="0">
Optaget: <img src="../Images/Optaget.GIF" width="30" height="25,5" alt="" border="0"></h5>

<!--Ovenstående images skal laves som GIF og gemmes i mappen Images.-->

<br><br>
<input type="submit" value=">> Klik videre til den sidste side i formularen >>">

</form>


**************************Side3.inc *********************

<!--Denne side skal hedde Side3.inc og skal gemmes i samme mappe som din Webside.asp-->

<form method="post" action="info.asp" name="DateForm">


<% Valgmuligheder = server.HTMLEncode(request("Valgmuligheder")) %>
<% Tekst1 = server.HTMLEncode(request("Tekst1")) %> 
<% DateField = server.HTMLEncode(request("DateField")) %>


<input type="hidden" name="Valgmuligheder" value="<% = Valgmuligheder%>">
<input type="hidden" name="Tekst1" value="<% = Tekst1%>">
<input type="hidden" name="DateField" value="<% = Date%>">

  <br><h5> Her kan du skrive mere tekst:</h5><br>
  <textarea name="Tekst2" cols="40" rows="15" wrap="PHYSICAL"></textarea>
  <br>
 
<input type="submit" value=">> Send formularen >>">

</form>


***************************  info.asp ********************

<!--Denne side skal hedde info.asp og skal gemmes i samme mappe som din Webside.asp-->

<%@ language="vbscript" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

<html>
  <head>
    <meta http-equiv="Content-Type" Content="text/html; charset=iso-8859-1">

        <title>info.asp</title>
       
       
        <link rel="stylesheet" type="text/css" href="stylesheets/stylesheet.css">
<%
Session("strValgmuligheder") = Request.Form("Valgmuligheder")
Session("strTekst1") = Request.Form("Tekst1")
Session("strDate") = Request.Form("DateField")
Session("strTekst2") = Request.Form("Tekst2")
%>

<h1>
<%
Set JMail          = Server.CreateObject("JMail.SMTPMail")
  JMail.ServerAddress = "websmtp.dit-domaene.dk"
  JMail.Sender        = "admin@dit-domaene.dk"
  JMail.Subject      = "Test af JMail, websmtp.dit-domaene.dk"
  JMail.AddRecipient  "admin@dit-domaene.dk"
  JMail.Priority      = 3
  JMail.AddHeader    "Originating-IP", Request.ServerVariables("REMOTE_ADDR")

********* Her starter selve email-en

JMail.AppendText "Valgmulighed nummer: "
JMail.AppendText Session("strValgmuligheder") & vbCrLf & vbCrLf

JMail.AppendText "Første tekst: " & vbCrLf
JMail.AppendText Session("strTekst1") & vbCrLf & vbCrLf

JMail.AppendText "Dato: "
JMail.AppendText Session("strDate") & vbCrLf & vbCrLf

JMail.AppendText "Anden tekst: " & vbCrLf
JMail.AppendText Session("strTekst2") & vbCrLf & vbCrLf

********** Her slutter selve email-en
 
  If Not JMail.Execute Then
    Response.Write "ERROR MESSAGE: " & JMail.ErrorMessage & "<br/>" & vbCrLf
    Response.Write "ERROR SOURCE: " & JMail.ErrorSource & "<br/>" & vbCrLf
    Response.Write "LOG: <pre>" & JMail.Log & "</pre>" & vbCrLf
  Else
    Response.Write "<html><body>E-mailen er sendt!</body></html>" 
  End If

  Set JMail = Nothing
%></h1>

</head>

<body>

<br><br><br><br><h4>Mange tak for din henvendelse vi vender snarest tilbage.
<br><br><br><br>Med venlig hilsen
<br><br>Webside.asp</h4>
   
       
</body>
</html>


**********************************************************************
Kalenderen på Side2.inc skal bruge en .evt- og en .txt-fil før man kan fylde noget ind i den. Gem i første omgang filerne under flg. navne: 

NavnetPåDinFil2006.evt er den fil som enten giver en beskrivelse i bunden af kalenderen eller/og samtidig fungerer som et link når man klikker på datoen i kalenderen. Herunder vil "Per´s fødselsdag" den 12. januar vise en tekst i bunden af kalenderen når der peges på datoen med musen. Og det samme med "http://www.rockrod.dk" der samtidig fungerer som et link når der klikkes på kalenderen. I begge tilfælde farves datoen, i dette tilfælde rød :

01 12 "Per´s fødselsdag"
02 04 "http://www.rockrod.dk"


NavnetPåDinFil2006.txt er den fil som farver feltet med datoen, i dette tilfælde rødt. Og klikkes på feltet sættes teksten "Vælg en anden dag!" ind i input feltet. Herunder er den 12. januar og den 4. februar farvet rød (=optaget).

0 = tomt felt
1 = optaget felt eller dato

000000000001
0001

NavnetPåDinFil2006.evt og NavnetPåDinFil2006.txt hedder begge 2006 og indeholder altså datoer gældende for året 2006. Næste års filer kommer derfor til at hedde NavnetPåDinFil2007.evt og NavnetPåDinFil2007.txt

Gem i første omgang filerne med disse navne med indhold for at se det virke og efterflg. kan du jo forsøge dig med andre datoer:

************************** NavnetPåDinFil2006.evt ***********************
01 12 "Per´s fødselsdag"
02 04 "Live-musik" "http://www.rockrod.dk"


*************************** NavnetPåDinFil2006.txt ***********************
000000000001
0001



Dokumentationen til kalenderen kan hentes på denne adresse http://java.arcadevillage.com/applets/ccalexa3.htm (teksten her må ikke komme med i .txt- filen)




******************** Stylesheets/stylesheet.css ***************************

/*Til sidst skal du lave et stylesheet, sådan at det hele kan se lidt præsentabelt ud, med navnet stylesheets/stylesheet.css og gemme den i mappen stylesheets . Her er der dog ikke ikke gjort så meget ud af det.*/

body{
background: #000000;
margin: 10% 10% 10% 10%;

}
H1, H2, H3, H4, H5, H6{
color: #ffffff;
}
A {
text-decoration: none;
font-family: tahoma;

A:link {
color: #cccccc;

A.speciel:link {
color: #000;
}   
A:visited {
color: #cccccc;

A.speciel:visited {
color: #000;
}
A:hover {
color: #fff;
}
A.speciel:hover {
color: #fff;
}
A:active {
color: #fff;

A.speciel:active {
color: #fff;
}
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