Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][HTML][email] Przesylanie wiadomosci html
Forum PHP.pl > Forum > Przedszkole
Wolfie
Witam

Mam napisalem skrypt ktory powinien przesylac mi wiadomosci w formacie html :

Oto czesc skryptu :
  1. <?php
  2. $boundary = "==MP_Bound_xyccr948x==";
  3. $headers = "MIME-Version: 1.0r\n";
  4. $headers .= "Content-type: multipart/alternative; boundary=\"$boundary\"r\n";
  5. if (!$cc == "") {
  6.  $headers .= "CC: " . $cc . "r\n";
  7. }
  8. if (!$bcc == "") {
  9.  $headers .= "BCC: " . $bcc . "r\n";
  10. }
  11. $headers .= "From: " . $from . "r\n";
  12.  
  13. $html_msg .= "<center>";
  14. $html_msg .= "<table width=\"500\" border=0 cellpadding=\"4\">";
  15. $html_msg .= "<tr><td>Witaj $toname!";
  16. $html_msg .= "</td></tr><tr><td>";
  17. $html_msg .= "$fromname wysłał(a) Ci dziś pocztówkę.<br>Dobrej zabawy!";
  18. $html_msg .= "</td></tr><tr><td align=\"center\">";
  19. $html_msg .= "<img src=\"$postcard\" border=\"0\">";
  20. $html_msg .= "</td></tr><tr><td align=center>";
  21. $html_msg .= $messagebody . "\n";
  22. $html_msg .= "</td></tr></table></center>";
  23.  
  24. $message = "Jest to komunikat wieloczęściowy w formacie MIME\n";
  25. $message .= "--$boundary\n";
  26. $message .= "Content-type: text/html; charset=utf-8\n";
  27. $message .= "Content-Transfer-Encoding: 8bit\n\n";
  28. $message .= $html_msg . "\n";
  29. $message .= "--$boundary\n";
  30. $message .= "Content-Type: text/plain; charset=\"utf-8\"\n";
  31. $message .= "Content-Transfer-Encoding: 8bit\n\n";
  32. $message .= $messagebody . "\n";
  33. $message .= "--$boundary--";
  34. echo $message;
  35. $mailsent = mail($to, $subject, $message, $headers) or die (print_r(error_get_last()));
  36. ?>


Ale niestety dochodzi tylko text/plain nie wiem dalczego, czyzby naglowki byly jakos zle zdefiniowane ?
We wczesniejszych prostszych wersjach gdy przesylalem tylko html przesylalo sie wszystko ok, ale teraz wysyla sie tylko wiadomosc text/palin, czym moze to byc spowodowane ?

-------------------------------------
czy nagłówki w powyższym przypadku mozna podawać w treści wiadomości ?
oomaster
proponuje usunąć na początek boundary.

A tu masz prosty przykładzik:

Kod
$headers  = 'MIME-Version: 1.0' . "\r\n";
    $headers .= 'Content-type: text/html; charset=UTF-8' . "\r\n";
    $headers .= 'From: '.$name.' <'.$adres.'>' . "\r\n";

  $list = "tresc";
  mail($to,"tytul", $list, $headers);


Zmodyfikuj według uznania winksmiley.jpg
Wolfie
No to jak mam oddzielac w takim razie rozne typy ? smile.gif
oomaster
prosze, tylko to tak z głowy i może nie działać

Kod
$headers  = 'MIME-Version: 1.0' . "\r\n";
    $headers .= 'Content-type: text/html; charset=UTF-8' . "\r\n";
    $headers .= 'From: '.$name.' <'.$adres.'>' . "\r\n";
if (!$cc == "") {
$headers .= "CC: " . $cc . "r\n";
}
if (!$bcc == "") {
$headers .= "BCC: " . $bcc . "r\n";
}

