Autor Zpráva
petulkaaa12
Profil
Hezký večer,
na stránkách mi přestalo fungovat odesílání přihlášky na mail (priprava.webpark.cz/prihlaska_dlou.php). Včera psala jedna zájemkyně, že přihlášku vyplnila, stránky jí vyhodily hlášku, že odeslání proběhlo v pořádku, ale na mail nic nedorazilo. Dnes v 15:17 jedna přihláška dorazila v pořádku, ale když jsem kolem šesté zkoušela odeslat novou přihlášku, na mail opět nic nedorazilo. Nevíte, kde by mohla být chyba? Webhosting mám na client.ic.cz/index.php. Jinak ostatní maily na e-mailovou stránku chodí normálně.

Nevím, jakou část kódu nakopírovat, protože nemám ponětí, kde by mohla být chyba. Nikde v kódu jsem nic neměnila a doposud vše vždycky fungovalo.

Odesílací skript:
<?php

function autoUTF($s)
{
    if (preg_match('#[\x80-\x{1FF}\x{2000}-\x{3FFF}]#u', $s)) // detect UTF-8
    {
        return $s;
    }
    elseif (preg_match('#[\x7F-\x9F\xBC]#', $s)) // detect WINDOWS-1250
    {
        return iconv('WINDOWS-1250', 'UTF-8', $s);
    }
    else // assume ISO-8859-2
    {
        return iconv('ISO-8859-2', 'UTF-8', $s);
    }
}
 
function cs_mail($to, $subject, $mess, $extra = "")
{
    $subject = "=?utf-8?B?".base64_encode(autoUTF($subject))."?=";
    $extra .= "MIME-Version: 1.0".PHP_EOL;
    $extra .= "Content-Type: text/plain; charset=\"utf-8\"".PHP_EOL;
    $extra .= "Content-Transfer-Encoding: base64".PHP_EOL;
    $mess = wordwrap(base64_encode(autoUTF($mess)), 78, PHP_EOL, true);
    return mail($to, $subject, $mess, $extra);
}


$jmeno_odesilatele = $_POST["jmeno_odesilatele"];
$prijmeni_odesilatele = $_POST["prijmeni_odesilatele"];
$zakonny_zastupce = $_POST["zakonny_zastupce"];
$email_zz = $_POST["email_zz"];
$telefon_zz = $_POST["telefon_zz"];
$MatematikaDen = $_POST["MatematikaDen"];
$MatematikaCas = $_POST["MatematikaCas"];
$MatematikaNahradniDen = $_POST["MatematikaNahradniDen"];
$CestinaDen = $_POST["CestinaDen"];
$CestinaCas = $_POST["CestinaCas"];
$CestinaNahradniDen = $_POST["CestinaNahradniDen"];
$poznamka = $_POST["poznamka"];

$to = "pripravne.kurzy@centrum.cz";
$extra = "From: $email_zz\r\nReply-To: $email_zz\r\n";
$subject = "Přihláška na dlouhé kurzy od ".$zakonny_zastupce."";
$mess = "Jméno: ".$jmeno_odesilatele."\n
    Příjmení:".$prijmeni_odesilatele."\n
    Jméno a příjmení zákonného zástupce: ".$zakonny_zastupce." \n
    Email zákonného zástupce:".$email_zz."\n
    Telefon zákonného zástupce:".$telefon_zz."\n
    Matematika - den:" . $MatematikaDen."\n
  Matematika - čas:" . $MatematikaCas."\n
    Matematika - nahradní den:" . $MatematikaNahradniDen."\n
    Čeština - den:" . $CestinaDen."\n
    Čeština - čas:" . $CestinaCas."\n
    Čeština - nahradní den:" . $CestinaNahradniDen."\n
    Poznámka:" . $poznamka."\n";

cs_mail($to, $subject, $mess, $extra);

header('Location: po_prihlasce.html');

?>
quintrix
Profil *
Ja osobne by som odporucal použiť externu knižnicu a odosielať to pomocou SMTP servera. Preferujem swiftmailer.org. Stačí stiahnuť nahrať na server

require_once 'lib/swift_required.php'; // cesta ku kniznici
$transport = Swift_SmtpTransport::newInstance('smtp.centrum.cz', 25) // napojenie na smtp server...
  ->setUsername('your username') // meno
  ->setPassword('your password') // heso
  ; 

$mailer = Swift_Mailer::newInstance($transport);

$to = "pripravne.kurzy@centrum.cz";
$subject = "Přihláška na dlouhé kurzy od ".$zakonny_zastupce."";
$mess = "Jméno: ".$jmeno_odesilatele."\n
    Příjmení:".$prijmeni_odesilatele."\n
    Jméno a příjmení zákonného zástupce: ".$zakonny_zastupce." \n
    Email zákonného zástupce:".$email_zz."\n
    Telefon zákonného zástupce:".$telefon_zz."\n
    Matematika - den:" . $MatematikaDen."\n
  Matematika - čas:" . $MatematikaCas."\n
    Matematika - nahradní den:" . $MatematikaNahradniDen."\n
    Čeština - den:" . $CestinaDen."\n
    Čeština - čas:" . $CestinaCas."\n
    Čeština - nahradní den:" . $CestinaNahradniDen."\n
    Poznámka:" . $poznamka."\n";

$message = Swift_Message::newInstance($subject)
  ->setFrom(array('name@gmail.com' => $email_zz))
  ->setTo($to)
  ->setBody($mess);

// Send the message
$result = $mailer->send($message);

header('Location: po_prihlasce.html');

Hruby nastrel
petulkaaa12
Profil
quintrix:
Děkuju moc, teď jsem se při hledání řešení k těmhle serverům dostala. Budou asi spolehlivější, jdu se na to podívat.

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: