Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]phpMailer: brak tytułu wiadomości
Forum PHP.pl > Forum > Przedszkole
miccom
Cześć.


Szybkie pytanie:
  1. require("phpmailer/class.phpmailer.php");
  2. $mail = new PHPMailer();
  3. $mail->PluginDir = "phpmailer/";
  4. $mail->charset = 'utf-8';
  5. $mail->From = ""; //adres naszego konta
  6. $mail->FromName = "";//nagłówek From
  7. $mail->Host = "";//adres serwera SMTP
  8. $mail->Port = 587;
  9. $mail->Mailer = "smtp";
  10. $mail->Username = "";//nazwa użytkownika
  11. $mail->Password = "";//nasze hasło do konta SMTP
  12. $mail->SMTPAuth = true;
  13. $mail->SetLanguage("pl", "phpmailer/language/");
  14. $mail->Subject = '';
  15. $mail->AltBody = 'Otwórz ten e-mail w programie pocztowym, obsługującym html';
  16. $mail->MsgHTML('Witaj !<br><br>
  17. Poniżej dane kontaktowe osoby kontaktowej.<br>
  18. ---------------------------------------------------------------------<br>
  19. e-mail: '.$email.'<br>
  20. Telefon: '.$phone.'<br>
  21. ---------------------------------------------------------------------<br>
  22. treść wiadomości:<br>
  23. '.$content.'<br><br>
  24. ---------------------------------------------------------------------<br>'
  25. );
  26. $mail->AddAddress(WEBMASTER_EMAIL);
  27. if($mail->Send()){
  28. echo 'OK';
  29.  
  30. }else{
  31. echo 'E-mail nie mógł zostać wysłany, przyczyna :'. $mail->ErrorInfo;
  32. }
  33. $mail->ClearAddresses();
  34. $mail->ClearAttachments();


I wszystko śmiga, ale emaile przychodzą bez tytułu wiadomości, co poprawić aby było ok?

leonpro778
  1. $mail->Subject = '';
miccom
Niestety, temat wpisałem, ale email nadal przychodzi z tytułem: <brak tematu>
$mail->Subject = 'Wiadomość ze strony';
Jakieś pomysły?
SmokAnalog
Przetestowałem u siebie i ewidentnie $mail->Subject = 'Temat'; działa.

Uważaj na wielkość znaków w nazwach właściwości obiektu $mail. Nie charset, tylko CharSet:

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


U Ciebie nie zadziałają polskie znaki.
miccom
Hmm, u mnie jednak nie działa.
Poniżej prezentuję ustawienia dla phpmailera


a tutaj otrzymany email




charSet poprawiłem smile.gif
SmokAnalog
Jakieś cuda. Na pewno nie masz gdzieś indziej kodu wysyłającego innego maila?
miccom
No właśnie nie.
Właśnie Tylko phpMailer, przez to się tak mocno zastanawiam bo na innych stronach działa sad.gif
trueblue
A jeśli wstawisz w kodzie temat bez polskich znaków (np.: "Wiadomosc"), to mail dociera z tematem?
miccom
Znalazłem rozwiązanie smile.gif

W mojej wersji phpMailer był błąd

  1. PHP Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in public_html/phpmailer/class.phpmailer.php on line 1862

gdzie w klasie phpmailer
było:
  1. $encoded = preg_replace('/([\000-\011\013\014\016-\037\075\077\137\177-\377])/e',"'='.sprintf('%02X', ord(stripslashes('\\1')))", $encoded);


Podmieniłem wskazany błąd na

  1. $encoded = preg_replace_callback('/([\000-\011\013\014\016-\037\075\077\137\177-\377])/',function($m) { return '='.sprintf('%02X', ord(stripslashes($m[1]))); }, $encoded);
  2.  


I działa, wysyłają się treści wiadomości smile.gif
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.