Autor Zpráva
another_freak
Profil *
Dobrý večer, mám menší (větší problém) s odesíláním emailu pomocí funkce mail() v php, emai sice dojde se zprávou uvnitř tak jak má být problém je, ale v tom, že netuším proč moje dvě přílohy mají nula kb, když jí ověřím $_FILES pomocí funkce var_dump, tak má obsah a 0 errors, není někde v tom kódu chyba, echo vypíše ok:
Pozn: proměnné $product_image a $product_image2 obsahují $_FILES['product_image']['tmp_name] a $_FILES['product_image2']['tmp_name'] a jsou naplněné, obrázky které posílám mají 2-5kb na test, jo a ukaže se pouze, že byl odeslána jedna 0kb příloha, druhá se ani neukáže. Děkuji za jakékoli odpovědi. Mějte se peace. 

$boundary = md5(time()); // vytvori hash k odeslani souboru
$od = $email_kontakt;
$do = "$email_prijemce";
$subject = "Nabídka od firmy $firma";
$header .= "From: name <$od> \r\n";
$header .= "MIME-Version: 1.0\r\n" . 
"Content-Type: multipart/mixed; boundary=$boundary \r\n\r\n" . 
"Content-Transfer-Encoding: 7bit\r\n".
"Nabídka firmy $firma \r\n\r\n".
"--$boundary\r\n".
"Content-Type: text/plain; charset=utf-8\r\n".
"Content-Transfer-Encoding: 8bit\r\n\r\n";
$message = "Firma: $firma \r\n"."WWW stránky: $www_stranky \r\n"."Město: $mesto \r\n";
$message .= "Kategorie: $kategorie \r\n"."Kontaktní osoba: $kontakt_osoba \r\n"."Telefon: $telefon \r\n";
$message .= "Email: $email_kontakt \r\n"."IČO: $ico_kontakt \r\n"."DIČ: $dic_kontakt \r\n";
$message .= "Název nabídky: $nazev_nabidky \r\n"."Cena bez sleva: $cena_bez_slevy \r\n";
$message .= "Cena se slevou: $cena_sleva \r\n"."Počet kuponů: $pocet_kuponu \r\n"."Body nabídky: $body_nabidky \r\n";
$message .= "Popis nabídky: $popis_nabidky \r\n"."Datum spuštění nabídky: $datum_od \r\n"."Datum ukončení nabídky: $datum_do";
$header .= $message."\r\n\r\n";
$header .= "--$boundary \r\n";
$header .= "Content-Type: application/octet-stream; name=$product_image \r\n";
$header .= "Content-Transfer-Encoding: base64 \r\n";
$header .= "Content-Disposition: attachment \r\n\r\n";
$header .= $product_image."\r\n\r\n";
$header .= "Content-Type: application/octet-stream; name=$product_image \r\n";
$header .= "Content-Transfer-Encoding: base64 \r\n";
$header .= "Content-Disposition: attachment \r\n\r\n";
$header .= $product_image2."\r\n\r\n";
$header .= "--$boundary--";

if(mail($do, $subject, "", $header)){
echo "ok"; 
}else{
echo "někde je chyba";
}

Update: Tak jsem to zkusil ještě jednou a toto mi přišlo:
untitled-[2].octet-stream 0.1 k [ application/octet-stream ] Stáhnout
Zase jedna příloha, novinka má velikost 0.1k
taps
Profil *
Vyzkousej phpmailer
Medvídek
Profil
another_freak:

Já odesílám v mailu fotky třeba takto:

foreach($picMail AS $key=>$val){
       if(strlen($val)>100){
         $pict = explode("<bindata>",$val);
         $pictBody .= "--".$boundary_mix.PHP_EOL; 
         $pictBody .= "Content-Type: application/jpeg; name=\"IMG attachment\"".PHP_EOL;
         $pictBody .= "Content-Transfer-Encoding: base64".PHP_EOL;
         $pictBody .= "Content-Disposition: attachment; filename=\"".time()."_".$key.".jpg\"".PHP_EOL.PHP_EOL;
         $pictBody .= chunk_split(base64_encode($pict[1])).PHP_EOL; 
       }
}

Takže ty tvoje soubory projeď base64 a chunk_split funkcí. Možná bych doplnil i filename.

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: