joorvishoon Opublikowano 23 Października 2008 Zgłoś Opublikowano 23 Października 2008 (edytowane) Witam Napisałem stronkę, której jedną z funkcjonalności jest wysyłanie maili do użytkowników. Realizacja przez zwykłe mail() z php . I teraz tak. Wysyłałem wiadomości tylko z headerem "From:". W treści znaki noweli linii przechodziły jako "\n" na końcu linii i wszystko było cacy. No i ktoś zaczął marudzić na krzaki bo mu się klient poczty nie przestawiał automatycznie na utf-8, więc dodałem do headera że mail jest kodowany w utf-8. No i po dodaniu tego headera maile przychodzą bez żadnego podziału na linie. czy nową linię zaznaczam jako \n czy jako \r\n (już nie mówiąc o "enterach" w oknie formularza pocztowego) - mail przychodzi do odbiorcy pisany "ciurkiem". Czy w utf8 jest jakiś inny sposób kodowania nowej linii czy coś przeoczyłem czy jak w końcu? Kodu nie wklejam bo chyba wszystko ładnie opisałem, a sam kod to są 4 linie w porywach. EDIT: Chyba znalazłem błąd: Miałem dokument przestawiony na typ html (taa, kodowanie nocą), ale z koleji pojawił się inny błąd: Jak zaznaczyć że temat wiadomości tez jest kodowany w utf-8? Bo jak w końcu ustawiłem zawartość na utf-8 za pomocą content-type to teraz w temacie się robią krzaki. Edytowane 23 Października 2008 przez joorvishoon Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
m4r Opublikowano 27 Października 2008 Zgłoś Opublikowano 27 Października 2008 A tak z ciekawości... dokument masz w utf-8 zapisany na serwerze (ANSI jako utf, a.k.a. utf8 bez BOM)? mail przychodzi do odbiorcy pisany "ciurkiem" (...) Miałem dokument przestawiony na typ htmlnl2br Jak zaznaczyć że temat wiadomości tez jest kodowany w utf-8?Nie wiem, u mnie w testowym formularzu wszystko działa :Q Spróbuj: $header = 'From: tubysiezdal@dres.jakis.com' . "\r\n" . 'Reply-To: webmaster@example.com' . "\r\n". 'MIME-Version: 1.0' . "\r\n". 'Content-type: text/plain; charset=utf-8' . "\r\n"; $email="testowy adres"; $subject = $_POST['tytul']; $body = str_replace("\r\n","\n",$_POST['tresc']); if(mail($email, $subject, $body, $header)) { echo $body."<br/>"; echo "OK! Mesg Poszła"; } else echo "FAILED!"; Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...