Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak wysłać e-maila przez PHP w formacie HTML
Forum PHP.pl > Forum > Przedszkole
Gość_elipsa
Czy wie ktoś może, jaka może być przyczyna, że skrypt ze strony
http://pl.php.net/manual/pl/function.mail.php
nie działa mi tak, jak trzeba.

Owszem, wysyła mila, ale bez polskich znaków i w formacie tekstowym, a nie html (czyli w treści wiadomości są znaczniki typu <br> itp).
DreeD
Nastepnym razem wystarczy doczytac dokladnie manuala..
Cytuje:
  1. <?php
  2. /* Aby wysłać e-mail w formacie HTML, należy ustawić nagłówek Content-type. */
  3. $naglowki = "MIME-Version: 1.0rn";
  4. $naglowki .= "Content-type: text/html; charset=iso-8859-1rn";
  5.  
  6. /* dodatkowe nagłówki */
  7. $naglowki .= "From: Przypominacz o urodzinach <urodziny@example.com>rn";
  8.  
  9. $naglowki .= "Cc: archiwum_mailingu@example.comrn";
  10. $naglowki .= "Bcc: kontrola_mailingu@example.comrn";
  11.  
  12. /* a teraz wyślij */
  13. mail($do, $temat, $wiadomosc, $naglowki);
  14. ?>
Gość_elipsa
No tak, ale ten skrypt wysyła wiadomość jako zwykły tekst, a znaków polskich i tak nie ma nawet po wpisaniu 8859-2. Chodzi o to, że w otrzymanym mailu mam coś takiego (wygląda na to, że informacje z nagłówka są jakoś ignorowane, bo dla mnie to to jest text/plain a nie text/html):

  1.  
  2.  
  3. <title>Przypomnienie o urodzinach w Sierpniu</title>
  4.  
  5. </head>
  6.  
  7.  
  8. <p>Te urodziny będziemy więtować w Sierpniu!</p>
  9.  
  10.  
  11. <tr>
  12.  
  13. <th>Osoba</th><th>Dzień</th><th>Miesišc</th><th>Rok</th>
  14.  
  15. </tr>
  16.  
  17. <tr>
  18.  
  19. <td>Jan</td><td>3.</td><td>Sierpnia</td><td>1970</td>
  20.  
  21. </tr>
  22.  
  23. <tr>
  24.  
  25. <td>Szymon</td><td>17.</td><td>Sierpnia</td><td>1973</td>
  26.  
  27. </tr>
  28.  
  29.  
  30. </body>
  31.  
  32. </html>


Brak bbCode. Poprawiam. DreeD
DreeD
Wrzuć proszę wszystko (chodzi mi głównie o nagłówki) co wysyłasz przez mail().
Gość_elipsa
Oto cały skrypt:

  1. <?php
  2. /* adresaci */
  3. $do = "Mariusz <mn.sopot@wp.pl>" . ", " ; // zwróc uwagę na przecinek
  4. $do .= "Danuta <dn.sopot@wp.pl>";
  5.  
  6. /* temat */
  7. $temat = "Przypomnienie o urodzinach w Sierpniu";
  8.  
  9. /* wiadomość */
  10. $wiadomosc = '
  11. <html>
  12. <head>
  13.  <title>Przypomnienie o urodzinach w Sierpniu</title>
  14. </head>
  15. <body>
  16. <p>Te urodziny będziemy świętować w Sierpniu!</p>
  17. <table>
  18.  <tr>
  19. <th>Osoba</th><th>Dzień</th><th>Miesiąc</th><th>Rok</th>
  20.  </tr>
  21.  <tr>
  22. <td>Jan</td><td>3.</td><td>Sierpnia</td><td>1970</td>
  23.  </tr>
  24.  <tr>
  25. <td>Szymon</td><td>17.</td><td>Sierpnia</td><td>1973</td>
  26.  </tr>
  27. </table>
  28. </body>
  29. </html>
  30. ';
  31.  
  32. /* Aby wysłać e-mail w formacie HTML, należy ustawić nagłówek Content-type. */
  33. $naglowki = "MIME-Version: 1.0rn";
  34. $naglowki .= "Content-type: text/html; charset=iso-8859-2rn";
  35.  
  36. /* dodatkowe nagłówki */
  37. $naglowki .= "From: Przypominacz o urodzinach <urodziny@example.com>rn";
  38.  
  39. $naglowki .= "Cc: archiwum_mailingu@example.comrn";
  40. $naglowki .= "Bcc: kontrola_mailingu@example.comrn";
  41.  
  42. /* a teraz wyślij */
  43. mail($do, $temat, $wiadomosc, $naglowki);
  44. ?>



Ponownie brak bbCode. Poprawiam. DreeD
DreeD
Cytat(Manual)
Notatka:  Argument do nie może być adresem w postaci "Ktośtam <someone@example.com>". Funkcja mail() nie przetworzy prawidłowo takiego adresu w czasie transakcji z Agentem Transferu Poczty (MTA).


Wpisz sam e-mail: "someone@example.com" bez tej cześci w <>.

PS. Zachęcam do rejestracji na forum.
Gość_elipsa
Uruchomiłem ten poprawiony kod, ale treść przysłanego maila wygląda tak:

  1. Content-type: text/html; charset=iso-8859-2
  2.  
  3. From: Przypominacz o urodzinach <urodziny@example.com>
  4. Cc: archiwum_mailingu@example.com
  5. X-WP-AV: skaner antywirusowy poczty Wirtualnej Polski S. A.
  6. X-WP-SPAM: NO (user level 2) AS1=NO AS2=YES(1.000000) AS3=NO AS4=NO
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13. <title>Przypomnienie o urodzinach w Sierpniu</title>
  14.  
  15. </head>
  16.  
  17.  
  18. <p>Te urodziny będziemy więtować w Sierpniu!</p>
  19.  
  20.  
  21. <tr>
  22.  
  23. <th>Osoba</th><th>Dzień</th><th>Miesišc</th><th>Rok</th>
  24.  
  25. </tr>
  26.  
  27. <tr>
  28.  
  29. <td>Jan</td><td>3.</td><td>Sierpnia</td><td>1970</td>
  30.  
  31. </tr>
  32.  
  33. <tr>
  34.  
  35. <td>Szymon</td><td>17.</td><td>Sierpnia</td><td>1973</td>
  36.  
  37. </tr>
  38.  
  39.  
  40. </body>
  41.  
  42. </html>


Nagłówki są w treści maila - nie wiem o co tutaj chodzi.

Ponownie poprawiam.. Wiadomo o co chodzi.. DreeD
Gość_elipsa
Próbowałem i znów to samo sad.gif sad.gif sad.gif

Może to być problem z konfiguracją php na moim serwerze? Wersja 4.3.10.
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.