Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][HTML] Błąd wyświetlania html
Forum PHP.pl > Forum > Przedszkole
Wolfie
Witam,

Mecze sie z tym juz kilka dni i nie moge dojsc co jest nie tak.
Otoz stworzylem sobie skrypt wysylajacy maila na poczte, ale niestety gdy mail dochodzi nie widac tresci wiadomosci a jedynie tytul, reszta to pusty mail. Probowalem na roznych klientach poczty, gmail oraz hotmail bo czytalem ze gmail ma problemy z odczytaniem znacznikow \r\n.

Przedstawiam skrytp przez ktory wysyłam maila:

  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 \n";
  20.    $message .= "--$boundary\n";
  21.    $message .= "Content-Type: text/html; charset=utf-8\n";
  22.    $message .= "Content-Transfer_Encoding: 8bitr\n";
  23.    $message .= $messagebody ."\n";
  24.    $message .= "--$boundary\n";
  25.    $message .= "Content-Type: text/plain; charset=utf-8\n";
  26.    $message .= "Content-Transfer_Encoding: 8bitr\n";
  27.    $message .= $messagebody ."\n";
  28.    $message .= "--$boundary\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>


Sprawdzilem tablice $_POST i wszystkie dane przesylaja sie prawidlowo włączajac w to tresc wiadomosci wiec teoretycznie wszystko powinno dzialac ale niestety gdy mail dociera jest tylko pusta wiadomosc z tytulem......
nospor
czemu raz uzywasz \n a raz \r\n ? Ma byc \r\n

poza tym nie lepiej uzyc normalnej gotowej klasy do maila, np. PHPMailer?
Wolfie
Cytat
czemu raz uzywasz \n a raz \r\n ? Ma byc \r\n


Dlatego ze ucze sie z ksiazki i tam wlasnie jest tak zrobione

Cytat
poza tym nie lepiej uzyc normalnej gotowej klasy do maila, np. PHPMailer?


Z tego samego powodu nie uzywam klasy PHPMailer smile.gif Chce przerobic ksiazke a pozniej bede sie bawil klasami i cala reszta smile.gif

-----------------------------------------------------------------

Zamienilem wszystko na \r\n i ten sam efekt.......brak tresci wiadomosci
nospor
przerobic ksiazke tylko poto by przerobic i miec odfajkowane.... no nic, twoja sprawa smile.gif

podejrzyj źródło maila - tez nie ma tresci?
Wolfie
Tak samo dzieje sie gdy uzywam samego \n

W źrodle nie ma wiadomosci......nie po to zeby odfajkowac tylko po to zeby miec podstawy i zabrac sie za kolejna ksiazke tym razem z programowania objektowego smile.gif
nospor
Cytat
c tylko po to zeby miec podstawy
odróżnij poznawanie podstaw od uczenia się zbednych funkcji smile.gif marnujesz teraz czas na jakieś mail, ktorego na dobrą sprawę nie uzywa się.

co do problemu: mi szkoda czasu na mail() wiec juz milcze winksmiley.jpg
nieraczek
To zacznij od małej ilości kodu (poniższy kod działa):

  1. <?php
  2. $od = "nieznajomy@wp.pl";
  3. $naglowek = "From: <$od>r\n";
  4. $naglowek .= "Reply-To: <$od>";
  5.  
  6. $temat="temat";
  7. $tresc="tresc";
  8.  
  9. mail("TUTAJ_TWOJ_EMAIL@COS.PL", $temat, $tresc, $naglowek);
  10. ?>


i dodawaj kolejne linijki i w końcu dojdziesz gdzie tkwił błąd smile.gif
Wolfie
neiraczek ja wiem ze blad tkwi w multipart smile.gif wiec głównie problem jest tutaj, gdy przesylam maile ze tak powiem na sztywno wszystko dziala ale jak juz chce przeslac multipart/alternative jest gorzej.........mam jeszcze inny skrypt ktory przesyla plain text prawidlowo za to ma problemy z przeslaniem text/html , wczoraj pisalem na ten temat ale nikt nie zechcial pomoc wiec zaczalem bardziej lopatologicznie dzisiaj smile.gif no i widze wiecej chetny , tylko niewiem czy po tej wypowiedzi znowu nie spotkam sie z milczeniem....... dry.gif
nospor
Cytat
wczoraj pisalem na ten temat ale nikt nie zechcial pomoc
dzieki za cynk. cross na forum jest zabroniony a ty o tym wiesz, bo juz cie za to upominalem. jak chciales bardziej lapotologicznie to trzeba bylo rozwinac wczorajszy watek, ktory jest o tym samym, a nie zakladac kolejny
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.