Email přílohou

4 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. Nemáte někdo 100% funkční script na odeslání emailu s přílohou, vyzkoušel jsem jich několik, ale bez úspěchu. Tento script sice posílá přílohu, ale nemůžu tam dostat text, když do miska kde je napsáno "SEM MUZETE ZADAT TEXT EMAILU" něco dam tak to přestane fungovat. ---------------------------------------------------------------------------------------- <?php $odesilatel=$_POST['odesilatel']; $prijemce=$_POST['prijemce']; $name = $_FILES['priloha']['name']; $tmp_name = $_FILES['priloha']['tmp_name']; //Uložení souboru do temp if($_POST['odeslano']=="ano"){ if (isset($_FILES['priloha']['name'])) { // jestli byl soubor poslan if (move_uploaded_file($tmp_name,"./temp/$name")): //zkopírování obrázku do adresáře echo "<b>Soubor uložen do temp adresáře!</b><br>"; // uložení cesty k jednotlivým obrázkům do databáze endif; //NACTENI SOUBORU DO PROMENNE A ZAKODOVANI POMOCI MIME BASE64 $attachment_name = "./temp/$name"; $fp = FOpen ($attachment_name, 'r'); $contents = FRead ($fp, FileSize($attachment_name)); $contents = Chunk_Split(Base64_Encode($contents)); FClose ($fp); $address = $prijemce; $subject = 'Email s prilohou'; $headers = "From: Odesilatel <$odesilatel>\n"; $headers .= "Reply-To: <$odesilatel>\n"; $headers .= "MIME-Version: 1.0\n"; $headers .= "Content-Type: multipart/related; type=\"multipart/alternative\"; boundary=\"" ."----=MIME_BOUNDRY_main_message\"\n"; $headers .= "X-Sender: Odesilatel <$odesilatel>\n"; $headers .= "X-Mailer: PHP4\n"; $headers .= "X-Priority: 3\n"; //Priorita emailu 1 = Urgentni, 3 = Normalni $headers .= "Return-Path: <$odesilatel>\n"; $headers .= "This is a multi-part message in MIME format.\n"; $headers .= "------=MIME_BOUNDRY_main_message \n"; $headers .= "Content-Type: multipart/alternative; boundary=\"" ."----=MIME_BOUNDRY_message_parts\"\n"; $message = "------=MIME_BOUNDRY_message_parts\n"; $message .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n"; $message .= "Content-Transfer-Encoding: quoted-printable\n"; $message .= "\n"; $message .= "\n"; $message .= "\n"; $message .= "------=MIME_BOUNDRY_message_parts--\n"; $message .= "SEM MUZETE ZADAT TEXT EMAILU\n"; $message .= "------=MIME_BOUNDRY_main_message\n"; $message .= "Content-Type: application/octet-stream;\n\tname=\"" . $attachment_name . "\"\n"; $message .= "Content-Transfer-Encoding: base64\n"; $message .= "Content-Disposition: attachment;\n\tfilename=\"" . $attachment_name . "\"\n\n"; $message .= $contents; //Zakodovana priloha $message .= "\n"; $message .= "------=MIME_BOUNDRY_main_message--\n"; //ODESLANI EMAILU if (mail($address, $subject, $message, $headers)) { print '<b>Email byl úspěšně odeslán.</b><br />'; if (!isset($From)){ $From="search"; if(file_exists("./temp/$name")): unlink("./temp/$name"); echo "<b>Vymazáno</b>"; else: echo"<b>Nastala chyba</b>"; endif; } } else { print '<b>Došlo k chybě!</b>'; } } } ?> <h2>Formulář pro odeslání emailu s přílohou</h2> <form method="post" enctype="multipart/form-data"> <b>Odesilatel:</b><br /> <input name="odesilatel" type="text" size="30" value=""><br /> <b>Email:</b><br /> <input name="prijemce" type="text" size="30" value=""><br /> <b>Příloha:</b><br /> <input name="priloha" type="file" value=""><br /> <b>Text ke zprávě:</b><br /> <textarea name="text" rows=5 cols=50 wrap="off">Napiš text</textarea><br /> <input name="odeslano" type="hidden" value="ano"> <input type="submit" value=">>> Odeslat <<<"> </form>
  2. mam tu nějakej script ale po pravdě když přidáš přílohu tak príjde zběsilá skupinka místo přílohy ale jinak to funguje :-PPP jen ta příloha ne
  3. sorry zběsilá skupinka písmenek místo přílohy jestli ho chceš , pokud si troufáš ho upravit pošli mejl a ja ti to pošlu
  4. Díky už to mám hotové, poskládal jsem to dohromady z několika zdojů, a to šlape.

← Zpět na všechna témata