Hallo!
Habe ein ganz dringendes Problem: Mit einem Formular soll eine Datei hochgeladen und als E-Mail-Anhang an eine fest definierte Mail-Adresse geschickt werden.
Die Mail wird zwar verschickt, jedoch enthält diese keinen Anhang, nur eine irrsinnig lange Zeichenfolge am Ende. Vielleicht sieht jemand beim Drüberschauen woran es liegt. Bin mit meinem Latein / PHP am Ende
Würde mich echt freuen, wenn mir jemand weiterhelfen könnte, vielen Dank im Voraus!
Der Code in der upload.php:
Der Code in der upload.inc.php:
Habe ein ganz dringendes Problem: Mit einem Formular soll eine Datei hochgeladen und als E-Mail-Anhang an eine fest definierte Mail-Adresse geschickt werden.
Die Mail wird zwar verschickt, jedoch enthält diese keinen Anhang, nur eine irrsinnig lange Zeichenfolge am Ende. Vielleicht sieht jemand beim Drüberschauen woran es liegt. Bin mit meinem Latein / PHP am Ende

Würde mich echt freuen, wenn mir jemand weiterhelfen könnte, vielen Dank im Voraus!
Der Code in der upload.php:
PHP-Code:
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data" method="post">
<p><label for="firstname">Vorname:</label><br />
<input name="firstname" id="firstname" size="45" type="text" value="<?php echo $firstname ?>" maxlength="40" /></p>
<p><label for="surname">Nachname:</label><br />
<input name="surname" id="surname" size="45" type="text" value="<?php echo $surname ?>" maxlength="40" /></p>
<p><strong>Anhang:</strong> <input type="file" name="upload_attachment" id="upload_attachment" size="20" /></p>
<p>
<input name="action" type="hidden" id="action" value="1" />
<input type="submit" id="submit" value="Senden" />
</p>
</form>
PHP-Code:
<?php
if(array_key_exists("surname",$_POST))
$surname=$_POST["surname"];
if(array_key_exists("firstname",$_POST))
$firstname=$_POST["firstname"];
if(array_key_exists("upload_attachment",$_POST))
$upload_attachment=$_POST["upload_attachment"];
$redirect = "upload_sent.php";
$sender = "Der Absender";
$email01 = "meinemailadresse@provider.de";
$subject = "Mail mit Anhang";
$body = "Vorname: $firstname\nNachname: $surname";
$tempname = $_FILES['upload_attachment']['tmp_name'];
$type = $_FILES['upload_attachment']['type'];
$size = $_FILES['upload_attachment']['size'];
if ($action == "1") // when form is sent ...
{
$divider = md5(uniqid(time()));
$header = "From: ".$email;
$header .= "\n";
$header .= "bcc: ".$email02;
$header .= "\n";
$header .= "MIME-Version: 1.0";
$header .= "\n";
$header .= "Content-Type: multipart/mixed; boundary=$divider";
$header .= "\n\n";
$header .= "This is a multi-part message in MIME format";
$header .= "\n";
$header .= "--$divider";
$header .= "\n";
$header .= "Content-Type: text/plain";
$header .= "\n";
$header .= "Content-Transfer-Encoding: 8bit";
$header .= "\n\n";
$header .= $body;
$header .= "--$divider";
$header .= "\n";
$header .= "Content-Type: ";
$header .= $_FILES['upload_attachment']['type'];
$header .= "; name=\"";
$header .= $_FILES['upload_attachment']['name'];
$header .= "\"\n";
$header .= "Content-Transfer-Encoding: base64";
$header .= "\n";
$header .= "Content-Disposition: attachment; filename=\"";
$header .= $_FILES['upload_attachment']['name'];
$header .= "\"\n\n";
$file_content = fread(fopen($_FILES['upload_attachment']['tmp_name'], "r"), $_FILES['upload_attachment']['size']);
$header .= chunk_split(base64_encode($file_content));
$header .= "\n";
$header .= "--$divider--";
mail ($email01, $subject, "", $header);
header ("Location: ".$redirect);
exit;
}
?>
Kommentar