Nejste přihlášeni
Stránky 1
Dobrý den, tento script neodešle email, i když podle podmínky byl email odeslán.
Zde je kód:
$from_email = "michal.jankovec@seznam.cz";
$reply_to_email = "michal.jankovec@seznam.cz";
if ($_POST){
if (isset($_POST['priloha'])) { //Práce z přílohou pokud se příloha odeslala
$file_tmp_name = $_FILES['priloha']['tmp_name'];
$file_name = $_FILES['priloha']['name'];
$file_size = $_FILES['priloha']['size'];
$file_type = $_FILES['priloha']['type'];
$file_error = $_FILES['priloha']['error'];
$handle = fopen($file_tmp_name, "r");
$content = fread($handle, $file_size);
fclose($handle);
$encoded_content = chunk_split(base64_encode($content));
}
if (isset($_POST['zprava']) && $_POST['zprava']) {
$message = filter_var($_POST["zprava"], FILTER_SANITIZE_STRING);
$boundary = md5("sanwebe");
$headers = "MIME-Version: 1.0\r\n";
$headers .= "From:".$from_email."\r\n";
$headers .= "Reply-To: ".$reply_to_email."" . "\r\n";
$headers .= "Content-Type: multipart/mixed; boundary = $boundary\r\n\r\n";
$body = "--$boundary\r\n";
$body .= "Content-Type: text/plain; charset=ISO-8859-1\r\n";
$body .= "Content-Transfer-Encoding: base64\r\n\r\n";
$body .= chunk_split(base64_encode($message));
$body .= "--$boundary\r\n";
$body .="Content-Type: $file_type; name=".$file_name."\r\n";
$body .="Content-Disposition: attachment; filename=".$file_name."\r\n";
$body .="Content-Transfer-Encoding: base64\r\n";
$body .="X-Attachment-Id: ".rand(1000,99999)."\r\n\r\n";
$body .= $encoded_content;
$sentMail = mail($recipient_email, $subject, $body, $headers);
if($sentMail) //output success or failure messages
{
$out=('Díky za váš email');
}else{
$out=('Nelze odeslat email!.');
}
}
else
$out = 'Formulář není správně vyplněný!';
}
Kde je prosím chyba ?
Offline
ahoj, určitě na konci ti chybí { závorka
else
zde=>{ $out = 'Formulář není správně vyplněný!';
}
if (isset($_POST['zprava']) && $_POST['zprava']) toto podle mě nedává smysl, nechal bych jen if (isset($_POST['zprava'])){...}
$out=('Díky za váš email'); a tímto zápisem si moc nejsem jistý - u obou zpráv bych dal $out="Díky za váš email";
Snad to pomůže:)
Offline
Seznam má blokované odosielanie z ich email adries mimo ich mail servery pomocou SPF. Tj náš server nemôže odoslať mail z adresy končiacou na @seznam.cz
Ak tohoto chcete docieliť, musíte odosielanie vykonať pomocou SMTP prihlásenia na email server seznamu za pomoci vašeho mena a hesla.
Offline
Ale tento kód mi na seznam email přijde.
if ($_POST) // V poli _POST něco je, odeslal se formulář
{
if (isset($_POST['jmeno']) && $_POST['jmeno'] &&
isset($_POST['prijmeni']) && $_POST['prijmeni'] &&
isset($_POST['email']) && $_POST['email'] &&
isset($_POST['tel']) && $_POST['tel'] &&
isset($_POST['predmet']) && $_POST['predmet'] &&
isset($_POST['zprava']) && $_POST['zprava'] &&
isset($_POST['rok']) && $_POST['rok'] == date('Y'))
{
$hlavicka = 'From:' . $_POST['email'];
$hlavicka .= "\nMIME-Version: 1.0\n";
$hlavicka .= "Content-Type: text/html; charset=\"utf-8\"\n";
$adresa = 'michal.jankovec@seznam.cz';
$predmet = 'Poptávka z webu - '.$_POST['predmet'];
$zprava = '<span style="font-weight:bold">Jméno: '.$_POST['jmeno'].' '.$_POST['prijmeni'].' <br> Telefon: '.$_POST['tel'].'</span><br><hr>'.$_POST['zprava'];
$uspech = mb_send_mail($adresa, $predmet, $zprava, $hlavicka);
if ($uspech)
{
$out = '<div class="emailOK">Email byl úspěšně odeslán, brzy vám odpovíme.</div>';
}
else
$out = '<div class="emailError">Email se nepodařilo odeslat. Zkontrolujte adresu.</div>';
}
else
$out = '<div class="emailError">Formulář není správně vyplněný!</div>';
}
Tak mam špatně napsaný ten první script ?
Offline
Offline
Stránky 1