Autor Zpráva
hitny14
Profil
Hoj mám vytvořený odesílání emailů které mi funguje na novějším hostingu, ale když ho chci použot na hostingu kde je verze php 4.3.10 mi odesílání nefnguje nevíte někdo jak to mám upravit aby mi to fungovalo?

<?php
mb_internal_encoding("UTF-8");

    $alert = '';
    if (isset($_GET['send']))
        $alert = 'Email byl úspěšně odeslán.';
    if ($_POST) // V poli _POST něco je, odeslal se formulář
    {
        if (empty($_POST['spam']))
        {
            if (isset($_POST['name']) && $_POST['name'] &&
            isset($_POST['email']) && $_POST['email'] &&
            isset($_POST['message']) && $_POST['message'] &&
            isset($_POST['subject']) && $_POST['subject'])
            {
                $hedaer = 'From:' . $_POST['email'];
                $hedaer .= "\nMIME-Version: 1.0\n";
                $hedaer .= "Content-Type: text/html; charset=\"utf-8\"\n";
                $adress = 'email@email.com';
                $subject = $_POST['subject'];
                $message = "<strong>Jméno:</strong> ".$_POST['name']."<br><strong>E-mail:</strong> ".$_POST['email']."<br><strong>Zpráva:</strong> <br>".$_POST['message'];
                $send = mb_send_mail($adress, $subject, $message, $hedaer);
                if ($send)
                {
                    $alert = 'Email byl úspěšně odeslán.';
                    header('Location: kontakt.php?send=ano');
                    exit;
                } else {
                    $alert = 'Email se nepodařilo odeslat. Zkontrolujte adresu.';
                }       
            }
            else {
                $alert = 'Formulář není správně vyplněný.';
            }    
        } else {
            $alert = 'Nelze odeslat.';
        }
        
    }
?>
!DOCTYPE <!DOCTYPE html>
<html>
    <head>
        <title>email</title>
        </head>
       <body>
       .....
      <?php if ($alert) {?>
        <div class="alert alert-info" role="alert"><?php echo(htmlspecialchars($alert)); ?></div>
      <?php }?>

    <form method="post" action="">
        <div class="row">
            <div class="col-md-6">
                <input type="text" name="name" placeholder="Vaše celé jméno" class="form-control input-lg" required>
            </div>
            <div class="col-md-6">
                <input type="email" name="email" placeholder="Vás email" class="form-control input-lg" required>
            </div>
        </div>
        <input type="text" name="subject" placeholder="Předmět" class="form-control input-lg" required>
        <textarea name="message" placeholder="Zpráva" class="form-control input-lg" rows="10" required></textarea>
        <input type="submit" name="send" value="Odeslat zprávu" class="btn btn-primary input-lg">
        <input type="reset" value="Obnovit" class="btn input-lg">
    </form>
</body>
</html>

Díky za každou radu.
Keeehi
Profil
Verzí PHP to nebude. Podle dokumentace by to mělo fungovat od 4.0.6

hitny14:
odesílání nefnguje
Jak se to projevuje? Zobrazí se ti nějaký error, bílá stránka, tebou vytvořená chybová hláška, hláška o úspěšném odeslání ale email nedorazí nebo něco jiného?
hitny14
Profil
Zobrazí se mi bílá stránka nic jinýho.. Na jiném hostingu mi to šlo v pohodě.
Davex
Profil
hitny14:
Je možné, že na serveru není v konfiguraci PHP zapnuto rozšíření mbstring, ve kterém jsou implementované funkce mb_*.
hitny14
Profil
I když dám místo MB_send_mail() jen mail() tak problém je pořád stejný
Jan Tvrdík
Profil
Vůbec by mě nepřekvapilo, kdyby na hostingu s 10 let starou verzí PHP prostě funkce mail nefungovala.
Keeehi
Profil
Tak ořezávej. Vezmi to php, někam vedle si ho dočasně ulož a z toho souboru ho vymaž. Už se to zobrazuje? Fajn. Teď ho tam postupně po částech vracej až to zase přestane fungovat. Gratuluji posledně vložený kód je ten problémový.

Taky by určitě pomohlo si na chvíli zapnout vypisování chyb.

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:

0