/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
"
strBody = strBody & "</tr>"
strBody = strBody & "</table>"
%>
<%
Set JMail = Server.CreateObject("JMail.SMTPMail")
JMail.ContentType = "text/html"
JMail.ServerAddress = "Mitmail hotel"
JMail.Priority = 1
JMail.Sender = Request.Form("email")
JMail.AddRecipientEx Request.Form("poc"), "Pockets.dk"
JMail.Subject = "Brev!"
JMail.Body = strBody
JMail.Execute
Set JMail = Nothing
%>


Linjeskift i form med jmail
Fra : spintail


Dato : 16-03-06 23:36

Hejsa
Jeg sender en form med jmail det virker ok borset fra en ting!

Når jeg sender den form med, som man udfylder har jeg et textarea med
som gerne skulle sende <br> eller &vbcrlf& med i mailen.

Når man normalt skriver mellemrum ud fra db eller ud i et textarea
skriver man f.eks

ASP

<%tekst = Replace(rs("dbkald"),"<br>",vbcrlf)%>
<%=tekst%>

Min Jmail ser således ud det er
Besked:"&Request.Form("beskriv")&"&vbcrlf& som skal defineres, som den
står får jeg ingen fejl, men den skriver ikke Linjeskift ud i mailen
fra textarea= beskriv :


Håber nogen ka hjælpe

MvH
Allan

<%
strBody = "<table bgcolor=#E9E9E9 width=300px>"
strBody = strBody & "<tr>"
strBody = strBody & "<td>Mail fra :"&Request.Form("navn")&"</td>"
strBody = strBody & "</tr>"
strBody = strBody & "<tr>"
strBody = strBody &
"<td>Besked:"&Request.Form("beskriv")&"&vbcrlf&</td>"
strBody = strBody & "</tr>"
strBody = strBody & "<tr>"
strBody = strBody & "<td><hr></td>"
strBody = strBody & "</tr>"
strBody = strBody & "<tr>"
strBody = strBody & "<td><a href=""http://pockets.dk""> border=0
src=""
http://pockets.dk/images/tt.gif"">
 
 
spintail (16-03-2006)
Kommentar
Fra : spintail


Dato : 16-03-06 23:55

Hej igen

Glemte lige at sige at jeg har prøvet en masse af men det ser ikke ud
til at virke kan det overhoved lade sig gøre?


Jeg har prøvet :

"&Request.Form("beskriv")&vbcrlf&"
"&Request.Form&("beskriv")&vbcrlf&"
"&Request.Form("beskriv")&"&vbcrlf&""


MvH
Allan


Jens Gyldenkærne Cla~ (17-03-2006)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 17-03-06 10:25

spintail skrev:

> Når jeg sender den form med, som man udfylder har jeg et
> textarea med som gerne skulle sende <br> eller &vbcrlf& med i
> mailen.

Start med at finde ud af hvilken slags linjeskift du har brug for.
Hvis du sender html-mails, skal linjeskift angives med <br>. I en
tekst-mail, skal du bare indsætte et almindeligt linjeskift.

> strBody = "<table bgcolor=#E9E9E9 width=300px>"

- nå, det ser ud til at du laver en html-mail.

> strBody = strBody &
> "<td>Besked:"&Request.Form("beskriv")&"&vbcrlf&</td>"

Hvis du skal have linjeskift *efter* beskedem, skal du sætte "<br>"
ind foran </td> i ovenstående (hvor "&vbcrlf&" i øvrigt bare
placeres i mail-teksten - det er næppe meningen).

Hvis du skal konvertere linjeskift fra dit textarea (beskriv-
feltet) til linjeskift i mailen, skal du lave en erstatning med
replace:

Replace(Request.Form("beskriv"), vbNewline, "<br>" & vbNewline)
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Jens Gyldenkærne Cla~ (17-03-2006)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 17-03-06 11:44

spintail skrev:

> Det var lige i øjet. Tak Jens

Velbekomme.


