Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Funckja mail, polskie serwisy i kodowanie utf8
omeck
post 11.08.2006, 13:41:26
Post #1





Grupa: Zarejestrowani
Postów: 79
Pomógł: 7
Dołączył: 2.07.2005
Skąd: Lublin

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


Witam,
napisałem serwis pod kodowanie utf8 i przy wysyłaniu maili zauważyłem, że nie zawsze dobrze koduje maile wysyłane w formacie html. Ze sprawdzanych 3 serwisów pocztowych - gmail.com, wp.pl i o2.pl problem dotyczy tylko o2

fragment kodu:

  1. <?php
  2. public function sendMail($email, $subject, $content, $replyTo=null)
  3. {
  4. $head="From: mailer@costam.pl";
  5. if(!is_null($replyTo)) $head.="Reply-to: $replyTo";
  6. $head.="MIME-Version: 1.0";
  7. $head.="Content-Type: text/html; charset=utf8";
  8. $footer='<br /><br />stopka';
  9.  
  10. $content=$content.$footer;
  11.  
  12. mail($email, $subject, $content, $head);
  13. }
  14. ?>


zauważyłem, że Allegro też ma kodowanie utf8 i maile które trafiają na o2 nie mają problemów z kodowaniem - nie ma w nich krzaczków winksmiley.jpg

sorki, że piszę odpowiedź na własnego posta, ale może komuś się to przyda smile.gif

cały problem polegał na tym, że miałem skrypt zakodowany w uft8, mail był w iso, ale jego treść w utf.

Rozwiązanie problemu:
  1. <?php
  2. public function sendMail($email, $subject, $content, $replyTo=null)
  3. {
  4. $header="From: mailer@aders.plrn";
  5. if(!is_null($replyTo)) $header.="Reply-to: $replyTorn";
  6. $header.="Mime-Version: 1.0rn";
  7. $header.="Content-type: text/html; charset=ISO-8859-2rn";
  8.  $header.="Content-Transfer-Encoding: 8bitrn";
  9.  
  10. $subject=iconv("UTF-8","ISO-8859-2", $subject);
  11. $subject='=?iso-8859-2?B?'.base64_encode($subject).'?=';
  12.  
  13. $footer='stopka';
  14. $content=iconv("UTF-8","ISO-8859-2", $content.$footer);
  15.  
  16. mail($email, $subject, $content, $header);
  17. }
  18. ?>
Go to the top of the page
+Quote Post
Inspektor Sowa
post 3.09.2008, 18:05:42
Post #2





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 8.07.2008

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


Ja to zrobiłem tak: zamiast nagłówka

Kod
$head.="Content-Type: text/html; charset=utf8";


dałem

Kod
$head.="Content-Type: text/plain; charset=UTF-8";


Co prawda wysyłam jako text/plan (nie potrzebuję HTML), ale przynajmniej działa.

pozdrawiam

Ten post edytował Inspektor Sowa 3.09.2008, 18:07:34
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 25.04.2025 - 09:23