Autor Zpráva
michal454454
Profil
zdravim chtěl bych se zeptat kde mám chybu v odeslání formuláře na email.. :) místo emailu odesílatele mi to zobrazi na mém emailu nejaky zakaznik@sasanka.cz a né ten email odesílatele... díky
<div id="kontakt_telo_prava">
    <h2><u>Napište nám</u></h2>
<form method="POST">
            Předmět zprávy:<input type="text" name="predmet"/><br />
            Váš email: <input type="text" name="email"/><br />
            Zpráva: <input type="text" name="zprava"/><br />
            <input type="submit" value="odeslat"/>
            
        </form>
        <?php
        $predmet=$_POST["predmet"];
        $email=$_POST["email"];
        $zprava=$_POST["zprava"];
        
if($predmet!="" and $email!="" and $zprava!=""){
mail("michal.reichman@email.cz",$predmet,$email,$zprava);
    echo "<p id='kontaktform_p' style='color:green;'>Váš dotaz byl úspěšně odeslán!</p>";
}
else{
    echo "Chyba při odeslání nebo jste nevyplnili všechna pole!";
}
        
        ?>
</div>
Alphard
Profil
Parametry nejde skládat náhodně, mail odesilatele patří až do hlaviček viz Nejčastější potíže s PHP (FAQ) » Kódování e-mailu, aneb abychom neposílali otazníky (stačí se podívat až na volání té funkce).
michal454454
Profil
takze před to vse musím dát ještě toto?
 $predmet = "=?utf-8?B?".base64_encode(autoUTF($predmet))."?=";
    $head .= "MIME-Version: 1.0".PHP_EOL;
    $head .= "Content-Type: text/plain; charset=\"utf-8\"".PHP_EOL;
    $head .= "Content-Transfer-Encoding: base64".PHP_EOL;
    $zprava = wordwrap(base64_encode(autoUTF($zprava)), 78, PHP_EOL, true);
smitka
Profil
Doporučil bych použít class.phpmailer.php z https://github.com/PHPMailer/PHPMailer - je to osvědčené a vyladěné řešení.
Alphard
Profil
Stačí
mail($mail, $predmet, $zprava, "From: vas@web.cz".PHP_EOL)
michal454454
Profil
to staci jen $email zmenit na "From: vas@web.cz".PHP_EOL ?


ted mi to pise email odesilatele vas@web.cz
Tomáš123
Profil
michal454454:
ted mi to pise email odesilatele vas@web.cz
...a keď to zmeníš na názov tvojho webu bude ti tam písať to, čo chceš.
michal454454
Profil
Tak místo muj@web.cz jsem dal futsal-wsa.8u.cz
do formu jsem předmět vyplnil - trenink
email - david@seznam.cz
zprava - Ahoj

a prichozi email vypada takto:

futsal-wsa.8u.cz@sasanka.stable.cz
Trenink
Dnes 8. 2. 2015, 12:30:56
Komu: michal.reichman@email.cz

Ahoj
juriad
Profil
michal454454:
Za From musíš uvést e-mailovou adresu. V tomto případě se to automat nějak pokusil spravit přidáním nějaké domény, kterou si někde našel. Nejspíš tedy chceš:
mail($mail, $predmet, $zprava, "From " . $email . PHP_EOL)
Tedy, aby se e-mail tvářil, jako by ho poslal přímo ten uživatel.
michal454454
Profil
Ok díky a jak ještě vyřešit kódování UTF-8 aby mi tam v tom emailu nepsalo ty znaky ? :)
juriad
Profil
Použij tuto funkci:
Česká diakritika v mailech

nebo rovnou PHPMailer, který mnohem jednodušší na použití.

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: