19. januar 2007 - 02:14
Der er
18 kommentarer og 1 løsning
html i php mail
Dette spørgsmål er sikker besvaret, men jeg kan ikke lige finde en løsning nogen steder. Jeg kan sagtens sende en alm. tekst mail med php, men hvordan gør jeg sådan at de brugere som har mulighed for at læse html mails får teksten formateret med html når de modtager en mail, mens de brugere der ikke kan læse html mails kun får en tekst version? Jeg vil høre om der er en som kan fortælle eller har et link til en tutorial, som fortæller om følgende.
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
19. januar 2007 - 05:34
#1
Du kan installere dette framework:
http://pear.php.net/ Når det er gjort(tager nok nogle forsøg) kan du installere denne pakke:
http://pear.php.net/package/Mail_Mime Så skulle det være lige til at gå til :)
Der findes nok andre løsninger, men jeg har selv valgt denne.
19. januar 2007 - 09:02
#2
Du kan bruge dette. <?php $headers = "From: Dinmail.dk\r\n"; $headers .= "MIME-Version: 1.0\r\n"; $boundary = uniqid(); $headers .= "Content-Type: multipart/alternative" . "; boundary = $boundary\r\n\r\n"; $headers .= "This is a MIME encoded message.\r\n\r\n"; //Tekst beskeden $headers .= "--$boundary\r\n" . "Content-Type: text/plain; charset=ISO-8859-1\r\n" . "Content-Transfer-Encoding: base64\r\n\r\n"; $headers .= chunk_split(base64_encode("This is the plain text version!")); //HTML beskeden $headers .= "--$boundary\r\n" . "Content-Type: text/html; charset=ISO-8859-1\r\n" . "Content-Transfer-Encoding: base64\r\n\r\n"; $headers .= chunk_split(base64_encode("This the <b>HTML</b> version!")); //send mail mail("enAnden@mail.dk", "An HTML Message", "", $headers); ?> Kim
19. januar 2007 - 09:16
#3
En lile rettelse <?php $headers .= "From: enEmail.dk\n"; $headers .= "MIME-Version: 1.0\r\n"; $boundary = uniqid(); $headers .= "Content-Type: multipart/alternative" . "; boundary = $boundary\r\n\r\n"; $headers .= "This is a MIME encoded message.\r\n\r\n"; $headers .= "X-Mailer: domæne.dk\r\n"; //Tekst beskeden $headers .= "--$boundary\r\n" . "Content-Type: text/plain; charset=ISO-8859-1\r\n" . "Content-Transfer-Encoding: base64\r\n\r\n"; $headers .= chunk_split(base64_encode("This is the plain text version!")); //HTML beskeden $headers .= "--$boundary\r\n" . "Content-Type: text/html; charset=ISO-8859-1\r\n" . "Content-Transfer-Encoding: base64\r\n\r\n"; $headers .= chunk_split(base64_encode("This the <b>HTML</b> version!")); //send mail mail("andenEmail.dk", "Overskrift", "", $headers); ?>
19. januar 2007 - 10:28
#4
Til fjappe jeg kan ikke lige se hvad det er du vil have mig til at installere fra det første link. Til kimg jeg vil lige være sikker på jeg har forstået det rigtigt. jeg indsætter dit script og sender sådan mail("andenEmail.dk", "Overskrift", "Beskeden her", $headers); under dette indsætter jeg så det script der sender den alm. tekst mail, eller er der noget jeg har misforstået.
19. januar 2007 - 16:54
#5
Det hele bliver sendt på en gang, du skal bare sætte det ind som jeg har gjort men selvfølgelig rette mail adr og din tekst. Kim
19. januar 2007 - 19:56
#6
jeg havde overset de to noter med tekst og html beskeder, men det virker ikke jeg har en side med nedstående script (den kode du har postet samt beskederne), men får følgende fejl Warning: uniqid() expects at least 1 parameter, 0 given in /home/www/demo.magiske-michael.dk/mail.php on line 4 jeg har skiftet mail adresserne ud <?php $headers .= "From: min@mail.dk\n"; $headers .= "MIME-Version: 1.0\r\n"; $boundary = uniqid(); $headers .= "Content-Type: multipart/alternative" . "; boundary = $boundary\r\n\r\n"; $headers .= "This is a MIME encoded message.\r\n\r\n"; $headers .= "X-Mailer: domæne.dk\r\n"; $besked = "Dette er tekst beskeden\r\ntjekker om det virker"; $headers .= "--$boundary\r\n" . "Content-Type: text/plain; charset=ISO-8859-1\r\n" . "Content-Transfer-Encoding: base64\r\n\r\n"; $headers .= chunk_split(base64_encode("This is the plain text version!")); $besked = "Dette er <b>html</b> beskeden<br>tjekker om det virker"; $headers .= "--$boundary\r\n" . "Content-Type: text/html; charset=ISO-8859-1\r\n" . "Content-Transfer-Encoding: base64\r\n\r\n"; $headers .= chunk_split(base64_encode("This the <b>HTML</b> version!")); //send mail mail("en@mail.dk", "Overskrift", "$besked", $headers); ?>
19. januar 2007 - 20:04
#7
<?php $headers .= "From: min@mail.dk\n"; $headers .= "MIME-Version: 1.0\r\n"; $boundary = uniqid("htmlMail"); $headers .= "Content-Type: multipart/alternative" . "; boundary = $boundary\r\n\r\n"; $headers .= "This is a MIME encoded message.\r\n\r\n"; $headers .= "X-Mailer: domæne.dk\r\n"; $besked = "Dette er tekst beskeden\r\ntjekker om det virker"; $headers .= "--$boundary\r\n" . "Content-Type: text/plain; charset=ISO-8859-1\r\n" . "Content-Transfer-Encoding: base64\r\n\r\n"; $headers .= chunk_split(base64_encode("This is the plain text version!")); $besked = "Dette er <b>html</b> beskeden<br>tjekker om det virker"; $headers .= "--$boundary\r\n" . "Content-Type: text/html; charset=ISO-8859-1\r\n" . "Content-Transfer-Encoding: base64\r\n\r\n"; $headers .= chunk_split(base64_encode("This the <b>HTML</b> version!")); //send mail mail("en@mail.dk", "Overskrift", "$besked", $headers); ?>
19. januar 2007 - 20:05
#8
Fjern de 2 $besked du har sat ind
19. januar 2007 - 20:13
#9
så får jeg Parse error: parse error, unexpected T_STRING in /home/www/demo.magiske-michael.dk/mail.php on line 24 det er denne linie mail("en@mail.dk", "Overskrift", $besked, $headers); jeg vil lige være sikker på at det rigtigt som jeg har indsat beskederne eller skal beskederne ind i de () hvor der står This is the plain text version! og This the <b>HTML</b> version?
19. januar 2007 - 20:14
#10
i den linie hvor der er fejl har jeg også prøvet at skifte " ud med ' i stedet, men uden held
19. januar 2007 - 20:25
#11
nu sender den en mail,men beskeden ser mærkelig ud jeg bruger dette <?php $headers .= "min@mail.dk\n"; $headers .= "MIME-Version: 1.0\r\n"; $boundary = uniqid("htmlMail"); $headers .= "Content-Type: multipart/alternative" . "; boundary = $boundary\r\n\r\n"; $headers .= "This is a MIME encoded message.\r\n\r\n"; $headers .= "X-Mailer: domæne.dk\r\n"; //tekst besked $headers .= "--$boundary\r\n" . "Content-Type: text/plain; charset=ISO-8859-1\r\n" . "Content-Transfer-Encoding: base64\r\n\r\n"; $headers .= chunk_split(base64_encode("This is the plain text version!")); //html besked $headers .= "--$boundary\r\n" . "Content-Type: text/html; charset=ISO-8859-1\r\n" . "Content-Transfer-Encoding: base64\r\n\r\n"; $headers .= chunk_split(base64_encode("This the <b>HTML</b> version!")); //send mail mail("en@mail.dk", "Overskrift", "", $headers); echo"mail sendt"; ?> den mail jeg får har følgende indhold (modtaget med Outlook): min@mail.dk MIME-Version: 1.0 Content-Type: multipart/alternative; boundary = htmlMail45b11a2f1a147 This is a MIME encoded message. X-Mailer: domæne.dk --htmlMail45b11a2f1a147 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: base64 VGhpcyBpcyB0aGUgcGxhaW4gdGV4dCB2ZXJzaW9uIQ==--htmlMail45b11a2f1a147 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: base64 VGhpcyB0aGUgPGI+SFRNTDwvYj4gdmVyc2lvbiE=
20. januar 2007 - 09:43
#12
Ret denne linie til dit domæne $headers .= "X-Mailer: domæne.dk\r\n";
20. januar 2007 - 13:20
#13
så ser mailen sådan ud jeg har prøvet både med og uden www. ------------------------------- min@mail.dk MIME-Version: 1.0 Content-Type: multipart/alternative; boundary = htmlMail45b207e713268 This is a MIME encoded message. X-Mailer: magiske-michael.dk --htmlMail45b207e713268 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: base64 VGhpcyBpcyB0aGUgcGxhaW4gdGV4dCB2ZXJzaW9uIQ==--htmlMail45b207e713268 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: base64 VGhpcyB0aGUgPGI+SFRNTDwvYj4gdmVyc2lvbiE=
22. januar 2007 - 03:05
#14
ved du hvor fejlen kan være?
22. januar 2007 - 10:19
#15
Nej, jeg har testet det selv, der virker det fint, har du evt. en mail adr. så kan jeg sende en test mail
22. januar 2007 - 12:53
#16
diverse a magiske - michael . dk
28. januar 2007 - 18:36
#17
har du sendt en test mail for jeg har ikke modtaget nogen?
01. februar 2007 - 23:13
#18
jeg lukker her og prøver måske at spørge igen senere hvis jeg ikke selv finder en løsning. vil du have del i point så kom med et svar
09. februar 2007 - 22:19
#19
lukker
Vi tilbyder markedets bedste kurser inden for webudvikling