Autor Zpráva
habendorf
Profil
Mám následující skript pro mail:
<?php

$header = "Content-type: text/html; charset=utf-8\r\n";
if (isset($odeslat)):
if (mail("moje@adresa.cz", $predmet, $zprava, "From: " . $email, $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;
?>

Hlásí mi to: Warning: mail(): SAFE MODE Restriction in effect. The fifth parameter is disabled in SAFE MODE.
Když to $header vyhodím, vše je OK, ale samozřejmě nejde kódování.
PHP nerozumím, může někdo prosím poradit?
llook
Profil
Asi chceš tohle:

mail("moje@adresa.cz", $predmet, $zprava, "From: ".$email."\r\n".$header)

Ten pátý parametr umožňuje předat sendmailu nějaký parametry a to v safe modu nejde. Hlavičky patří do čtvrtého parametru.
habendorf
Profil
llook: Díky, to je přesně ono, už to jede. Na PHP jsem fakt lama.
Má to ale jeden negativní efekt, se kterým by se ale dalo žít. Příchozí maily to začalo označovat jako Spam (???) - nechápu jak tohle může způsobovat přidání kódování. Nevíš prosím co s tím?
halogan
Profil
Co ti to označuje za spam? Buď to je kvůli odesílání z localu, nebo že to moc testuješ, tak si to udělalo filtr a nebo se jim nelíbí UTF (maily se píšou v iso-8859-2)
habendorf
Profil
halogan: Označuje mi to Outlook Express. Neodesílám z localu, ale z webu. Přehnané testování to asi taky nebude. K tomu kódování: na webu mám mailový formulář, celá stránka je v utf-8. Když bych nastavil pro mail
$header = "Content-type: text/html; charset=iso-8859-2";
tak to asi bude přicházet blbě, když to uživatel vypíše na stránce v utf -8, nebo ne? Kudy z toho ven?
habendorf
Profil
Hm, zkusil jsem charset=iso-8859-2, výsledek žalostný: čeština v háji a pořád !!SPAM!!
habendorf
Profil
Aha, tak to chtělo
$header = "Content-type: text/text; charset=utf-8";

Už je to česky a není to spam. Zas to má z nějakého důvodu příznak přílohy (ačkoliv tam žádná není), ale to zas tak moc nevadí. Kdyby někdo věděl co s tím ...
llook
Profil
Prostý text (plain text) se značí text/plain.
habendorf
Profil
llook: Super, už to běží zcela dle představ, díky moc. Jsem lama :o)
Toto téma je uzamčeno. Odpověď nelze zaslat.

0