Autor | Zpráva | ||
---|---|---|---|
Majkl578 Profil |
#1 · Zasláno: 5. 11. 2009, 10:37:13
Zdravím,
na problém jsem narazil před chvíli, když jsem při odpovědi na téma omylem zaškrtl kolonku "Oznámení na email". Email mi přišel, ale byl poškozený. Předmět: "Diskuse, p??sp?vek na t?ma: styl z?pisu php vs html". Tělo mailu je v pořádku. Email mám u seznam.cz. S opravou problému by mohlo pomoci toto téma - FAQ v sekci PHP. |
||
imploder Profil |
#2 · Zasláno: 5. 11. 2009, 11:21:32
Majkl578:
Možná je to tím, že hlavička určující kódování je v kódu až po hlavičce předmětu. Měla by být co nejdřív. |
||
DoubleThink Profil * |
#3 · Zasláno: 5. 11. 2009, 11:26:14
imploder:
„Možná je to tím, že hlavička určující kódování je v kódu až po hlavičce předmětu. Měla by být co nejdřív.“ Kódování předmětu je nezávislé na těle mailu. |
||
Časová prodleva: 3 měsíce
|
|||
SwimX Profil |
Moderátor Chamurappi: Přesunuto z Sledování tématu emailem - Špatné kódování předmětu.
Přišel mi email: Diskuse, p??sp?vek na t?ma: Odkazov?n? na soubor - php text mailu byl v pořádku, zřejmě jen nějaká malá chybička ve skriptu. |
||
SwimX Profil |
#5 · Zasláno: 7. 2. 2010, 23:45:02
Mistr mi zamknul mé vlákno, tak se tedy ozvu tady :) Problém stále trvá!
|
||
Chamurappi Profil |
#6 · Zasláno: 8. 2. 2010, 00:03:17
Reaguji na SwimXe:
Kdyby to někdo opravil, asi by se to sem napsalo. function sendMail($email, $subject, $msg, $from_email, $errors_email) { global $genEmailDisable; // Function sends mail with return-path (if incorrect email TO specifed. Reply-To: and Errors-To: need contain equal addresses! if (!isset($genEmailDisable) or $genEmailDisable != 1) { $msg = str_replace("\r\n", "\n", $msg); $php_version = phpversion(); $from_email = "From: $from_email\r\nReply-To: $errors_email\r\nErrors-To: $errors_email\r\nX-Mailer: PHP ver. $php_version\r\nContent-Type: Text/Plain; charset=iso-8859-2"; mail($email, $subject, $msg, $from_email); } } Poraď mi, co na tom ↑ mám změnit a já to změním. |
||
Alphard Profil |
#7 · Zasláno: 8. 2. 2010, 00:51:52
Zkus tam vložit tohle, ale je to tak trochu manuálová alchymie, sám používám utf. Jinými slovy, snad dokumentace nelže.
$subject = "=?iso-8859-2?B?".base64_encode($subject)."?="; Předpokladem je, že funkce dostane správný řetězec v kódování iso-8859-2. |
||
Chamurappi Profil |
#8 · Zasláno: 8. 2. 2010, 01:06:14
Reaguji na Alpharda:
To dává smysl. Ale není na texty lepší používat Quoted-printable než Base64? Vrtá mi hlavou, proč si na diakritiku začali lidé stěžovat až po nasazení DJPW 1.5. |
||
Str4wberry Profil |
#9 · Zasláno: 8. 2. 2010, 02:21:55
„Vrtá mi hlavou, proč si na diakritiku začali lidé stěžovat až po nasazení DJPW 1.5.“
Už máme totiž tak dokonalou diskusi, že každý upozorňuje na kdejakou maličkost. |
||
Alphard Profil |
#10 · Zasláno: 8. 2. 2010, 09:19:53
Chamurappi:
„Ale není na texty lepší používat Quoted-printable než Base64?“ Uvažoval jsem o tom, ale zase by se musely ošetřovat některé znaky, dát tam base64 mi připadá jednodušší. Řešila by to funkce quoted_printable_encode(), jenže ta je až v PHP 5.3, nebo imap_8bit(), ale zase nevím, jestli má diskuse IMAP funkce. Řešení tedy nabízí hromada vytvořených funkci, třeba v komentářích na PHP: quoted_printable_decode, ale těžko zaručit jejich správnost, když je nemám vyzkoušené. Náhodně jsem vybral třeba tuhle, ale bojím, že by z toho vyšel ještě větší nesmysl. if (!function_exists("quoted_printable_encode")) { /** * Process a string to fit the requirements of RFC2045 section 6.7. Note that * this works, but replaces more characters than the minimum set. For readability * the spaces and CRLF pairs aren't encoded though. */ function quoted_printable_encode($string) { $string = str_replace(array('%20', '%0D%0A', '%'), array(' ', "\r\n", '='), rawurlencode($string)); $string = preg_replace('/[^\r\n]{73}[^=\r\n]{2}/', "$0=\r\n", $string); return $string; } } $subject = "=?iso-8859-2?Q?".quoted_printable_encode($subject)."?="; |
||
SwimX Profil |
#11 · Zasláno: 8. 2. 2010, 09:53:35
Chamurappi:
„Poraď mi, co na tom ↑ mám změnit a já to změním.“ Sám používám to, co píše Alphard #7 ale s utf (taky vlastně opužívám přesně jeho skript z FAQu, lepší jsem nepotkal). „Vrtá mi hlavou, proč si na diakritiku začali lidé stěžovat až po nasazení DJPW 1.5.“ Dřív jsem si nikdy email poslat nenechal :) |
||
Chamurappi Profil |
#12 · Zasláno: 8. 2. 2010, 11:45:19
Do sandboxu jsem teď přidal ošetření pomocí
base64_encode . Jestli si někdo zaškrtnul posílání na e-mail v tomto vlákně, mělo by mu oznámení informující o tomto mém příspěvku dorazit již správně.
Reaguji na Str4wberryho: Asi to tak bude. |
||
SwimX Profil |
#13 · Zasláno: 8. 2. 2010, 21:23:44
Zkusím to :)
|
||
Chamurappi Profil |
#14 · Zasláno: 8. 2. 2010, 22:44:28
Reaguji na SwimXe:
Teď to tady zkoušíš? |
||
SwimX Profil |
#15 · Zasláno: 8. 2. 2010, 22:58:22
Chamurappi:
Ano prosím. Funguje to dobře :)) "Diskuse, příspěvek na téma: Diakritika v předmětu notifikačního emailu" |
||
Časová prodleva: 15 let
|
0