Avatar billede hybel Nybegynder
21. juli 2002 - 02:17 Der er 18 kommentarer og
3 løsninger

Hvordan får jeg form felterne med ?!

Jeg er meget ny i ASP og har et problem: Hvis jeg har mange formfelter - alder, by, køn m.v - hvordan kommer de så med i mailen ?!

Jeg gør noget galt her:

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

<%
if request.querystring = "1" then
    Response.Buffer = True
    Response.Expires = 0

    Set Mailer = Server.CreateObject("SMTPsvg.Mailer")
   
    Mailer.RemoteHost = "mail.hybels.dk"
    Mailer.FromName = request.form("Navn")
    Mailer.FromAddress = request.form("Email")
    Mailer.AddRecipient "Webmaster", "mail@hybels.dk"
    Mailer.Subject = "EMNE"
    Mailer.BodyText = request.form("Besked")
    Mailer.BodyText = request.form("Alder")
    Mailer.BodyText = request.form("By")

    Mailer.CharSet = 1
   
    if not Mailer.SendMail then
    Response.Write "<p>Mailing Failed... Error is: <br>"
    Response.Write Mailer.Response
    else
    Response.Write "Sent<br>"
    end if
   
    Set Mailer = nothing
end if
%>

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


- Hybel
Avatar billede esoulman Nybegynder
21. juli 2002 - 02:21 #1
Mailer.BodyText = request.form("Besked")
Mailer.BodyText = request.form("Alder")
Mailer.BodyText = request.form("By")

Du overskriver BodyText hele tiden....
brug dette

Mailer.BodyText = request.form("Besked")
Mailer.BodyText = Mailer.BodyText & request.form("Alder")
Mailer.BodyText = Mailer.BodyText & request.form("By")
Avatar billede esoulman Nybegynder
21. juli 2002 - 02:22 #2
Måske du vil tilføje nogle linebreaks a la

Mailer.BodyText = request.form("Besked") & VbCrlf
Mailer.BodyText = Mailer.BodyText & Request.Form("alder") & Vbcrlf
osv...
Avatar billede whatever Nybegynder
21. juli 2002 - 02:23 #3
Mailer.BodyText = request.form("Besked") & VbCrLf & request.form("Alder") & VbCrLf & request.form("By")
Avatar billede esoulman Nybegynder
21. juli 2002 - 02:25 #4
Damn.. jeg kan ik tænke logisk lige nu :o)

Well, hvis ovennævnte skulle give bare nogle enkelte points, må jeg hellere smide et lille svar...
Avatar billede hybel Nybegynder
21. juli 2002 - 02:40 #5
Hov.... jeg ved ikke hvad der sker, nu får jeg svaret :

Mailing Failed... Error is:
This evaluation component has expired.

Hvad skyldes det ???
Avatar billede whatever Nybegynder
21. juli 2002 - 02:51 #6
> This evaluation component has expired.

Hvad kunne det tyde på?
Avatar billede hybel Nybegynder
21. juli 2002 - 03:02 #7
At komponentet er udløbet...

Er det så et evaluerings-email-komponent på cliche.dk's server eller hvad ?
Avatar billede brian_h Nybegynder
21. juli 2002 - 12:45 #8
og med hensyn til esoulman's kommentar om at du overskriver .BodyText, er det forkert.

Du overskriver IKKE .BodyText, men brug af & vbCrLf & er bedre, end at kalde propertyen så mange gange. Men for the record, du overskriver ikke .BodyText, altså tager esoulman fejl!

www.yourhost.dk
Avatar billede coolcoder Nybegynder
21. juli 2002 - 12:56 #9
brian_h >> selvfølgelig har esoulman ret når han siger du overskriver .BodyText.

Hvis du kigger efter er der et lille tegn: "=", det betyder at det forgående bliver sat lig det efterfølgende. Og at det forgåendes tidligere værdi bliver overskrevet.

FX:
<%
dim txt

txt = "test1"
txt = "test2"
txt = "test3"

response.write txt
%>

vil vise "test3" på siden
Avatar billede brian_h Nybegynder
21. juli 2002 - 13:01 #10
coolcoder > det ved jeg udemærket godt. Men vi er ved at scripte et mail-objekt her? Det er en anden sag. Og med mit arbejde med, kræver det at jeg er inde i sådanne komponenter. Og tjek da selv dokumentationen for ASPMail mand.

Men du overskriver ikke .BodyText.... Test det selv. Jeg ved det virker!
Det er dog bedre, ikke at kalde propertyen så mange gange. Bedre at benytte sig af carriage return line feed (vbCrLf) ...

