Autor Zpráva
xtomik007
Profil *
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>&nbsp;</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>&nbsp;</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 *
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'
) { // 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>
Toto téma je uzamčeno. Odpověď nelze zaslat.

0