> Må jeg spørge dig om en anden lille detajle.... hvis nu jeg
> har en SQL :
> SQL= "select * from tabel where feldt =1"
> set rs = conn.execute(SQL)
>
> Hvordan sætter jeg så det jeg gerne vil skrive ud?

Sætter? Jeg forstår ikke helt hvad du mener - er problemet at få
data fra flere poster ud?



> strBody = strBody & "<td><%=rs("feldt")%></td>"
> Dette kan jeg heller ikke få til at virke ved ikke lige hvor
> de forskellige " skal sættes.

Mht. anførselstegn er der nogle generelle regler.

I asp-sammenhæng er " (dobbelt anførselstegn) et anførselstegn,
mens ' (apostrof) er et kommentartegn. Alle tekstværdier skal i asp
omkranses af anførselstegn.

Simple tilfælde:

   X = "Howdy"
   Response.write "Howdy"
   SQL = "SELECT * FROM foo"

I et postsæt refererer man normalt til navnet på et felt som
følger: rs("feltnavn") - her er feltnavn også en simpel tekstværdi.

Problemerne med anførselstegn opstår typisk når man skal lave
tekststrenge der selv indeholder anførselstegn. Også her er reglen
simpel nok - omend det godt kan se forvirrende ud i koden.
Et anførselstegn inde i en tekstværdi skrives som *to*
anførselstegn - i stedet for at skrive " skriver man altså "". Det
dobbelte anførselstegn sikrer at asp-parseren tolker det som et
tegn i en streng, og ikke afslutningen på strengen.

Man kan derfor skrive:

   Y = "Han sagde ""Hej"" og gik videre"
   Response.write "<a href=""foo.html"">foo</a>"

- og få asp-parseren til at læse det som:

(Y = ) Han sagde "Hej" og gik videre
   <a href="foo.html">foo</a>

Hvis man skal hente data ind i en tekststreng - fx fra et postsæt,
en vb-konstant, en variabel eller lignende - er det vigtigt at
sørge for at kaldet til disse data ikke er sat i anførselstegn. ASP
læser intet inde i en korrekt markeret tekststreng, så man skal
skrive alle referencer udenfor anførselstegnene.

Skriver man:

   Response.write "X &vbNewline Y"

- er "&vbNewline" bare en del af teksten, og den vil blive
udskrevet som de 10 tegn den består af.

Skriver man i stedet:

   Response.write "X" & vbNewline & "Y"

- bliver vbNewline læst som en vb-konstant og "oversat" til et
linjeskift.

Helt tilsvarende er det med data fra et postsæt:

A)    Response.write "<p> & rs("feltnavn") & </p>"
B)    Response.write "<p> & rs(""feltnavn"") & </p>"
C)    Response.write "<p>" & rs("feltnavn") & "</p>"

A vil give en asp-fejl, fordi stregen stopper efter nr. 2
anførselstegn.

B vil udskrive teksten <p> & rs("feltnavn") & </p> i koden
(bogstaveligt)

C vil derimod udskrive *værdien* af rs("feltnavn") mellem <p> og
</p> - det er den variant man normalt har brug for.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Jens Gyldenkærne Cla~ (17-03-2006)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 17-03-06 12:54

spintail skrev:

> Jeg takker lige for den gode forklaring der blev jeg meget
> klogere ... ja faktisk så klog at jeg må rette dig

Host, hark...


> Men skal jeg have feldt ("feltnavn") skrevet ud skal den se
> således ud alså uden Response.write

Du har ret i at min løsning ikke kan bruges direkte i din linje -
men den var sådan set heller ikke lavet til det. Jeg gav en generel
forklaring på betydningen af anførselstegn i asp - du må selv finde
ud af at omsætte det til dit konkrete problem.


> strBody = strBody & "<td>""<p>" & rs("feltnavn") &
> "</p>""</td>"

Du har næppe brug for de anførselstegn du udskriver før og efter
dit p-element. Prøv selv at finde ud af hvordan du slipper af med
dem (du kan også overveje helt at udelade p-elementet).