www.yourhost.dk
Avatar billede coolcoder Nybegynder
21. juli 2002 - 13:33 #11
er du helt sikker på du ikke forveklser med JMails .AppendText METODE. Du kender vel forskellen på en property og en method, ikke!! Og ASPMails .BodyText er jo tydeligvis en property (som du også selv siger) Den kan ikke finde ud af at tilføje mere tekst til den nuværende værdi. Det lille lighedstegn der kommer lige bagefter afslører jo alt.

Og lad være ed at komme med dit "jeg er professionel" - det er jeg skam også.
Avatar billede hybel Nybegynder
21. juli 2002 - 14:13 #12
Kunne jeg så ikke få noget hjælp af jer to proffer... betyder fejlen at jeg ikke kan køre dette script ?!
Avatar billede brian_h Nybegynder
21. juli 2002 - 14:17 #13
I hvert fald, hvis du får en fejl med at komponenten er udløbet, kan du ikke køre scriptet. Ikke sagt at du har fejl i dit script.

Så er det Cliche.dk du skal henvende dig til...
Eller skift udbyder, hvis de ikke lever op til hvad de siger

www.yourhost.dk
seriøst og fleksible webhoteller
Avatar billede hybel Nybegynder
22. juli 2002 - 00:17 #14
Kan man ikke lave det i JMail og hvordan vil det så se ud ?!
Avatar billede whatever Nybegynder
22. juli 2002 - 00:53 #15
Selvfølgelig kan det laves i JMail. Jeg har bikset noget kode sammen (det er ikke testet):

<%
    If Request.QueryString = "1" Then
        Response.Buffer = True
        Response.Expires = 0

        Set JMail = Server.CreateObject ("JMail.SMTPMail")
       
        JMail.ServerAddress = "mail.hybels.dk"
        JMail.SenderName = Request.Form("Navn")
        JMail.Sender = Request.Form("Email")
        JMail.AddRecipientEx("mail@hybels.dk","Webmaster")
        JMail.Subject = "EMNE"
        JMail.AppendText(Request.Form("Besked"))
        JMail.AppendText(Request.Form("Alder"))
        JMail.AppendText(Request.Form("By"))

        JMail.Silent = true   

        If Not JMail.Execute Then
            Response.Write "Mailing Failed"
        Else
            Response.Write "Mail Sent"
        End If

        Set JMail = nothing

    End If
%>
Avatar billede brian_h Nybegynder
22. juli 2002 - 08:52 #16
Kommentar til CoolCoder > fandt endelig det script som jeg har ledt efter.
Det viser at man KAN skrive flere .BodyText 's uden at overskrive. Mit eksempel:

objMailer.BodyText = Request.Form("strbesked") & vbCrLf & vbCrLf & strName & " (" & Request.Form("stremail") & ") skrev denne mail den " & FormatDateTime(now, vblongdate) & " kl. " & FormatDateTime(Time, vbShortTime) & vbCrLf & "IP: " & Request.ServerVariables("REMOTE_ADDR")

objMailer.BodyText = vbCrLf & "Personlige oplysninger:" & vbCrLf & "Navn: " & strName & vbCrLf & "Evt. Firma: " & Request.Form("strfirma") & vbCrLf & vbCrLf & "Adresse: " & Request.Form("stradr") & vbCrLf & "Postnr. / by: " & Request.Form("strzip") & " " & Request.Form("strCity") & vbCrLf & vbCrLf & "Telefon: " & Request.Form("strtlf") & vbCrLf & "Fax: " & Request.Form("strfax")

Så er den sag ude.
Scriptet kører på www-adresse. Og modtager dagligt henveldelser fra "det".
Så der er ingen tvivl.

www.yourhost.dk
Avatar billede hybel Nybegynder
23. juli 2002 - 00:54 #17
Har lavet det i ASPEmail istedet, det virker fint, pånær jeg ikke kan bruge: & vbcrlf for linieskift... hvorfor ikke.

Mail.Body = Mail.Body & "Alder = " & Request.form("Alder") & vbcrlf

Skifter ikke linie. Har i svaret har jeg pointene :-)

- Hybel
Avatar billede whatever Nybegynder
23. juli 2002 - 01:09 #18
Prøv dette:

Mail.Body = Mail.Body & "Alder = " & Request.form("Alder") & Chr(13) & Chr(10)
Avatar billede hybel Nybegynder
23. juli 2002 - 02:09 #19
whatever -> virker ikke !
Avatar billede coolcoder Nybegynder
23. juli 2002 - 08:13 #20
Du skal ha' linieskiftet inden teksten, altså:

Mail.Body = Mail.Body & vbcrlf & "Alder = " & Request.form("Alder")
Avatar billede hybel Nybegynder
23. juli 2002 - 12:55 #21
Tak for jeres hjælp...  :-)
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