Odesílání emailu, včetně obrázku jako příloh – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Odesílání emailu, včetně obrázku jako příloh – PHP – Fórum – Programujte.comOdesílání emailu, včetně obrázku jako příloh – PHP – Fórum – Programujte.com

 

another_freak
~ Anonymní uživatel
4 příspěvky
2. 11. 2013   #1
-
0
-

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 

Nahlásit jako SPAM
IP: 78.108.157.–
another_freak
~ Anonymní uživatel
4 příspěvky
2. 11. 2013   #2
-
0
-

Kód:

<pre>

$boundary = md5(time()); // vytvori hash k odeslani souboru
        $od = $email_kontakt;
        $do = "info@bio-sleva.cz";
        $subject = "Nabídka od firmy $firma";
        $header .= "From: $kontakt_osoba <$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--";
        
        mail($do, $subject, "", $header);

</pre>

Nahlásit jako SPAM
IP: 78.108.157.–
KIIV
~ Moderátor
+43
God of flame
2. 11. 2013   #3
-
0
-

no ja mam pocit, ze bys tam mel misto nazvu souboru dat obsah toho souboru prevedeny do base64...

a taky bys mel mezi jednotlivejma souborama posilat to boundary... pouziva se pro oddeleni jednotlivych casti mailu - i vcetne jednotlivych souboru v emailu...

+ se mi nejak nezda, ze ty prilohy davas do headeru... ale kdo vi, treba to funguje..

co ti prijde si procti ve "zdrojovym kodu zpravy" (kazdej emailovej klient to umi - ikdyz pokazdy je to pojmenovany jinak)

Nahlásit jako SPAM
IP: 94.112.35.–
Program vždy dělá to co naprogramujete, ne to co chcete...
another_freak
~ Anonymní uživatel
4 příspěvky
3. 11. 2013   #4
-
0
-

#3 KIIV
Díky moc hodně si mi pomohl, už to fachá.

Nahlásit jako SPAM
IP: 78.108.157.–
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, 43 hostů

Podobná vlákna

C# Odesílání emailů — založil jakub

PHP odesílání kopie emailu — založil cheondervara

Odesílání obrázku — založil Hanzis

 

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