Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wysyłanie poczty i krzaki
Forum PHP.pl > Forum > PHP
johny-cage
Mam pewien problem z wysyłaniem poczty. w 99% przypadków wszystko działa jednak czasem ktoś zgłasza mi błąd. Błąd polega na tym że zamiast wygenrowanego maila widzi jego kod HTML. Nie wiem czemu tak się dzieje. Do wysyłania poczty używam takiego skryptu:
  1. <?php
  2. $wiadomosc="
  3. <html>
  4.  
  5. <head>
  6. </head>
  7.  
  8. <body>
  9. jakaś wiadomość
  10. </body>
  11.  
  12. </html>
  13. ";
  14.  
  15. $uzytkownik = "MIME-Version: 1.0r\n";
  16. $uzytkownik .= "Content-type: text/html; charset=iso-8859-2r\n";
  17. $uzytkownik .= "From: piotrek<$email_admin>r\n";
  18.  
  19. mail("$email", "temat wiadomości", $wiadomosc, $uzytkownik);
  20. ?>


Ktoś wie skąd mogą brać się krzaki?
JoShiMa
Ja stosuję taki nagłówe:
  1. <?php
  2. $naglowek = "MIME-Version: 1.0\n";
  3. $naglowek .= "Content-Type: text/plain; charset=\"iso-8859-2\"\n";
  4. $naglowek .= "Content-Transfer-Encoding: 8bit\n";
  5. ?>


I nie mam problemów.
piotrooo89
dokładnie jak napisał JoShiMa

tu możęsz dać sobie jeszcze utf-8

  1. <?php
  2. charset=&#092;"utf-8\"\n";
  3.  
  4. //i wysyłasz
  5. mail($email, , $wiadomosc, $uzytkownik, $naglowek);
  6. ?>
johny-cage
Zmienię nagłówek na próbę. Sek w tym że trudno to sprawdzić czy taki rozwiązanie pomogło bo u mnie poczta wyświetla się poprawnie za każdym razem. Informacje o krzakach dostaje od klienta któremu wyświetla się kod źródłowy zamiast treści wiadomości. Próbuje dojść dlaczego. Nie wiem czy to wina programu pocztowego czy skrypt a może jeszcze czegoś innego.

Wprowadziłem nagłówek zgodnie z waszymi poradami

  1. <?php
  2. $naglowek = "MIME-Version: 1.0\n";
  3. $naglowek .= "Content-Type: text/plain; charset=\"iso-8859-2\"\n";
  4. $naglowek .= "Content-Transfer-Encoding: 8bit\n";
  5. $naglowek .= "From: piotrek<$email_admin>r\n";
  6. ?>


Niestety po takiej operacji nawet do mnie zaczęły dochodzić krzaki.
JoShiMa
Cytat(johny-cage @ 27.05.2008, 06:17:36 ) *
Informacje o krzakach dostaje od klienta któremu wyświetla się kod źródłowy zamiast treści wiadomości. Próbuje dojść dlaczego. Nie wiem czy to wina programu pocztowego czy skrypt a może jeszcze czegoś innego.

Pewnie dlatego, że klient nie akceptuje maili w formacie HTML (co za głupia maniera wysyłanie poczty w HTMLu) a Twój program pocztowy ma defaultowo ustawione, żeby akceptować taki format poczty. Być może teraz dostajesz krzaki, bo masz pocztę w ISO a w poczcie inne kodowanie np utf albo windows.
johny-cage
W takim razie w jaki inny sposób niż HTMLem wysyłać pocztę by umieścić w niej np tabelę? Zmiana z iso na utf lub na odwrót powoduje wyświetlanie polskich znaków i nie jestem pewny czy a związek z tym ze użytkownik widzi kod maila zamiast ego treść.
JoShiMa
Cytat(johny-cage @ 27.05.2008, 16:18:45 ) *
W takim razie w jaki inny sposób niż HTMLem wysyłać pocztę by umieścić w niej np tabelę?

To konieczne? Nie może być w załączniku?
johny-cage
A to źle że che by mail zawierał tabelkę?
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.