| Autor | Zpráva | ||
|---|---|---|---|
| xtomik007 Profil * |
#1 · Zasláno: 16. 5. 2007, 11:48:00
Zdravim pomoci tohoto skriptu se snazim odesilat mail. setko fach jak ma jen nedojde priloha nevite kde je chyba? dik
<? require("functions.php"); if ($html == "Y") include("class.html.mime.mail.inc"); if(count($_POST) > 0) { // kontrola, zda jsou vyplněny povinné parametry if (!$komu) $errlist .= ", Komu"; if (!$email) $errlist .= ", Email"; while (list($promenna, $hodnota) = each($_POST)) { if ((substr($promenna, 0, 1) == "@") && ($hodnota == "")) $errlist .= ", " . substr($promenna, 1); } // pokud nejsou vyplněny povinné parametry if ($errlist) { echo "<font size="6"><b>Chyba!</b></font>"; echo "<p>Nejsou vyplněny všechny požadované údaje:<br>"; echo "<b>".substr($errlist, 1)."</b></p>"; echo "<p><a href='javascript:history.go(-1)'>Zpět</a></p>"; exit; // ukončíme zpracování scriptu } if ($html == "Y") { // pokud má být mail odeslán ve formátu HTML $telo = "<table>"; $telo .= "<tr><td><font color="Red"><b>Email:</b></font></td><td> </td><td>$email</td></t r>"; reset($_POST); while (list($promenna, $hodnota) = each($_POST)) { // nahradíme konce řádků tagem <br> $hodnota = str_replace(chr(13) . chr(10), "<br>", $hodnota); $hodnota = str_replace(chr(10) . chr(13), "<br>", $hodnota); $hodnota = str_replace(chr(13), "<br>", $hodnota); $hodnota = str_replace(chr(10), "<br>", $hodnota); // pokud parametr začíná na # nebo *, tak zapsat hodnotu do textu mailu if (((substr($promenna, 0, 1) == "@") || (substr($promenna, 0, 1) == "#")) && ($hodnota != "")) { $telo .= "<tr><td valign="top"><b>".substr($promenna, 1).":</b></td><td> </td><td>$hodnota</td></tr>"; } } $telo .= "</table>"; $telo .= "<p><hr></p>"; $telo .= "<p><b>Uživatelův browser:</b> $HTTP_USER_AGENT<br>"; $telo .= "<b>IP adresa, ze které přišel požadavek:</b> $REMOTE_ADDR</p>"; // odešleme mail ve formátu HTML $mail = new html_mime_mail("X-Mailer: Html Mime Mail Class"); // vložení přílohy, pokud je zadána if ($soubor_name) { if (copy ($soubor, "temp/$soubor_name")) { $priloha = $mail->get_file("temp/$soubor_name"); $mail->add_attachment($priloha, $soubor_name, $soubor_type); unlink("temp/$soubor_name"); } } // odešleme mail ve formátu HTML $mail->add_html(ToISO($telo), ""); $mail->set_charset('iso-8859-2', TRUE); $mail->build_message(); $mail->send($komu, $komu, $email, $email, ToISO($predmet), "Return-Path: $email"); $sendok = true; // odeslat potvrzení usleep(500); $mail->send($email, $email, $email, $email, ToISO("Potvrzení - vyplnění formuláře"), "Return-Path: $email"); } else { // pokud má být mail odeslán ve formátu prostého textu $telo = "Email: $email "; // projdeme všechny přijaté parametry reset($_POST); while (list($promenna, $hodnota) = each($_POST)) { // nahradíme konce řádků znakem $hodnota = str_replace(chr(13) . chr(10), " ", $hodnota); $hodnota = str_replace(chr(10) . chr(13), " ", $hodnota); $hodnota = str_replace(chr(13), " ", $hodnota); $hodnota = str_replace(chr(10), " ", $hodnota); // pokud parametr začíná na # nebo *, tak zapsat hodnotu do textu mailu if (((substr($promenna, 0, 1) == "@") || (substr($promenna, 0, 1) == "#")) && ($hodnota != "")) { $telo .= substr($promenna, 1) . ": $hodnota "; } } // necháme si poslat označení uživatelova browsu a jeho IP $telo .= " Uživatelův browser: $HTTP_USER_AGENT "; $telo .= "IP adresa, ze které přišel požadavek: $REMOTE_ADDR "; // odešleme mail funkcí mail() $sendok = mail($komu, ToISO($predmet), ToISO($telo), "From: $email Return-Path: $email"); // odeslat potvrzení usleep(500); mail($email, ToISO("Potvrzení - vyplnění formuláře"), ToISO($telo), "From: $email Return-Path: $email"); } // pokud byl mail odeslán v pořádku if ($sendok) { // přesměrujeme mail na stránku s poděkováním if ($nexturl != "") { echo "<script language="JavaScript1.2"><!-- "; echo "self.location="$nexturl"; "; echo "// --> "; echo "</script>"; } else { echo "<font size="6"><b>Děkujeme!</b></font>"; echo "<p>Vaše zpráva byla v pořádku odeslána.</p>"; if ($backurl != "") { echo "<p><a href='javascript:history.go(-1)'>Zpět</a></p>"; } else { echo "<p><a href='$s_backurl'>Návrat</a></p>"; } } } else { // pokud nebyl mail odeslán echo "<font size="6"><b>Chyba!</b></font>"; echo "<p>Některá ze služeb selhala. Zkuste to prosím později.<br>"; echo "V případě potíží kontaktujte: <a href='mailto:$komu'>$komu</a></p>"; echo "<p><a href='javascript:history.go(-1)'>Zpět</a></p>"; } } else { // pokud byl script spuštěn bez parametrů echo "<font size="6"><b>Chyba!</b></font>"; echo "<p>Toto je skript, kterým se odesílají zprávy z formulářů.<br>"; echo "Nešahat! Být moje :-)</p>"; echo "<p>V případě potíží kontaktujte: <a href='kovalcik.tomas@seznam.cz'>kovalcik.tomas@seznam.cz</a></p>"; echo "<p><a href='javascript:history.go(-1)'>Zpět</a></p>"; } ?> |
||
| xtomik007 Profil * |
#2 · Zasláno: 17. 5. 2007, 23:26:57
tak jsem si to vyriesil, mozno sa to zide i jinym...
<html> <head> <title>Odeslání přílohy</title> <meta http-equiv=Content-Type content="text/html; charset=windows-1250"> <meta http-equiv="Content-Language" content="cs"> </head> <body style="background-color:white; color:black"> <?php $max_att = 10000000; $to = 'email@email.email'; $charset = 'windows-1250'; if(!isset($_POST['submitter'])) exit('<h1>Error 1</h1>'); $subject = $_POST['predmet']; $from = $_POST['email']; $fromname = $_POST['jmeno']; $message .= 'Odesláno ze stránky: ' . $_SERVER['HTTP_REFERER'] . " "; while (list($name, $value) = each($_POST)) { if ($name == 'MAX_FILE_SIZE' || $name == 'charset' || $name == 'submitter') { } elseif (gettype($value) == 'array') { // TAG SELECT MULTIPLE $cnt = count($value); for ($i=0; $i < $cnt; $i++) { $message .= "$name: $value[$i]r\n"; } } else { // OSTATNÍ ELEMENTY $message .= "$name: $value "; } } $message .= " Uživatelův browser: $HTTP_USER_AGENT "; $message .= "IP adresa, ze které přišel požadavek: $REMOTE_ADDR "; $valid = 1; $file_size = $_FILES['fileatt']['size']; $file_name = $_FILES['fileatt']['name']; $file_type = $_FILES['fileatt']['type']; if ($file_size > 0) $att_present = true; if($att_present) { if($file_size > $max_att) { $valid = 0; $err_msg .= "<p>Příloha je větší nežli povolených $max_att bajtů"; } if ( $file_type != 'text/plain' // TXT && $file_type != 'text/html' // HTM && $file_type != 'text/html' // HTML && $file_type != 'image/gif' // GIF && $file_type != 'image/jpeg' // JPG JPEG && $file_type != 'image/pjpeg' // JPG JPEG && $file_type != 'image/png' // PNG && $file_type != 'image/x-icon' // ICO && $file_type != 'application/msword' // DOC && $file_type != 'application/excel' // XLS && $file_type != 'application/rtf' // RTF && $file_type != 'application/octet-stream' // DOC && $file_type != 'application/x-zip-compressed' // ZIP && $file_type != 'application/pdf' $valid = 0; $err_msg .= "<p>Skript nepodporuje tento typ souboru $file_type"; } $dots = substr_count($file_name,'.'); if($dots != 1) { $valid = 0; $err_msg .= "<p>Příloha má nepovolený počet extenzí $dots"; } $extension = strtolower(strstr($file_name,'.')); if ( $extension != ".txt" && $extension != ".htm" && $extension != ".html" && $extension != ".gif" && $extension != ".jpg" && $extension != ".jpeg" && $extension != ".png" && $extension != ".ico" && $extension != ".doc" && $extension != ".xls" && $extension != ".rtf" && $extension != ".zip" && $extension != ".pdf" ) { $valid = 0; $err_msg .= "<p>Skript nepodporuje extenzi $extension"; } $p = strlen($extension); if($p != 4 && $p != 5) { $valid = 0; $err_msg .= "<p>Příloha má neplatnou délku extenze $p"; } if($valid == 1){ $fileatt = $_FILES['fileatt']['tmp_name']; $headers = "From: $from"; if(is_uploaded_file($fileatt)) { $file = fopen($fileatt,'rb'); $data = fread($file,filesize($fileatt)); fclose($file); $semi_rand = md5(time()); $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x"; $headers .= " MIME-Version: 1.0 " . "Content-Type: multipart/mixed; " . " boundary="{$mime_boundary}""; $message = "This is a multi-part message in MIME format. " . "--{$mime_boundary} " . "Content-Type: text/plain; charset=$chrset " . "Content-Transfer-Encoding: 7bit " . $message . " "; $data = chunk_split(base64_encode($data)); $message .= "--{$mime_boundary} " . "Content-Type: {$file_type}; " . " name="{$file_name}" " . "Content-Transfer-Encoding: base64 " . $data . " " . "--{$mime_boundary}-- "; } $message = StripSlashes($message); $sent = @mail($to, $subject, $message, $headers); if($sent) echo "<h1>Formulář byl úspěšně odeslán</h1>"; else echo "<h1>Formulář se nezdařilo odeslat</h1>"; } if($valid!==1) { echo "<h2>Chyba...</h2>$err_msg"; echo "<p>Klikněte na Zpět a zkuste znovu"; } } else { // není příloha $message = StripSlashes($message); $sent = @mail($to, $subject, $message, $headers); if($sent) echo "<h1>Formulář byl úspěšně odeslán</h1>"; else echo "<h1>Formulář se nezdařilo odeslat</h1>"; } ?> </body> </html> |
||
|
Časová prodleva: 18 let
|
|||
Toto téma je uzamčeno. Odpověď nelze zaslat.
0