Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]problem z phpmailerem i utf8
dojek
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 5.06.2006

Ostrzeżenie: (0%)
-----


Witam,

Wiem ze ten temat się przewijał kilka razy na forum ale żadne rozwiązanie tam podane nie rozwiązało mojego problemu:

Mam taki formularz narazie prosty:

(IMG:http://img137.imageshack.us/img137/193/20895047.th.png)

Uploaded with ImageShack.us

i do niego podpięty skrypt PHP który wysyła maila do mnie i na adres podany w formularzu jako potwierdzenie ze się coś takiego wysłało:

  1. <?php
  2. require("class.phpmailer.php");
  3. $email=htmlentities($_POST['email']);
  4. $mensagem=htmlentities($_POST['mensagem']);
  5. $nome=htmlentities($_POST['nome']);
  6.  
  7. $mail = new PHPMailer();
  8. $mail->IsHTML(true);
  9.  
  10. //$mail->SMTPSecure = "ssl"; // sets the prefix to the servier
  11. $mail->SMTPAuth = true; // enable SMTP authentication
  12. $mail->IsSMTP(); // telling the class to use SMTP
  13. $mail->FromName = "Firma Apple";
  14. $mail->Host = "www.poczta.fm"; // SMTP server
  15. $mail->From = "dojek@poczta.fm";
  16. $mail->Username = "##########";
  17. $mail->Password = ".................";
  18. $mail->Port = 587;
  19. $mail->AddAddress("dojek@poczta.fm");
  20. $mail->Subject = "Formularz kontaktowy ze strony od firmy:$nome";
  21. $mail->Body="Dane z formularza kontakowego! <br><br>Wiadomość: $mensagem<br><br> Dane firmy: $nome<br><br>e-mail kontakowy: $email";
  22. $mail->WordWrap = 50;
  23. $mail->CharSet="utf-8";
  24.  
  25. if(!$mail->Send())
  26. {
  27. echo 'Message was not sent.';
  28. echo 'Mailer error: ' . $mail->ErrorInfo;
  29. }
  30. else
  31. {
  32. echo 'Message has been sent.';
  33. }
  34.  
  35. $mail = new PHPMailer();
  36. $mail->IsHTML(true);
  37. //$mail->CharSet="utf-8";
  38. $mail->SMTPAuth = true; // enable SMTP authentication
  39. $mail->IsSMTP(); // telling the class to use SMTP
  40. $mail->Host = "www.poczta.fm"; // SMTP server
  41. $mail->FromName = "Firma Apple";
  42. $mail->From = "dojek@poczta.fm";
  43. $mail->Username = "##########";
  44. $mail->Password = ".................";
  45. $mail->Port = 587;
  46. $mail->AddAddress("$email");
  47.  
  48. $mail->Subject = "potwierdzenie wysłania formularza kontaktowego ze strony";
  49. $mail->Body="Witaj,<br>Jest to wiadomość potwierdzająca wysłanie do nas formularza kontaktowego: <br><br>Wiadomość: $mensagem<br><br> Dane firmy: $nome<br><br>e-mail kontakowy: $email";
  50. $mail->WordWrap = 50;
  51.  
  52. if(!$mail->Send())
  53. {
  54. echo 'Message was not sent.';
  55. echo 'Mailer error: ' . $mail->ErrorInfo;
  56. }
  57. else
  58. {
  59. echo 'Message has been sent.';
  60. }
  61.  
  62. $txt = '' ;
  63. foreach( $_POST as $key => $value ) {
  64. $txt .= $key.': '.$value.'<br/>'."\r\n" ;
  65. }
  66.  
  67. ?>


Problem w tym ze mail przychodzi jako UTF-8 tylko polskie znaki się pojawiają tylko w tekście który jest przesyłany jako HTML, natomiast to co jest przesyłane co ktoś wpisał do formularza to tam się pojawiają krzaczki.

Wygląd maila:

(IMG:http://img90.imageshack.us/img90/9094/123etd.th.png)

Uploaded with ImageShack.us

Jak widać w kodzie mam wpisane

  1. $mail->CharSet="utf-8";


ale to tylko pomaga dla tekstu który jest ręcznie wpisywany żeby szedł na maila.

Dzieki z góry za pomoc, bo przy formularzu zostały mi tylko 3 rzeczy i mógłbym skończyć już stronę(IMG:style_emoticons/default/smile.gif)

Ten post edytował dojek 20.06.2011, 14:55:52
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.09.2025 - 12:40