mein "quick & dirty" mailmanger schickt mir brav die 5 dateien und den Html Text.
Warum bekomme ich immer noch eine leere .txt Datei mitgeschickt
Warum stehen im Text auch die "fields" die die if rausnehmen sollte?
Hier der Code
Warum bekomme ich immer noch eine leere .txt Datei mitgeschickt
Warum stehen im Text auch die "fields" die die if rausnehmen sollte?
Hier der Code
PHP-Code:
<?php
//type="file" field
$attachment = $_POST['attachment'];
//mail fiel
$mail = $_POST['email'];
//success page
$url = $_POST['url'];
//recipient
$recipient = $_POST['recipient'];
//uploads
$uploads = $_POST['uploads'];
// mandatory fields
$mandatory = explode(',', $_POST['mandatory']);
// mandatory error
$error = 'Bitte gehen Sie <a href="javascript:history.back();">zurück</a> und füllen Sie alle Pflichtfelder Felder korrekt aus!';
// mail introduction
$introduction = 'Sie haben folgende Nachricht erhalten';
//Felhertitel
$title = 'Fehler';
/* DO NOT CHANGE ANYTHING BELOW */
if(isset($_POST['recipient']))
{
// check mandatory fields
$complete = true;
foreach($mandatory as $key => $name)
{
if (empty($_POST[$name]))
{
$complete = false;
}
}
if(!$complete)
{
echo '<html>
<head>
<title>'.$title.'</title>
</head>
<body>';
echo $error;
}
else
{
//$subject .= $_POST['Betreff'];
$Trenner = md5(uniqid(time()));
$header = "From: ".$_POST[$mail];
$header .= "\n";
$header .= "MIME-Version: 1.0";
$header .= "\n";
$header .= "Content-Type: multipart/mixed; boundary=$Trenner";
$header .= "\n";
$header .= "This is a multi-part message in MIME format";
$header .= "\n";
$header .= "--$Trenner";
$header .= "\n";
$header .= "Content-Type: text/html";
$header .= "\n";
$header .= "Content-Transfer-Encoding: 8bit";
$header .= "\n\n";
$header .= $introduction.'<br />';
while(list($field, $value)=each($_POST))
{
if($field!=$attachment or $field!=$mail or $field!=$url or $field!=$recipient or $field!=$uploads or $field!=$mandatory )
{
echo $field."--".$mail."<br>";
$header .= '<b>'.$field."</b>: ".$value.'<br />';
}
}
$header .= '<br /> <b>Datum/Zeit: </b>';
$header .= date("d.m.Y H:i:s");
$header .= "\n";
$header .= "--$Trenner\n";
if(!empty($_FILES[$attachment."1"]['name']))
{
for($i=1;$i<=$uploads;$i++)
{
if(!empty($_FILES[$attachment.$i]['name']))
{
//warum muss das an?
/*$header .= "Content-Type: multipart/mixed; boundary=$Trenner";
$header .= "\n";*/
$header .= "This is a multi-part message in MIME format";
$header .= "\n";
$header .= "--$Trenner";
$header .= "\n";
$header .= "Content-Type: ";
$header .= $_FILES[$attachment.$i]['type'];
$header .= "; name=";
$header .= $_FILES[$attachment.$i]['name'];
$header .= "\n";
$header .= "Content-Transfer-Encoding: base64";
$header .= "\n";
$header .= "Content-Disposition: attachment; filename=";
$header .= $_FILES[$attachment.$i]['name'];
$header .= "\n\n";
$filecontent = fread(fopen($_FILES[$attachment.$i]['tmp_name'], "r"), $_FILES[$attachment.$i]['size']);
$header .= chunk_split(base64_encode($filecontent.$i));
$header .= "\n";
$header .= "--$Trenner--";
}
}
}
mail($recipient, $subject, "", $header);
//header('Location: '.$url);
}
}
?>
Kommentar