Avatar billede sthen Nybegynder
18. december 2003 - 12:30 Der er 11 kommentarer og
1 løsning

Korrekt visning af mail() med <html> koder

Har et problem.

Har lavet et 'Tip en ven' system, som i og for sig fungerer tilfredsstillende, men en enkelt person beklager sig over, at koderne vises i mailen når hun modtager den, i stedet for at blive efektueret.

Kan dette løses, evt. v.hj.a. nogle headers eller hvad ved jeg.

Koden jeg bruger ser således ud:

//******************************SEND MAILEN************************************

$besked = "<html><head><style type=\"text/css\">\n";

$besked .= " BODY{ background-color:white; font-family:Verdana, Arial;font-size:12px;}\n TD{ font-family:Verdana, Arial;font-size:12px;border:none;spacing:0px;}\n .small{font-family:Verdana, Arial;font-size:11px;color:gray;border:none;spacing:0px;}\n A:link{color:#b12c1b; text-decoration:underline;}\n A:active{color:#b12c1b; text-decoration:underline;}\n A:visited{color:#b12c1b; text-decoration:underline;}\n A:hover{color:#b12c1b; text-decoration:underline;}</style>";

$besked .= "</head><body><table><tr><td>";

$besked .= "Kære ".$modtnavn."<br><br>\n";

$besked .= $afsnavn." har bedt os sende dig dette link til vores hjemmeside:<br><br>\n";

$besked .= $sendlink."<br><br>";

$besked .= "Med venlig hilsen<br>Samvirkende Menighedsplejer<br>";

$besked .= "</td></tr>\n<tr><td class=\"small\"><br>Denne mail er sendt til dig fra vores Tip-en-ven system.";
$besked .= " Din e-mail adresse bliver ikke gemt eller videregivet til tredjepart.<br><br>\n";

$besked .= "Har du spørgsmål er du velkommen til at kontakte os på <a href=\"mailto:smp@menighedsplejer.dk\">smp@menighedsplejer.dk</a></td></tr></table></body></html>";

mail($mailadr , "Et link til dig fra ".$afsnavn , $besked ,  "Content-type: text/html; charset=iso-8859-1\nFrom: Samvirkende menighedsplejer <smp@menighedsplejer.dk>\nReply-to: smp@menighedsplejer.dk" );
?>
<br>
<b>Din mail er afsendt</b>
<?

//**********************************MAILEN ER SENDT****************************
Avatar billede zeled Nybegynder
18. december 2003 - 12:40 #1
et hurtigt kig på www.php.net/mail ville have givet dig svaret.

Denne indsættes som det første:

$besked = "Content-Type: text/html;\n    charset=\"iso-8859-1\"\n";
Avatar billede erikjacobsen Ekspert
18. december 2003 - 13:00 #2
Du tror ikke at denne person, blot har sat sin mailklient op til ikke at vise html-mails?
Avatar billede sthen Nybegynder
18. december 2003 - 13:21 #3
Godt at se dig erikjacobsen

Nej jeg ved med 100% sikkerhed at hun kan modtage html-mails, da jeg har forsøgt at sende sådanne til hende andre steder fra.

Men tror I så at de 2 første linier bare skal hedde:

$besked = "Content-Type: text/html;\n    charset=\"iso-8859-1\"\n";
$besked .= "<html><head><style type=\"text/css\">\n";

Jeg mener - skal første linie ikke indsættes i meta-tags eller how??
Avatar billede jakoba Nybegynder
18. december 2003 - 14:22 #4
Content_type skal sendes som header, sammen med returadresse ol. ikke som en del af beskeden
Avatar billede jakoba Nybegynder
18. december 2003 - 14:30 #5
nogle mailklienter kræver '\r\n' istedet for blot '\n' som linieskift i headeren.

andre mailklienter fatter hat af html og kan slet ikke vise det. Andre viser lidt, men ikke alt html.

Hvis du vil sende i et format enhver mailklient forstår, så brug plaintekst. evt i form at et link til den webside som er nyhedsbrevet, det har også den fordel at så behøver modtageren ikke vente på at din grafik og andet htmlbras hentes før de kan kikke på den mail der ligger bagefter i køen, de kan klikke på linket når de har tiden til det.
Avatar billede sthen Nybegynder
18. december 2003 - 14:37 #6
>> jacoba skrev:
Content_type skal sendes som header, sammen med returadresse ol. ikke som en del af beskeden

men det har jeg jo netop også gjort her:
mail($mailadr , "Et link til dig fra ".$afsnavn , $besked ,  "Content-type: text/html; charset=iso-8859-1\nFrom: Samvirkende menighedsplejer <smp@menighedsplejer.dk>\nReply-to: smp@menighedsplejer.dk" );

- derfor fatter jeg hat af hvad der går galt, me skal nok lave det om til text/plain i stedet, hvis ikke andre kan komme med de vise st(h)en
Avatar billede Slettet bruger
18. december 2003 - 16:23 #7
Måske er feltnavnet case-sensistivt? Prøv at skrive Content-Type: (med stort T)

Og som jakoba sige, kan du prøve at skifte \n i dine headers ud med \r\n
Avatar billede googolplex Novice
18. december 2003 - 18:45 #8
sthen: Jeg ligger og roder med 'nøjagtigt' samme problem! Jeg har set løsninger på det rundt omkring, men intet virker. Det er simpelthen en tand for underligt :(
Avatar billede sthen Nybegynder
18. december 2003 - 19:14 #9
Har ændret det efter ovenstående retningslinier, og afsendt mailen igen, så må jeg vente til jeg hører fra vedkommende igen, hvilket måske først bliver i morgen.

/sthen
Avatar billede sthen Nybegynder
19. december 2003 - 09:45 #10
Har fået tilbagemelding nu, at intet af ovenstående virker - desværre.

Hun rejser på ferie nu, og kommer først hjem efter jul, hvorfor det først er mig muligt at teste videre til den tid.

Jeg lader spm. stå åbent indtil da, da jeg jo meget gerne ville kunne slutte af med at skrive hvordan problemet bliver løst, eller i det mindste hvilken kode jeg kan få til at virke.

Håber det er ok!

/sthen
Avatar billede zeled Nybegynder
19. december 2003 - 10:23 #11
Du skal nok tænke tanken lidt længere.

Når du har et "Tip-en-ven" system, så skal du lave en mail som indeholder både HTML og TEXT version. Således at dem som har en ikke-html mail viewer kan læse din mail.

PEAR Mail har denne mulighed. Installere den og lær den.. Den er 1000 gange bedre end alm. mail(), men også mere "kompliceret" i starten.

http://pear.php.net
Avatar billede sthen Nybegynder
28. december 2003 - 15:07 #12
>> zeled
Lavede løsningen med både text og html versioner i samme mail - så virkede det.
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