| Autor | Správa |
weroro
 Užívateľ
 Založený: 28.02.2011 Príspevky: 48 Bydlisko: Levice Vek: 26
 |
Ahoj
Mám flash formulár, ktorý je iba akýmsi grafickým GUI na posielanie mailov z webu. Samotné maily posielam pomocou triedy phpmailer, ale chová sa to nekorektne pri posielaní príloh a ja neviem prečo. Na odosielanie mailu používam Gmail, ktorý mám prepojený s mojou doménou (host kde fungujem nemá mail server), ale tento problém je aj pri použití na hostingu kde mail server je.
Prílohy sa uploadujú cez flash prostredie kde kontrolujem aj existenciu súboru po dokončení uploadu. Mail sa mi normálne odošle, keď je to iba čistý text, alebo ak je súčet veľkostí všetkých príloh menší ako 5.5MB. Pokiaľ chcem odoslať prílohy ktorých súčet veľkostí presahuje toto číslo mail sa neodošle a PHP sa zastaví. chybové hlášky (ak nejaké vypisuje) nevidím, pretože flash je ako ajax a spracúvam iba to čo mi pošle ako odpoveď php. To že prestane pracovať si myslím preto, lebo mám ošetrenú odpoveď o odoslaní, neodoslaní mailu (iba vrátením hodnoty ok/err) a o neprístupnosti daného PHP (keď ho flash nevie nájsť). V prípade, že je PHP nájdené ale nepošle žiadnu odpoveď flash vypíše chybu o prerušení vykonávia PHP.
Je tento problém s prílohou zapríčinený samotnou triedou php mailer a treba to niekde nadefinovať, alebo je to problém servera a treba to nastaviť tam?
Osobne so googlil "phpmailer send 20MB attach" a pod. avšak žiadnu odpoveď som nedostal (aspoň nie takú, ktorá by pomohla)
Chcem Vás preto požiadať o radu v prípade, že je potrebné nastaviť buď triedu nejakým atribútom alebo ak je potrebné nastaviť server. A ak áno, tak ako? Potrebujem dosiahnuť posielanie 20MB príloh.
Ďakujem za odveď.
Takto vyzerá časť PHP, kde používam triedu phpmailer:
| kód: |
include("pmail/class.phpmailer.php");
$mail = new PHPMailer();
$mail->From = $e_mail;
$mail->FromName = $meno;
$mail->AddAddress($mailPrijimatela);
$mail->AddBCC($mailSkrytaKopia);
$mail->AddReplyTo($e_mail);
$mail->WordWrap = 50;// set word wrap
if ($handle = opendir("$dr")) {
while (false !== ($file = readdir($handle))) {
if($file!=".." && $file!="." && $file!=".htaccess" && $file!="Thumbs.db")
$mail->AddAttachment("$dr/$file");
}
closedir($handle);
}
$mail->Body = $mailik;
$mail->IsHTML(false);// send as HTML
$mail->Subject = $predmetMailu;
$mail->CharSet = "UTF-8";
if(!$mail->Send())
{
echo '&errvar=chyba';
exit;
} |
|
| |
   |
 |
chrono
 Skúsený užívateľ
 Založený: 13.11.2007 Príspevky: 808
 | Zaslal: Ut 20.12.11 22:01 |   |
Nechce sa i pozerať, akým spôsobom je tam to posielanie príloh riešené, ale je možné, že to skončí pre nedostatok pamäte pre php. Takže to vyskúšaj na localhoste a php povoľ veľa pamäte.
V prehliadači sa, teoreticky, môže dať zistiť, čo presne flash posiela a čo dostáva (pomocou vhodného rozšírenia). Ak to fungovať nebude, stále môžeš na sledovanie komunikácie použiť napr. Wireshark, prípadne si do php pridáš vlastnú obsluhu chýb a budeš si tie chyby zapisovať do nejakého súboru (netuším ale, či to umožní ukladať aj chyby spojené s nedostatkom pamäte). |
| |
  |
 |
weroro
 Užívateľ
 Založený: 28.02.2011 Príspevky: 48 Bydlisko: Levice Vek: 26
 |
Vďaka chrono, napíšem správcovi nech mi zvýši všetko čo sa len dá. Ďakujem aspoň za odrazový mostík. |
_________________
| citácia: | | Nikdy nie je čas napísať to poriadne, ale vždy je čas to opravovať. |
| |
   |
 |
shiro
 Skúsený užívateľ
 Založený: 12.10.2006 Príspevky: 9658
 |
ono nebolo by na skodu sa zamysliet akou velkou blbostou je mail s prilohou 20MB. nastuduj si definiciu e-mailu. |
_________________ AMD Phenom II 955 BE 3.2GHz, 4GB RAM DDR3-1333 A-Data, MB Gigabyte MA-770T-UD3P, Kingston SSDNow V 64GB 2.Gen., WD 640GB + WD 1TB, Gigabyte GeForce GTX275 896MB, 2xDVD+-RW NEC 7173, LCD BenQ G2400Wa 24", MS Wireless optical mouse 2.0A, Keyboard Prestigio, Creative SBS 380 2.1 | |
  |
 |
weroro
 Užívateľ
 Založený: 28.02.2011 Príspevky: 48 Bydlisko: Levice Vek: 26
 | Zaslal: Pi 23.12.11 13:57 |   |
Ja viem veľmi dobre, že je to blbosť, nerobím to 3 deň, ale zákazník náš pán. |
_________________
| citácia: | | Nikdy nie je čas napísať to poriadne, ale vždy je čas to opravovať. |
| |
   |
 |
|
Nemôžete pridávať nové témy do tohto fóra. Nemôžete odpovedať na témy v tomto fóre. Nemôžete upravovať svoje príspevky v tomto fóre. Nemôžete mazať svoje príspevky v tomto fóre. Nemôžete hlasovať v tomto fóre.
|
|