Skocz do zawartości

Kodowanie w mail


PawelC

Rekomendowane odpowiedzi

Witam szanowne grono :)

Mam następujący problem, napisałem sobie system mailingowy, wszystko ładnie pięknie dział personalizacja itp.

Jednak mam jeden problem z kodowaniem wiadomości, ponieważ wiadomość jest kodowana w ISO 8859-2.

Problem wygląda tak:

Wysyłam maila na pocztę w wp.pl kodowanie iso 8859-2 działa super, są polskie znaczki, jednak jak wysyłam na gmail itp to są krzaki, sprawdziłem z kodowaniem utf-8 i wszystko jest super na gmail, tylko przy tym kodowaniu na poczcie wp są krzaki. I teraz mam pytanie, jak rozwiązać ten problem? Najlepiej jakby było jedno wspólne kodowanie, tylko nie mogę dojść do tego jakie ma być.

Myślałem, aby zrobić tak, że przed wysłaniem maila sprawdzić na jaki serwer wysyła czyli wp lub gmail, i wtedy zaserwować odpowiednie kodowanie, tylko czy niema lepszego rozwiązania?

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli UTF-8, to plik skryptu powinien być zapisany w kodowaniu UTF-8, a nie ANSI. W nagłówku maila należy dodać też informację o kodowaniu oraz sama treść maila musi być w danym kodowaniu.

----

Poza tym po co wynajdywać koło na nowo jak można skorzystać z PHPmail, lub z swiftmailer np w kohana

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Zrób tak:

Wyslij mail z programu np. thunderbird w kodowaniu ISO i utf8 do WP i gmail i zobaczy czy wszędzie beda dobrze PL znaki.

Ja obstawiam że tak, a potem popatrz w treść wiadomości i zobacz co robisz nie tak.

Odnośnik do komentarza
Udostępnij na innych stronach

Ja izywam:

$temat = "=?UTF-8?B?".base64_encode($temat)."?=";
$tresc = $_POST['trescmaila'];
$do = aaa@bb.cc';
$header = "MIME-Version: 1.0\r\n";
$header .= "Content-type: text/html; charset=UTF-8\r\n";
$header .= "From: ".$nadawca.""; 
mail ($do, $temat, $tresc, $header);

Wszystko UTF-8, zero krzaczków.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 3 tygodnie później...

A używasz phpowego mail()? Z praktyki wiem, że często w tym siedzi problem (a to gdzieś nagłówka nie dodasz, zapomnisz o jakiejś opcji).

IMHO dużo wygodniej i pewniej skorzystać z czegoś bardziej kompleksowego - ot choćby PEAR_Mail czy Zend_Mail

Na blogu:

pozycjonowanie a etyka. A za parę dni słów kilka o smacznych i lekkostrawnych preclach

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności