Když mám ve fuknci mail() hlavičky v apostrofech (' '), tak mi dojde docela zprasenej mail, ale když dám hlavičky do uvozovek (" "), tak to funguje zcela normálně. Ještě jsem se s něčím takovým nikdy nesetkal. Čím to je?
<HTML>Bez ukázky kódy vám to asi nepovíme, ale rozdíly mezi ' ' a " " jsou:
- ' ' nezpracovávají $proměnné uvnitř řetězce, místo toho se musí napojovat (pomocí teček)
- díky tomu jsou o něco rychlejší (prý)</HTML>
Takto mi to bez problémů funguje:
mail('mail@nekomu.ru', $subject, $text, "From: ".$from."\n MIME-Version: 1.0\n"."Content-Type: text/plain; charset=\"utf-8\"\n"."Content-Transfer-Encoding: base64\n")
Když ovšem vyměním uvozovky za apostrofy, tak se mi to vypíše do FROM:
- ' ' nezpracovávají $proměnné uvnitř řetězce, místo toho se musí napojovat (pomocí teček)
- tím chcete říct, že když napíši něco jako *echo "text $promenna";*, tak se mi vypíše obsah proměnné?
Ano.
jeden příklad:
$promenna = 'ahoj';
echo "testujeme $promenna"; // testujeme ahoj
echo 'testujeme $promenna'; // testujeme $promenna
echo 'testujeme '.$promenna; // testujeme ahoj
Jinak k tematu: dodatecne mailové hlavicky by měly mít nějakou strukturu - například odesílatel by měl být na samostatném řádku, oznámění o použítí mime taky na samostatném, na dalším druh encodingu atd...
Myslel jsem, že na to stačí použítí '\n', takže předpokládám, že to tak není.
Takže by to mělo vypadat asi nějak takhle, pokud se nepletu:
mail('mail@nekomu.ru', $subject, $text, "From: ".$from.
"MIME-Version: 1.0\n".
"Content-Type: text/plain; charset=\"utf-8\"\n".
"Content-Transfer-Encoding: base64\n")
=Daniel=
Co o to.. ono "\n" staci, jen musi byt uvnitr uvozovek, ne apostrofů ..
//mezi ' apostrofy ' se tyto zpusoby zapisu taktez nezpracovavaji - tzn ..
echo 'moje \n tvoje'; // moje \n tvoje
echo "moje \n tvoje"; // uz to rozdeli na 2 radky ;)
Ale kdyz uz to mas tahhle, tak je to precejenom prehlednejsi/citelnejsi, ne? ;)
Tak super. Konečně to chápu. Díky.