Skocz do zawartości
joorvishoon

[php] Znaki Nowej Linii A Kodowanie W Funkcji Mail()

Rekomendowane odpowiedzi

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 przez joorvishoon

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

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 html

nl2br

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!";

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie


×
×
  • Dodaj nową pozycję...