odeslání emailu na Seznam x Centrum
14 příspěvků
Archiv diskusního fóra
Fórum je uzavřené a slouží pouze ke čtení. Některé informace mohou být zastaralé.
-
Zdravim, z webu posílám mail pomoci fce mail(). Pokud mail pošlu na mail u Centrum.cz, tak diakritika je v pořádku. Ale na Seznam.cz jsou všechny znaky ve jméně a předmětu přepsány otazníkem. Samotný text zprávy je v pořádku. script php neni nijak zvlášť oštetřen to co dojde v $_POST předávám fci mail() když přijde mail na seznam hlavička s předmětem a odesílatelem vypadá asi takto [code]Subject: =?us-ascii?Q?TEST=205=20=3F=3F=3F=3F=3F=3F=3F?= From: =?us-ascii?Q?Luk=3F=3F?=[/code] centrum vyplivne toto [code]Subject: TEST 5 +ěščřýáíé= From: Lukáš[/code] nějaký řešení?
-
Čeština v předmětu a odesílatele má jiná pravidla než samotný obsah. Tam se to musí kódovat v quoted-printable nebo v base64.
-
to jsem neco zkousel co jsem pohledal na netu ale nic nefungovalo
-
Zkus tohle ;) function moje($recipient, $subject, $message, $header) { $subject = '=?utf-8?B?'.base64_encode($subject).'?='; $header .= 'Content-Transfer-Encoding: base64'; if(mail($recipient, $subject, $message, $header)) return true; return false; } Jako ukázka by to mohlo stačit.
-
V PHP manuálu funkce mail() [http://php.net/manual/en/function.mail.php] jsou nějaké příklady na použití češtiny v předmětu. Tak si je pročtěte a odzkoušejte.
-
mně na seznam nefunguje pouze š a ž
-
Nero: Určitě jsi zapomněl na "ť". Je jasné, že použití znakové sady us-ascii na češtinu je nesmysl. Standardní je pouze iso-8859-2 a utf-8. Na Centrum to prošlo, protože bylo zřejmě použito ESMTP místo staršího SMTP. Ovšem není dobré se na to spoléhat. $subject= mb_encode_mimeheader($subject,"UTF-8", "B"); nebo $subject= mb_encode_mimeheader($subject,"UTF-8", "Q");
-
Nero: A podíval ses i na odkaz, který jsem uvedl? Jinak použití kódu není jen tak. Zde musí zasáhnout i mozek člověka. A to ve věci určení kódování. Tvůrce musí vědět v jakém kódování má vstupní text a v jakém kódování očekává výstup. Bez těchto informací může dosáhnout pouze stejného nebo horšího efektu. Z tvé reakce usuzuji, že používáš špatnou kombinaci kódování.
-
Taky mi teď docvaklo, že Nero nejspíš v textech používá sadu Windows-1250 a kóduje ji jako ISO-8859-2. V tom případě ten text doporučuji nejprve překódovat. BTW: už nějakou dobu používám téměř výhradně UTF-8, proto jsem tak napsal i příklad.
-
jj, ale s tím rozdílem že já to posílám na gmail + seznam, možná by bylo možný založit i druhou adresu na gmailu a nemusel bych to ani překódovávat... ale nevím, jestli na to ten sruhej joe přistoupí. každopádně to zkusím překódnout, ale pokud to nevyjde, tak to asi nechám tak
-
hustý. Až na to, že mě to vypíše na seznamu /ĄĘ3yöœ…Č€ €ťh místo vocozefachcišžťúů
-
Zřejmě jsi to moc nepochopil. Aby to fungovalo jak má, tak musíš vědět co použít a co nastavit. Takhle dosáhneš jen toho, co jsem již psal "dosáhnout stejného nebo horšího efektu." Nejdříve si zjisti, v jakém kódování je vstup (pravděpodobně windows-1250). Jednoduše, v jakém kódování je PHP skript, případně v jakém kódování je formulář. Od toho vyjdi. Na výstupu (předmět emailu) pak zvolíš kódování, kterým tu zprávu odešleš. Většinou se používá iso-8859-2 nebo utf-8. Takže co udělat. Nejdříve převedeme text z windows-1250 na iso-8859-2 a pak to převedeme podle kitova návodu. Akorát místo utf-8 použiješ iso-8859-2. Jestli dodržíš tyto pravidla, pak se bude předmět zobrazovat správně. Ba co víc, bude jedno, jakou mailovku použiješ.
-
Mám podobný problém. Když posílám ze stránek (http://bookowna.zaridi.to/) email na emailovou adresu info@bookowna.zaridi.to, tak se mi nezobrazi Š a Ž. Ale Č se zobrazuje a to mi přijde divný.
-
Aron: na tom není nic divného, znakové sady ISO-8859-1 a Windows-1250 jsou prostě podobné (například č mají na stejném místě, š a ž nikoli). Velmi stručné informace http://www.jakpsatweb.cz/cestina.html Co se týče řešení, posíláš e-maily ve špatném kódování (tzn. informace v hlavičce e-mailu a samotný text navzájem neodpovídají). Nejlépe uprav hlavičku posílaných e-mailů (ale protože jsi nenapsal nic podrobnějšího, konkrétnější řešení ze mě nedostaneš ;).