Autor Zpráva
aaa
Profil
potřeboval bych poradit ohedně vkládání hlaviček s charsetem do odesílané zpráve fcí mail

použiju li Content-Type: text/html; charset=iso-8859-1 tak je to stejné jako bez ní, zkoušel jsem i s UTF-8 kódováním. když použiju entity, zobrazí je zas jen jako entitu a ne jako požadovaný znak. pokud napíšu problematický znak přímo, použije znak jiný (př přehlasované a místo dlouhého i atp.)...

díky za radu...
habendorf
Profil
plain použít nemůžeš?

Jak vkládáš tu hlavičku? Ukaž fci mail.
aaa
Profil
(další hlavičky)
$headers .= "...";
$headers .= "...";

(hlavička s charsetem)
$headers .= "Content-Type: text/html; charset=iso-8859-1\n";

a pak v funkci mail($recipient, $subject, $message, $headers);
aaa
Profil
/plain klidně použít můžu, pokud to něčemu pomůže... ale proč by to nemělo jít i takhle...?
Nox
Profil
máš iso-8859-1, český je iso-8859-2, ale stejně nevím, jestli to bude ok, protože hlavička bere jen jedno konkrétní kódování,
mé oblíbené utf-8 určitě ne...každopádně za shlédnutí stojí http://hrazdil.info/posilani-mailu-php/
habendorf
Profil
Já teda php vůbec neumím, ale nelíbí se mi tam to odřádkování. Zkus ho vyhodit. Pravděpodobně ale kecám.
habendorf
Profil
Nox
mé oblíbené utf-8 určitě ne...

Já myslím že jo.
Nox
Profil
Pravděpodobně ale kecám.
Myslím že kecáš;)

Já myslím že jo.
Praxe mi ukázala opak "Content-Type: text/html; charset=utf-8"
posílá zmrvenou hlavičku
habendorf
Profil
Nox

Mám utf-8 v jednom projektu a funguje v pohodě. Ale je pravda, že je tam plain. Nevím jestli to hraje roli.
aaa
Profil
no ještě jako poslední vyhodim to odřádkování... ale zatim s odřádkovánim to nebere -2, -1 ani utf-8 :/
habendorf
Profil
aaa

Mám to takhle a funguje to:

<?php
$header = "Content-type: text/plain; charset=utf-8";
if (isset($odeslat)):
if (mail("cenzored", $predmet, $zprava, "From: ".$email."\r\n".$header))
echo "<p class='green'>Děkujeme, zpráva byla úspěšně odeslána.</p>";
else
echo "<p class='red'>Litujeme, zprávu se nepodařilo odeslat.</p>";
endif;
?>
aaa
Profil
nechápu to ale nejde mi to... s žádnym kódovánim se mi to nějak nechce podařit... :(
aaa
Profil
$recipient .= $_POST['email'];

$subject = "Potvrzení registrace!";

$message .= "Pro potvrzení; registrace klikněte (nebo zkopírujte do adresního řádku prohlížeče) následující adresu:\n\n";
$message .= "http://czantik.justart.org/?type_place=confirm_registration&key=".$co nf_code."\n\n";
$message .= "Přihlásit se můžete na adrese http://czantik.cz\n";

$message .= "-- \r\n";
$message .= "Děkujeme, váš CzAntik! (Na tento email pros&iacute;m neodpovídejte!)";

$header .= "From: CzAntik <info@justart.org>\n";
$header .= "X-Sender: <info@jsutart.org>\n";
$header .= "X-Mailer: PHP\n"; // mailový klient
$header .= "X-Priority: 1\n"; // Urgentní vzkaz!
$header .= "Return-Path: <info@jsutart.org>\n";

$header .= "Content-type: text/plain; charset=utf-8";


mail($recipient, $subject, $message, $header);


nevim v čem je chyba... :( nedokážu to nějak vyřešit... nechápu... nevim co s tim...
Mike8748
Profil
1) odradkovani hlavicek by melo bejt \r\n (vsude)

2) odradkovani musi byt i za posledni hlavickou, v tvym pripade prave definici charsetu
aaa
Profil
musí tam bejt obojí? jak \r tak i \n? pokud ano, tak v tom je chyba... ale \n tam bylo a nic. přitom všechny ostatní fungovali... tak už nevim, pokud to neni v tom....
Timy
Profil
Ještě by se měl speciálně zakódovat předmět.

function zakoduj($text)
{
    return "=?iso-8859-2?B?".base64_encode($text)."?=";
}
$subject=zakoduj($subject);


(pro ISO)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0