Autor Zpráva
dako
Profil
Ahojte,
možno aj častá chyba pri funkcii mail... Ale mám problém, že mi maily odosiela len na gmailové schránky. Nešlo to ani na centrum.sk / centrum.cz alebo maily, ktoré mám k hostingom vo wedose :) V čom môže byť najčastejší problém??? Treba nejako nastaviť SMTP? ak áno, ako a či pre každý server zvlášť???
A 2. chyba - pri poslaní na gmail a zobrazení mailu cez klienta (Outlook aj Mozilla Thunderbird) - tak v klientovi nezobrazuje diakritiku...

Prikladám časti z kódu:

    if (preg_match($pattern, $fullname) || preg_match($pattern, $email) || preg_match($pattern, $subject)) {
        die("Header injection detected");
    }

    $emailIsValid = filter_var($email, FILTER_VALIDATE_EMAIL);

    if($fullname && $email && $emailIsValid && $subject && $message){

............ďalej

        $headers  = "MIME-Version: 1.1" . PHP_EOL;
        $headers .= "Content-type: text/html; charset=utf-8" . PHP_EOL;
        $headers .= "Content-Transfer-Encoding: 8bit" . PHP_EOL;
        $headers .= "Date: " . date('r', $_SERVER['REQUEST_TIME']) . PHP_EOL;
        $headers .= "Message-ID: <" . $_SERVER['REQUEST_TIME'] . md5($_SERVER['REQUEST_TIME']) . '@' . $_SERVER['SERVER_NAME'] . '>' . PHP_EOL;
        $headers .= "From: " . "=?UTF-8?B?".base64_encode($fullname)."?=" . "<$email>" . PHP_EOL;
        $headers .= "Return-Path: $emailTo" . PHP_EOL;
        $headers .= "Reply-To: $email" . PHP_EOL;
        $headers .= "X-Mailer: PHP/". phpversion() . PHP_EOL;
        $headers .= "X-Originating-IP: " . $_SERVER['SERVER_ADDR'] . PHP_EOL;

..........a na koniec

 mail($emailTo, "=?utf-8?B?".base64_encode($subject)."?=", $body, $headers);

Maily vždy odošle v poriadkua nevykáže žiadnu chybu navyše... :)
Ďakujem
Davex
Profil
dako:
1) Určitě existuje MIME-Version: 1.1?
2) Neměla by být v odesílateli mezi jménem a adresou mezera?
3) Sestavit správně e-mail se musí umět a ty si to navíc moc komplikuješ. Použij raději třídu PHPMailer.

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: