Avatar billede pbudk Nybegynder
16. maj 2002 - 18:10 Der er 11 kommentarer og
4 løsninger

Mail, textarea og linieskift

Hej

Jeg sidder med et lille script til at sende emails.

Men når jeg modtager dem i mit mail program (Outlook 2000) står al text fra textareaet på een linie på trods af, at jeg har flere linieskift i textareaet (returns).

min html kode ser således ud (udklip):
<form action=emailfriend.php method=post>
Indtast emailadresse:<br>
<input type="text" name="email" size="26">
<br><br>
Skriv din besked her:</font><br>
<textarea rows="6" name="dinbesked" cols="20"></textarea><br><br>
<input type=submit name=send value='SEND EMAIL'>
</form>

min phpkode ser således ud (udklip):

$headers .= "From: Pbudk \n";
$headers .= "X-Sender: <pbudk@mail.dk>\n";
$headers .= "X-Mailer: PHP\n"; // mailer
$besked = "Du skrev:\n";
$besked .= $dinbesked;
mail("$email", "Besked", $besked, $headers);

Er der nogen, der kan se, hvad jeg gør forkert ?

På forhånd tak

/pbudk
Avatar billede marduk666 Nybegynder
16. maj 2002 - 18:16 #1
Prøv

mail("$email", nl2br("Besked"), $besked, $headers);
Avatar billede marduk666 Nybegynder
16. maj 2002 - 18:17 #2
Hovsa

mail("$email", "Besked", nl2br($besked), $headers);

Der :P
Avatar billede repsac Nybegynder
16. maj 2002 - 18:19 #3
se en gang på www.php.net/mail og www.php.net/nl2br - så er det også muligt at forstå hvad der sker :)
Avatar billede pbudk Nybegynder
16. maj 2002 - 18:22 #4
nu laver den godtnok linieskiftet, men det kommer til at se således ud:
test1
<br>
test2
<br>
test3

Det var ikke helt hensigten ;o)
Avatar billede otis Nybegynder
16. maj 2002 - 18:35 #5
lav headeren til html
header("Content-type: text/html");
Avatar billede pbudk Nybegynder
16. maj 2002 - 18:39 #6
Den skal helst kunne sende det som "ren" tekst
Avatar billede tipsen Nybegynder
16. maj 2002 - 19:08 #7
så lav denne header og undlad nl2br()

Content-Type: text/plain; charset=iso-8859-1
Avatar billede zakarun Nybegynder
16. maj 2002 - 19:09 #8
ellers prøv at bruge windåse newlines:  altså \r\n i stedet for \n
Avatar billede zakarun Nybegynder
16. maj 2002 - 19:10 #9
..og det var jo et svar ;)
Avatar billede pbudk Nybegynder
16. maj 2002 - 19:14 #10
tipsen > desværre ingen forandring

det er kun den tekst, jeg henter fra textarea'et ($dinbesked), der ikke kommer linieskift på. Der hvor jeg manuelt har skrevet \n er linieskiftet der godtnok.

/pbudk
Avatar billede tipsen Nybegynder
16. maj 2002 - 19:15 #11
Brug hvertfald \r\n til at adskille linierne i dine headers
Avatar billede tipsen Nybegynder
16. maj 2002 - 19:17 #12
-kan det evt. være en indstilling i det fantastiske program
Outlook?
Avatar billede tipsen Nybegynder
16. maj 2002 - 19:17 #13
Jeg bruger selv samme metode og mit mailprogram har ikke problemer med linieskiftene fra et text-area....
Avatar billede tipsen Nybegynder
16. maj 2002 - 19:21 #14
NB: Behold forøvrigt: Content-Type: text/plain; charset=iso-8859-1 så vil det fungere på flest muligt mail-klienter.
Avatar billede pbudk Nybegynder
16. maj 2002 - 19:29 #15
Det kan bestemt ikke afvises.

Jeg har dog eksperimenteret lidt. Vores eget mailhotel ligger på en windows nt server - men jeg har også en mail adresse på en Unix server.
Når jeg sender mail til Unix'en kommer mine linieskift godtnok, men på NT'en er de altså væk.

Jeg tolker dette som en ikke-programmerings fejl.
Men det medfører vist også, at jeg må droppe at få det til at fungere.


/pbudk
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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