Autor Zpráva
PI
Profil *
Dotaz:
mám něco takového:

$poznamka =
$predmet." z ".$identifikace.
" \r\n---------- ".
" \r\nDatum a čas: ".$datum.
" \r\nJméno a příjmení: ".$_POST['jmeno']." ".$_POST['prijmeni'].
" \r\nTelefon: ".$_POST['telefon'].
" \r\nEmail: ".$_POST['email'].
" \r\nPoznámka: ".$_POST['poznamka'].
" \r\nŽádost přišla z IP adresy: ".$REMOTE_ADDR;

odesílám pomocí mail()

pokud je mezi druhými uvozovkami příliš dlouhý text např.:
$predmet = "\r\ntext1" . " \r\npříliš dlouhý text2 bla bla bla bla hoooooooodně dlouhý text";

pak se mi text v mailu nezalomí a řadí se hned na konec prvního řádku - vypadá takto:
text1příliš dlouhý text2 bla bla bla bla hoooooooodně dlouhý text

Netušíte zda je počet znaků mezi uvozovkami nějak omezen? Případně jestli dělám někde chybu?
Jan Tvrdík
Profil
PI:
Nevím, zda to pomůže, ale podle specifikace je počet znaků na jeden řádek omezen asi na 70 znaků.
PI
Profil *
Dokáže to zlobit už při takovémhle stavu:

Datum a čas: 12.Jun.2009 v 22:56:14Jméno a příjmení: bla bla bla

Výsledek by měl vypadat takhle:
Datum a čas: 12.Jun.2009 v 22:56:14
Jméno a příjmení: bla bla bla
PI
Profil *
Nebyl by nějaký nápad? Docela mě to zlobí...
nightfish
Profil
pak se mi text v mailu nezalomí a řadí se hned na konec prvního řádku
neposíláš náhodu e-mail s MIME typem text/html? pakliže ne, tak se podívej na funkci wordwrap
PI
Profil *
Posílám text/plain viz. níže:

<?php

function autoUTF($s)
{
// detect UTF-8
if (preg_match('#[\x80-\x{1FF}\x{2000}-\x{3FFF}]#u', $s))
return $s;
// detect WINDOWS-1250
if (preg_match('#[\x7F-\x9F\xBC]#', $s))
return iconv('WINDOWS-1250', 'UTF-8', $s);
// assume ISO-8859-2
return iconv('ISO-8859-2', 'UTF-8', $s);
}

function cs_mail ($to, $predmet, $poznamka, $head = "")
{ $predmet = "=?utf-8?B?".base64_encode(autoUTF ($predmet))."?=";
$head .= "MIME-Version: 1.0\n";
$head .= "Content-Type: text/plain; charset=\"utf-8\"\n";
$head .= "Content-Transfer-Encoding: base64\n";
$poznamka = base64_encode (autoUTF ($poznamka));
return mail ($to, $predmet, $poznamka, $head);
}
?>

Teď jsem zjistil, že se to chová i takhle:

Tak to má v mailu vypadat a při takto dlouhém textu to funguje:
(první řádek)Poznámka: Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Fusce id pede. Nullam eleifend. Pellentesque commodo blandit turpis. Sed tortor metus, mattis quis, nonummy sit amet, molestie quis, wisi. Nulla aliquet. Donec facilisis. Nullam vestibulum eleifend lacus. Praesent nibh. Etiam scelerisque viverra magna. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Mauris sed tortor eget odio malesuada cursus. Mauris arcu. Mauris ornare quam. Maecenas eget justo. Ut quis libero et enim malesuada accumsan. Proin eget justo. Nullam ipsum.
(druhý řádek)Žádost přišla z IP adresy: xxx.xxx.xxx.xxx

Stejná situace - jen s kratším odeslaným textem v poznámce:
Poznámka: Lorem ipsum dolor sit amet, consectetuer(tady by měl začít druhý řádek)Žádost přišla z IP adresy: xxx.xxx.xxx.xxx

Co s tím?
PI
Profil *
Zřejmě to mrví Outlook 2007... Na mail na seznam.cz mi to dorazí v pořádku a po stažení zprávy do Outlooku je to rozházené.
Myslíte, že je možné to odstranit?

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: