Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Funkcja mail() i kodowanie znaków w temacie
Forum PHP.pl > Forum > PHP
115750
Potrzebuję w moim skrypcie wysłać maila. Zarówno w temacie jak i wiadomości są polskie znaki. Jednak o ile w treści maila znaki są wyświetlane poprawnie, to w temacie wiadomości są już przedstawiane jako jakieś kody:

Przykładowo zamiast słowa dyżurów mam: dy=BFur=F3w.

Kod wysyłający maile wygląda następująco:

  1. <?php
  2. $headers ="From: \"ZZZZZ\" <xxx@yyy.pl>\n";
  3. $headers.="Return-Path: \"ZZZZZ\" <xxx@yyy.pl>\n";
  4. $headers.="X-Sender: \"ZZZZZ\" <xxx@yyy.pl>\n";
  5. $headers.="X-Mailer: PHP\n";
  6. $headers.="X-Priority: 3 (Normal)\n";
  7. $headers.="X-MSMail-Priority: Normal\n";
  8. $headers.="MIME-Version: 1.0\n";
  9. $headers.="Content-Type: text/plain; charset=ISO-8859-2\n";
  10. $headers.="Content-Transfer-Encoding: quoted-printable\n\n";
  11.  
  12. mail($to,qp_enc($subj),qp_enc($what),$headers);
  13. ?>


Gdzie jest błąd?
Cezar708
http://forum.php.pl/index.php?showtopic=43692 chyba o to samo chodzi
x11100b
chyba jednak nie o to chodzi - mam ten sam problem - z tym, ze moje naglowki wygladaja tak:

  1. $headers = 'MIME-Version: 1.0' . "\r\n";
  2. $headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";


i o ile w tresci sa polskie znaki ąężłóśńćźć itp to w temacie sa wyswietlane niepoprawnie.

jakiego kodoawnia nalezy uzywac w temacie maili?
piotrooo89
a jak dodasz taki nagłówek:

  1. $headers .= "Content-Transfer-Encoding: 8bit\r\n"
x11100b
dzieki za szybka odpowiedz, po dodaniu mam takie naglowki i nadal polskie litery nie sa wyswietlane poprawnie:

  1. $headers = 'MIME-Version: 1.0' . "\r\n";
  2. $headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
  3. $headers .= 'From: Tubylec <root@tu-bylem.pl>' . "\r\n" ;
  4. $headers .= 'Content-Transfer-Encoding: 8bit'. "\r\n" ;


dry.gif

poradzilem sobie jednak podziele sie:

naglowki takie:

  1. $headers = 'MIME-Version: 1.0' . "\r\n";
  2. $headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
  3. $headers .= 'From: Tubylec <root@tu-bylem.pl>' . "\r\n" ;


ale temat ma miec taki format:

  1. $tem = '=?UTF-8?B?'.base64_encode('Zostałeś usunięty z subskrypcji').'?=';


i u mnie smiga guitar.gif

pozdrawiam
japan13
Cytat(115750 @ 3.01.2008, 14:20:48 ) *
Potrzebuję w moim skrypcie wysłać maila. Zarówno w temacie jak i wiadomości są polskie znaki. Jednak o ile w treści maila znaki są wyświetlane poprawnie, to w temacie wiadomości są już przedstawiane jako jakieś kody:

Przykładowo zamiast słowa dyżurów mam: dy=BFur=F3w.

Kod wysyłający maile wygląda następująco:

  1. <?php
  2. $headers ="From: \"ZZZZZ\" <xxx@yyy.pl>\n";
  3. $headers.="Return-Path: \"ZZZZZ\" <xxx@yyy.pl>\n";
  4. $headers.="X-Sender: \"ZZZZZ\" <xxx@yyy.pl>\n";
  5. $headers.="X-Mailer: PHP\n";
  6. $headers.="X-Priority: 3 (Normal)\n";
  7. $headers.="X-MSMail-Priority: Normal\n";
  8. $headers.="MIME-Version: 1.0\n";
  9. $headers.="Content-Type: text/plain; charset=ISO-8859-2\n";
  10. $headers.="Content-Transfer-Encoding: quoted-printable\n\n";
  11.  
  12. mail($to,qp_enc($subj),qp_enc($what),$headers);
  13. ?>


Gdzie jest błąd?



A kodowanie pliku masz ISO questionmark.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.