$html_msg .= "<center>";
$html_msg .= "<table width=\"500\" border=0 cellpadding=\"4\">";
$html_msg .= "<tr><td>Witaj $toname!";
$html_msg .= "</td></tr><tr><td>";
$html_msg .= "$fromname wysłał(a) Ci dziś pocztówkę.<br>Dobrej zabawy!";
$html_msg .= "</td></tr><tr><td align=\"center\">";
$html_msg .= "<img src=\"$postcard\" border=\"0\">";
$html_msg .= "</td></tr><tr><td align=center>";
$html_msg .= $messagebody . "\n";
$html_msg .= "</td></tr></table></center>";


$mailsent = mail($to, $subject, $html_msg, $headers) or die (print_r(error_get_last()));
?>
Wolfie
Nie no to to ja rozumiem , ale jak chce wyslac wiadomosc ktora dotrze zarowno do uzytkownika ktorego poczta odbiera html i do tego ktorego poczta odbiera tylko plain text, czyli chodzi mi o jedna wiadomosc skladajaca sie z multipart.....no i zeby to wyslac w jednym wywolaniu funkcji mail()

------------------------------------------
Wiec ponawiam pytanie czy nagłówki mozna rownież definiowac w tresci listu tak jak jest to w pierwszym poscie czy tylko w nagłówkach ?

Właśnie zauwazylem ze "Content-Type" w jednej linijce jest napisany z duzej w innej z malej, probowalem obu opcji ale ciagle to samo czyli tylko plain text.
A tak apropos ktora wersja jest dobra ?
Ta ?
Cytat
Content-type

Czy ta ?
Cytat
Content-Type


Ludziska , pomorze ktos ? sciana.gif

  1. <html>
  2. <head>
  3. <title>List został wysłany</title>
  4. </head>
  5. <body>
  6. <?php
  7.    $to = $_POST['to'];
  8.    $from = $_POST['from'];
  9.    $cc = $_POST['cc'];
  10.    $bcc = $_POST['bcc'];
  11.    $subject = $_POST['subject'];
  12.    $messagebody = $_POST['message'];
  13.    $boundary = "==MP_Bound_xyccr958x==";
  14.    $headers = "MIME-Version: 1.0r\n";
  15.    $headers .= 'Content-Type: multipart/alternative; boundary='.$boundary."r\n";
  16.    $headers .= 'CC: '.$cc."r\n";
  17.    $headers .= 'BCC: '.$bcc."r\n";
  18.    $headers .= 'From: '.$from. "r\n";
  19.    $message = "To jest komunikat wieloczęsciowy w formacie MIME r\n";
  20.    $message .= "--$boundaryr\n";
  21.    $message .= "Content-Type: text/html; charset=utf-8r\n";
  22.    $message .= "Content-Transfer_Encoding: quoted-printabler\nr\n";
  23.    $message .= $messagebody ."r\nr\n";
  24.    $message .= "--$boundaryr\n";
  25.    $message .= "Content-Type: text/plain; charset=utf-8r\n";
  26.    $message .= "Content-Transfer_Encoding: quoted-printabler\nr\n";
  27.    $message .= $messagebody ."r\nr\n";
  28.    $message .= "--$boundaryr\n";
  29.    //die($message);
  30.    $mailsent = mail($to, $subject, $message, $headers);
  31.    if(mailsent) {
  32.        echo 'Gratulacje! Właśnie wysłano następujący list: <br><br>';
  33.        echo '<b>Odbiorca: </b>'.$to.'<br>';
  34.        echo '<b>Nadawca: </b>'.$from.'<br>';
  35.        echo '<b>Temat: </b>'.$subject.'<br>';
  36.        echo '<b>Treść: </b><br>';
  37.        echo $message;
  38.    } else {
  39.        echo 'Wystąpił błąd...';
  40.    }
  41. ?>
  42. </body>
  43. </html>



Zmodyfikowalem wszystko wedlug artykułu który podał mi jeden z uzytkownikow forum ale ciagle to samo, przychodzi pusty list....
Tablica $_POST przesyła sie prawidłowo , ale na maila przychodzi tylko temat wiadomosci a tresci brak.....
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.