Phpmailer-chyba pri odesilani prilohy – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Phpmailer-chyba pri odesilani prilohy – PHP – Fórum – Programujte.comPhpmailer-chyba pri odesilani prilohy – PHP – Fórum – Programujte.com

 

tribalcz0
Super člen
22. 5. 2012   #1
-
0
-

ahoj mam problem s odesilanim priloh v php maileru hledal sem na internetu a ani strycek google mi neporadil tak doufam ze mi nekdop poradi tady po stisknuti tlacitka odeslat se mi obevi toto

Bad Request

Your browser sent a request that this server could not understand.

Dale prikladam kod.

formular:

<form enctype="multipart/form-data" method="post" action="send.php">
<table style="background-color:gainsboro; color:black; font:normal 11px Arial" border="0">

<tr>
<td align="center" colspan="2"></td>
</tr>

<tr><td >Předmět:</td><td><select size="1" name="predmet">
<option value="Jane Scottová">Jane Scottová</option>
<option value="Ronald Wayne">Ronald Wayne</option>
<option value="Neal,Steve O´Brianovi">Neal a Steve O´Brianovi</option>
<option value="Bruce Springs">Bruce Springs</option>
<option value="Robie">Robie</option>
<option value="Samantha">Samantha</option>
<option value="Lina">Lina</option>
<option value="Christie">Christie</option>
<option value="Černá Elita">Černá Elita</option>
    <option value="Ostatní hrdinové">Ostatní hrdinové</option>
    <option value="Ostatní hrdinky">Ostatní hrdinky</option>
</select></td></tr>
<tr><td >Email:</td><td><input name="odesilatel" type="text" size="35px"></td></tr>

<tr><td>Text:</td><td><textarea name="text" cols="20" rows="2" style="width:259px;height: 100px;"></textarea></td></tr>
<tr>
<tr><td colspan="2"><input name="priloha" type="file"/></td></tr>
<td align="center" colspan="2"><input name="submitter" type="submit" value="Odeslat"></td>
</tr>

</table>
</form>

send.php

<?php
  require "class.phpmailer.php";
  $mail = new PHPMailer();
  $mail->IsSMTP();  // k odeslání e-mailu použijeme SMTP server
  $mail->Host = "smtp.seznam.cz";  // zadáme adresu SMTP serveru
  $mail->SMTPAuth = true;               // nastavíme true v případě, že server vyžaduje SMTP autentizaci
  $mail->Username = "xxxx@xxxx.cz";   // uživatelské jméno pro SMTP autentizaci
  $mail->Password = "xxxxxxx";            // heslo pro SMTP autentizaci
  $mail->From = $_POST['odesilatel'];   // adresa odesílatele skriptu
  $mail->FromName = $_POST['odesilatel']; // jméno odesílatele skriptu (zobrazí se vedle adresy odesílatele)

  $mail->AddAddress("tribal.cz@gmail.com");  // přidáme příjemce

  $mail->Subject = $_POST['predmet'];    // nastavíme předmět e-mailu
  $mail->Body = $_POST['text'];  // nastavíme tělo e-mailu
  $mail->WordWrap = 50;   // je vhodné taky nastavit zalomení (po 50 znacích)
  $mail->CharSet = "utf-8";   // nastavíme kódování, ve kterém odesíláme e-mail
  $mail->SetLanguage("cz");
  $mail->AddAttachment($_FILES['priloha']['tmp_name'], $_FILES['priloha']['name']);
  if(!$mail->Send()) {  // odešleme e-mail
     echo 'Došlo k chybě při odeslání e-mailu.';
     echo 'Chybová hláška: ' . $mail->ErrorInfo;
  }
  else
  {
     echo 'E-mail byl v pořádku odeslán.';
  }
?>

Nahlásit jako SPAM
IP: 78.102.20.–
ench0
Stálý člen
27. 5. 2012   #2
-
0
-

#1 tribalcz
Zkusil jsem si ten tvůj kód a narazil jsem na dva zádrhely.

  1. Když jsem ve formuláři zadal jiný email než ten ze seznamu (ten, co je použit k odeslání přes SMTP), tak se email neodeslal
  2. Pokud nemáš v adresáři i soubor class.smtp.php, tak ten skript končí chybou. Zkontroluj si tedy, zda tam nemáš pouze class.phpmailer.php

Nahlásit jako SPAM
IP: 46.13.114.–
I programování je pudová záležitost. Buď to pude, nebo to nepude
tribalcz0
Super člen
27. 5. 2012   #3
-
0
-

vse funguje jak ma mam vsechny potrebne soubory nahrane na serveru vse je ok ale jen do te doby nez chci odesilat prilohu

Nahlásit jako SPAM
IP: 78.102.20.–
ench0
Stálý člen
27. 5. 2012   #4
-
0
-

Tak zkus celý ten php kód obalit do try-catch, třeba ti to něco vyhodí. 

Ten tvůj kód mi totiž email i s přílohou (png obrázek) odeslal, takže se musíme dopídit toho, co je špatně.

Nahlásit jako SPAM
IP: 46.13.114.–
I programování je pudová záležitost. Buď to pude, nebo to nepude
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 34 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý