Chcel by som vas poprosit o html kod ktory by umoznoval z mojej www stranky poslat daku prilohu z mailom a popisom na moj mail.Dakujem velmi pekne
http://firstpage.wz.cz/?page=download&1 ;)
DAkujem ti ale ja potrebujem daco take ako je na tom odkaze ale aby sa tam dal pridat aj priloha :) dik .Takze ak niekto ho viete ten kod tak by som vam bol naozaj vdacni keby ste sen dali odkaz alebo ho tu napisali.
Dakujem
Co třeba použít vyhledávání v gůglu? Z výsledků např.
http://www.pcsvet.cz/art/article_print.php?id=1504 atd.
mal som ale ked som odoslal tamk mi prisiel text ale nie ta priloha :(
Urcite ta z vas niekto vie alebo mi aspon povedzte co mam zle ked mi pride na mail iba text bez prilohy cod je -
<HEAD>
<TITLE>Mail s prilohou</TITLE>
</HEAD>
<BODY>
<?
if ($akce == "Odeslat") { /* Bylo stisknuto tlacitko Odeslat */
if ($soubor_name == "") { /* nebyla vybrana priloha, posleme e-mail obycejne */
if (mail ("$prijemce", 'Zpráva z webu', "$dopis", "From: $odesilatel")) {
print "<h3>E-mail byl úspěšně odeslán!</h3>";
}
else {
print "<h3>E-mail se nepodařilo odeslat!</h3>";
}
}
else { /* priloha byla vybrana */
/* nejprve sestrojime hlavicky */
$envelope["from"] = "$odesilatel";
$envelope["to"] = "$prijemce";
/* nyni sestrojime nekolik casti dopisu */
/* 1. cast - uvodni, tou rekneme, ze dopis ma vice casti s ruznymi typy dat */
$part1["type"] = TYPEMULTIPART;
$part1["subtype"] = "mixed";
/* 2. cast - do dopisu pripojime prilohu */
/* nejprve zadany soubor nacteme */
Copy($soubor, $soubor_name); /* uploadnuty soubor zkopirujeme z docasneho adresare */
$f = fopen ($soubor_name, "r"); /* otevren pro cteni */
$obsah = fread ($f, filesize($soubor_name)); /* nacteme obsah do promenne */
fclose ($f);
$part2["type"] = TYPEAPPLICATION;
$part2["encoding"] = ENCBINARY;
$part2["subtype"] = "octet-stream";
$part2["description"] = basename($soubor_name);
$part2["contents.data"] = "$obsah";
/* 3. cast - do dopisu vlozime zadany text */
$part3["type"] = TYPETEXT;
$part3["subtype"] = "plain";
$part3["description"] = "text";
$part3["contents.data"] = $dopis;
/* Cely dopis ulozime do pole body */
$body[1] = $part1;
$body[2] = $part2;
$body[3] = $part3;
/* celou zpravu vytvorime a ulozime do promenne $zprava: */
$zprava = imap_mail_compose ($envelope, $body);
/* drive nez posleme zpravu funkci Mail musime rozdelit
zvlast hlavicku a zvlast telo: */
$pom = StrPos($zprava, "\r\n\r\n");
$hlavicka = SubStr($zprava, 0, $pom+2);
$telo = SubStr($zprava, $pom, StrLen($zprava) - $pom);
if (mail ("$prijemce", 'Zpráva z webu', $telo, $hlavicka)) {
print "<h3>E-mail byl úspěšně odeslán!</h3>";
}
else {
print "<h3>E-mail se nepodařilo odeslat!</h3>";
}
}
}
?>
<HR SIZE=1 NOSHADE>
<FORM ACTION="send.php" METHOD="post" ENCTYPE="multipart/form-data">
Odesílatel: <INPUT TYPE="text" NAME="odesilatel" VALUE="" SIZE=50 MAXLENGTH=50><BR>
Příjemce: <INPUT TYPE="text" NAME="prijemce" VALUE="bladeblade@gmail.com" SIZE=50 MAXLENGTH=50><BR><BR>
Text:<BR>
<TEXTAREA NAME="dopis" COLS="50" ROWS="10"></TEXTAREA><BR>
Soubor: <INPUT TYPE="file" NAME="soubor"> <BR>
<INPUT TYPE="submit" NAME="akce" VALUE="Odeslat"><BR>
</FORM>
</BODY>
Tenhle skript funguje, akorát nemůžu vyřešit diakritiku ve zprávě, hledal jsem na netu, už se ten problém několikrát řešil, ale nikdy se nedořešil, tak jestli někdo má nějaký nápad? Vím že jsou jiné skripty které fungují ale proč nedotáhnout tenhle?
<?
if ($_POST['akce']) { /* Bylo stisknuto tlacitko Odeslat */
$predmet= $_POST['predmet'];
$predmet="=?windows-1250?Q?" . str_replace("?","=3F",imap_8bit($predmet)) . "?=";//předmět s diakritikou
if ($_FILES['soubor']['name'] == "") { /* nebyla vybrana priloha, posleme e-mail obycejne */
if (mail ("".$_POST['prijemce']."", $predmet, "".$_POST['dopis']."", "From: ".$_POST['odesilatel']."")) {
print "<h3>E-mail byl úspěšně odeslán!</h3>";
}
else {
print "<h3>E-mail se nepodařilo odeslat!</h3>";
unlink("./tmp/$name");
}
}
else { /* priloha byla vybrana */
/* nejprve sestrojime hlavicky */
$envelope["from"] = "".$_POST['odesilatel']."";
$envelope["to"] = "".$_POST['prijemce']."";
/* nyni sestrojime nekolik casti dopisu */
/* 1. cast - uvodni, tou rekneme, ze dopis ma vice casti s ruznymi typy dat */
$part1["type"]= TYPEMULTIPART;
$part1["subtype"]="mixed";
/* 2. cast - do dopisu pripojime prilohu */
/* nejprve zadany soubor nacteme */
$adresar = "./tmp";
$cesta = $adresar."/".$_FILES['soubor']['name'];
$tmp_name = $_FILES['soubor']['tmp_name'];
$name = $_FILES['soubor']['name'];
function copy_soubor($cil,$zdroj,$name) {//fukce copy
$text= file_get_contents($zdroj);
$soubor = fopen($cil,'w');
chmod ("./tmp/$name", 0777);
fwrite($soubor,$text);
fclose($soubor);
echo"<b>Soubor uložen do tmp adresáře!</b><br>";
}
copy_soubor($cesta,$tmp_name,$name);/* uploadnuty soubor zkopirujeme z docasneho adresare */
$fp = fopen ($cesta, "r"); /* otevre pro cteni */
$contents = file_get_contents($cesta);
fclose ($fp);
$part2["type"] = TYPEAPPLICATION;
$part2["encoding"] = ENCBINARY;
$part2["subtype"] = "octet-stream; name= ".BaseName($cesta)."";
$part2["description"] = $cesta;
$part2["contents.data"] = $contents;
/* 3. cast - do dopisu vlozime zadany text */
$part3["type"] = TYPETEXT;
$part3["subtype"] = "plain";
$part3["description"] = "text/html";
$part3["contents.data"] = $_POST['dopis'];
/* Cely dopis ulozime do pole body */
$body[1] = $part1;
$body[2] = $part2;
$body[3] = $part3;
/* celou zpravu vytvorime a ulozime do promenne $zprava: */
$zprava = imap_mail_compose($envelope, $body);
/* drive nez posleme zpravu funkci Mail musime rozdelit
zvlast hlavicku a zvlast telo: */
$pom = StrPos($zprava, "\r\n\r\n");
$hlavicka = SubStr($zprava, 0, $pom+2);
$telo = SubStr($zprava, $pom, StrLen($zprava) - $pom);
if (mail ("", $predmet, $telo, $hlavicka)) {
print "<h3>E-mail byl úspěšně odeslán!</h3><br>";
unlink("./tmp/$name");
echo"<b>Soubor <i style=\"color: Red;\">$name</i> byl zase vymazán z tmp adresáře!</b>";
}
else {
print "<h3>E-mail se nepodařilo odeslat!</h3>";
unlink("./tmp/$name");
}
}
}
?>
kodovani v mailu uz se tady opravdu resilo, napr:
@mail("$adresa","=?iso-8859-2?Q?".imap_8bit("$predmet")."?=","$zprava","Content-Type: text/plain; charset=iso-8859-2");
Tohle je jasné, tady jde o tenhle skript a konkrétně o funkci imap_mail_compose();