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>