Autor Zpráva
tpilar
Profil
Jsem v podstatě začátečník.
Nejsem schopen dát dohromady funkční odesílání e-mailu. Nejde mi o rozvržení nebo o posílání příloh ale zatím jen a pouze o to aby mail opravdu odešel a neotevíral pouze nějaký Outlook ne Win.Mail apod.

Podle správce webhostingu na savana.cz by měla stačit funkce mail a není nutné instalovat nebo volat phpmailer :

<?php
function show_form()
{
?>
<form action="" method=post>
<div align="center">
              <br />Jméno:*<br />
              <input type="text" name="name" size="40">
              <br />Telefonní číslo:<br />
              <input type="text" name="tel" size="40">
              <br />E-mail:*<br />
              <input type="text" name="email" size="40">
              <br />Téma:<br />
              <input type="text" name="title" size="40">
              <br />Text zprávy:*<br />
              <textarea rows="10" name="mess" cols="30"></textarea>
              <br /><input type="submit" value="Odeslat" name="submit">
</div>
</form>
* Musíte vyplňit.
<?php
}

function complete_mail() {
        // $_POST['title'] data z inputu Přemět, trim() - odstraňuje zbytečné
        //mezery a řádky, htmlspecialchars() - převádí specifické symboly
        //do HTML entit, proto, aby jsme zabránili nejjednoduššímu pokusu o
        //hacknutí stránky a substr($_POST['title'], 0, 1000) -
        //omezujeme text do 1000 znaků. Pro proměnné
        //$_POST['mess'], $_POST['name'], $_POST['tel'], $_POST['email']
        //uděláme to samé.

        $title =  substr(htmlspecialchars(trim($_POST['title'])), 0, 1000);
        $message =  substr(htmlspecialchars(trim($_POST['mess'])), 0, 1000000);
        $name =  substr(htmlspecialchars(trim($_POST['name'])), 0, 30);
        $tel =  substr(htmlspecialchars(trim($_POST['tel'])), 0, 30);
        $email =  substr(htmlspecialchars(trim($_POST['email'])), 0, 50);
        $mess = '
Jméno odesílatele: '.$name.' <br>
Telefonní číslo: '.$tel.' <br>
Email: '.$email.' <br>
'.$message;
        // $to - příjemce emailu
        $to = $email;
        // $from - odesílatel
        $headers  = 'MIME-Version: 1.0' . "\r\n";
        $headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
        $headers .= 'From: rexon.cz<info@rexon.cz>'. "\r\n";

        if(mail($to, $title, $mess, $headers)){
        echo 'Děkujeme! Váš dopis byl odeslán.';
    }else{
        echo 'Dopis nebyl odeslán';
    }
}

function output_err($num)
{
    $err[0] = 'Chyba! Zadejte jméno.';
    $err[1] = 'Chyba! Špatný e-mail.';
    $err[2] = 'Chyba! Zadejte zprávu.';
    echo '<p>'.$err[$num].'</p>';
    show_form();
    exit();
}

if (!empty($_POST['submit'])) complete_mail();
else show_form();
?> 

Případně k vidění ve zkušebním ovšem jak již jsem psal zcela nefunkčním stavu odeslání e-mailu na : www.tpilar.cz

Předem díky za rady. Tom
Demoniak
Profil
Nevím, jestli už si to opravoval, ale mě to u tebe normálně proběhne a email mi přijde bez problémů.

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: