mail a příloha

3 příspěvky

Archiv diskusního fóra

Fórum je uzavřené a slouží pouze ke čtení. Některé informace mohou být zastaralé.

  1. potrebuju odesilat mail s prilohou, nasel jsem tohle if ($soubor_name) { if (copy ($soubor, "temp/$soubor_name")) { $priloha = $mail->get_file("temp/$soubor_name"); $mail->add_attachment($priloha, $soubor_name, $soubor_type); } } ale hazi to chybu: Fatal error: Call to a member function on a non-object in zdrojáku poradte, nebo nejaky jiny skript na odesilani. diky vsem
  2. Musíš tam mít zdroják třídy objektu $mail (a něco ve stylu $mail=new cMail;)
  3. ja pouzivam nasledujici skriptik: $filename = "order_".str_pad($id_objednavky,6,0,STR_PAD_LEFT).".txt"; $soubor = fopen ("../../objednavky/$filename", "w"); $obsah = "..."; // ZMENA KODOVANI // prevedení z iso-8859-2 do windows-1250 (pokud je potreba) $obsah = StrTr($obsah, "\xA9\xAB\xAE\xB9\xBB\xBE", "\x8A\x8D\x8E\x9A\x9D\x9E"); // zapis obsahu do souboru // (v mem pripade jsem generoval soubor s objednavkou, ten ulozil na severu a pak zaroven odeslal na patricnou adresu pro zpracovani) fwrite($soubor,$obsah); // uzavreni souboru fclose($soubor); unset($soubor); // SESTAVENI E-MAILU $primarni_prijemce = "xxx"; $primarni_prijemce_email = "xxx@xxx.cz"; $sekundarni_prijemce = "xxx xxx"; $sekundarni_prijemce_email = "xxx@xxx.cz"; /* format e-mailu */ $obalka['from'] = "=?iso-8859-2?Q?".imap_8bit("Odesilatel")."?="." <odesilatel@xxx.cz>\n"; // OD KOHO $obalka['to'] = "=?iso-8859-2?Q?".imap_8bit($primarni_prijemce)."?="." <$primarni_prijemce_email>\n"; // KOMU $obalka['cc'] = "=?iso-8859-2?Q?".imap_8bit($sekundarni_prijemce)."?="." <$sekundarni_prijemce_email>\n"; // KOPIE $obalka['X-Priority'] = "2\n"; // PRIORITA $obalka['Return-Path'] = "=?iso-8859-2?Q?".imap_8bit("Return-Path")."?="." <shop@xxx.cz>\n"; // ADRESA PRO NAVRAT V PRIPADE CHYBY $obalka['Content-Type'] = "text/plain; charset=iso-8859-2\n";// KODOVANI HLAVICEK $obalka['Content-Transfer-Encoding'] = "base64\n";// KODOVANI HLAVICEK $obalka['MIME-Version'] = "1.0\n";// KODOVANI HLAVICEK $cast1['type'] = TYPEMULTIPART; // zprava ma nekolik casti $cast1['subtype'] = "mixed"; // jendotlive casti jsou ruzneho typu // ******** VLOZENI PRILOHY ******** // $soubor = "../../objednavky/$filename"; $fp = fopen($soubor, "r"); // otevreni pro cteni $contents = fread($fp,filesize($soubor)); // binarni nacteni obsahu souboru fclose($fp); // uzavreni souboru $cast2['type'] = TYPEAPPLICATION; $cast2['Content-Type'] = "text/plain; charset=win-1250\n";// KODOVANI $cast2['encoding'] = ENCBINARY; // jde o binarni data $cast2['subtype'] = "octet-stream"; $cast2['description'] = basename($soubor); // jmeno souboru bude jeho popisem $cast2['contents.data'] = $contents; // prirazeni vlastniho obsahu // ******** DALSI CAST CASTI ZPRAVY JE JEJI VLASTNI TEXT ******** // $cast3['type'] = TYPETEXT; $cast3['subtype'] = "plain\n"; $cast3['description'] = "obsah e-mailu"; // jmeno souboru bude jeho popisem $cast3['contents.data'] =$obsah; // prirazeni vlastniho obsahu $cast3['Content-Type'] = "text/plain; charset=win-1250\n";// KODOVANI HLAVICEK // ******** SLEPENI JEDNOTLIVYCH CASTI E-MAILU ******** // $telo[1] = $cast1; $telo[2] = $cast2; $telo[3] = $cast3; $obsah_emailu = imap_mail_compose($obalka,$telo); // obsah celeho e-mailu vcetne prilohy $header_end = StrPos($obsah_emailu, "\r\n\r\n"); // zjisteni, kde konci zapis hlavicek $hlavicka = SubStr($obsah_emailu, 0, $header_end+2); // vyriznuti hlavicky $telo = SubStr($obsah_emailu, $header_end, StrLen($obsah_emailu) - $header_end); // vyriznuti zbytku zpravy /* subject */ $predmet = "=?iso-8859-2?Q?".imap_8bit("Objednávka: $email_orderID od: $email_jmeno $email_prijmeni")."?="; /* VLASTNI ODESLANI */ if (mail("", $predmet, $telo, $hlavicka)) { return true; exit; } else { return false; exit; }

← Zpět na všechna témata