> strBody = strBody & "<td>"--^Response.write "<p>" &
> rs("feltnavn") & "</p>""</td>"

Response.write udskriver til skærmen. Den kan ikke bruges midt i en
sætning der tildeler en værdi til en variabel.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

spintail (17-03-2006)
"
strBody = strBody & "</tr>"
strBody = strBody & "</table>"
%>


Kommentar
Fra : spintail


Dato : 17-03-06 11:16

Jens skrev:

> nå, det ser ud til at du laver en html-mail.
Ja undskyld men troede det fremgik tydeligt af min kode derfor skrev
jeg det ikke
Snip:>JMail.ContentType = "text/html"

Du er en ørn ... jeg vil gerne takke dig for dit svar for svaret var

Replace(Request.Form("beskriv"), vbNewline, "<br>" & vbNewline)

Det var lige i øjet. Tak Jens

Må jeg spørge dig om en anden lille detajle.... hvis nu jeg har en
SQL :
SQL= "select * from tabel where feldt =1"
set rs = conn.execute(SQL)

Hvordan sætter jeg så det jeg gerne vil skrive ud?

strBody = strBody & "<td><%=rs("feldt")%></td>"
Dette kan jeg heller ikke få til at virke ved ikke lige hvor de
forskellige " skal sættes. ved du hvordan man gør det?



Mvh Allan

Løsning på mit første problem skulle der være andre med samme :

<%
strBody = "<table bgcolor=#E9E9E9 width=300px>"
strBody = strBody & "<tr>"
strBody = strBody & "<td>Mail fra :"&Request.Form("navn")&"</td>"
strBody = strBody & "</tr>"
strBody = strBody & "<tr>"
strBody = strBody & "<td>Besked:"&Replace(Request.Form("beskriv"),
vbNewline, "<br>" & vbNewline)&"</td>"
strBody = strBody & "</tr>"
strBody = strBody & "<tr>"
strBody = strBody & "<td><hr></td>"
strBody = strBody & "</tr>"
strBody = strBody & "<tr>"
strBody = strBody & "<td><a href=""http://pockets.dk""> border=0
src=""
http://pockets.dk/images/tt.gif"">
spintail (17-03-2006)
Kommentar
Fra : spintail


Dato : 17-03-06 12:10

Jens skrev
>A) Response.write "<p> & rs("feltnavn") & </p>"
>B) Response.write "<p> & rs(""feltnavn"") & </p>"
>C) Response.write "<p>" & rs("feltnavn") & "</p>"

>C vil derimod udskrive *værdien* af rs("feltnavn") mellem <p> og
></p> - det er den variant man normalt har brug for.

Jeg takker lige for den gode forklaring der blev jeg meget klogere ...
ja faktisk så klog at jeg må rette dig
Men skal jeg have feldt ("feltnavn") skrevet ud skal den se således ud
alså uden Response.write

strBody = strBody & "<td>""<p>" & rs("feltnavn") & "</p>""</td>"


Bruger jeg derimod din C)
Response.write "<p>" & rs("feltnavn") & "</p>"

Er fejlen.

Expected end of statement

/kontakt/mail.asp, line 28

strBody = strBody & "<td>"--^Response.write "<p>" & rs("feltnavn") &
"</p>""</td>"
___
Gør jeg så
strBody = strBody & "<td>"&Response.write &"<p>" & rs("feltnavn") &
"</p>""</td>"

Er fejlen
Wrong number of arguments or invalid property assignment: 'write'

/kontakt/mail.asp, line 28
___________________________________Thanx

Men endu engang tak Jens.

MvH
Allan


spintail (17-03-2006)
Kommentar
Fra : spintail


Dato : 17-03-06 12:20

Så må jeg oxo lige rette mig selv, jeg var som altid lige for hurtig.

Jeg fik det til at virke med

""<p>" & rs("feltnavn") & "</p>""

Men så skriver den "" ud i mailen som ikke skal med gør jeg der imod
således

" & rs("mm") & "

Får jeg det som jeg ønsker....

MvH
Allan


Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408925
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste