Hallo leute.. ich hab diesen script..
wenn ich eine email damit versenden möchte mit anhang..bekomm keine fehlermeldung..
und die email kommt an..aber OHNE den ANGHANG..
code is:
wenn ich eine email damit versenden möchte mit anhang..bekomm keine fehlermeldung..
und die email kommt an..aber OHNE den ANGHANG..
code is:
PHP:
<?php
$Empfaenger = "****@web.de";
if($_REQUEST['Send'])
{
// PHP >= 5
if(phpversion() >= 5) {
// Name des Anhangs in der Mail
$filename = $_FILES['file']['name'];
// Text der Nachricht
$message = $Mailbetreff;
// Aufbau des Anhangs
$message .= "\r\n";
// Anhang starten
$message .= "begin 666 $filename\r\n";
// Datei einlesen und passend encoden
$message .= convert_uuencode(
fread(
fopen($_FILES['file']['tmp_name'], "r"),
$_FILES['file']['size']
)
);
// Anhang Ende
$message .= "end\r\n";
// PHP Version < 5
} else {
// Endung herausfinden
$end = explode('.', $_FILES['file']['name']);
// passenden MIME-Typ suchen
switch ($end[1]) {
case 'gz': $types = 'application/gzip';
break;
case 'jpg':
case 'jpeg':
case 'jpe': $types = 'image/jpeg';
break;
case 'png': $types = 'image/png';
break;
case 'ico': $types = 'image/x-icon';
break;
case 'gif': $types = 'image/gif';
break;
// Wenn es den noch nicht gibt, eine mail an den admin senden und abrechen
default: mail($admin_mail, 'neuer MIME-Typ erforderlich', 'Es wurde versucht folgende Datei zu versenden: '.$_FILES['file']['name'].'\nEs ist aber kein MIME-Typ für diese Endung vorhanden.');
die('<b>Der gewünschte Dateityp wird noch nicht unterstützt! Es wurde automatisch eine eMail an den Webmaster versandt, damit er das Script updaten kann. Bitte haben Sie etwas Geduldt.');
break;
}
// Name des Anhangs in der Mail
$filename = $_FILES['file']['name'];
// Datei einlesen
$filecontent = fread(
fopen($_FILES['file']['tmp_name'], "r"),
$_FILES['file']['size']
);
// Trenner erstellen
$splitter = md5(uniqid(time()));
// MIME Version festlegen
$sender .= "MIME-Version: 1.0\n";
// festlegen das die mail aus mehreren teilen besteht, die gemischt vorkommen und ersten teil mit Trenner einleiten
$sender .= "Content-Type: multipart/mixed; boundary=$splitter\n\n";
// nachricht, wenn kein MIME unterstützt wird
$message = "This is a multi-part message in MIME format\n";
// ersten teil beenden
$message .= "--$splitter\n";
// Content-type und Encoding für die nachricht festlegen
$message .= "Content-Type: text/plain\n";
$message .= "Content-Transfer-Encoding: 8bit\n\n";
// Nachricht einfügen
$message .= $text."\n";
// teil zwei beenden
$message .= "--$splitter\n";
// Type und Encoding für den anhang festlegen und im den namen geben
$message .= "Content-Type: ".$types."; name=\"$filename\"\n";
$message .= "Content-Transfer-Encoding: base64\n";
// mit "attachment" sagen das es ein anhang ist und namen geben
$message .= "Content-Disposition: attachment; filename=\"$filename\"\n\n";
// Inhalt des anhangs einfügen, encoden und zelen auf 72 zeichen kürzen
$message .= chunk_split(base64_encode($filecontent))."\n";
// email beenden
$message .= "--$splitter--";
}
if(empty($_REQUEST['Name']) || empty($_REQUEST['Email']) || empty($_REQUEST['Marke']))
{
echo"Bitte gehen Sie <a href=\"javascript:history.back();\">zurück</a> und füllen Sie alle Felder aus!";
}
else
{
$Mailnachricht = "Sie haben folgende Nachricht erhalten: \n\n";
while(list($Formularfeld, $Wert)=each($_REQUEST))
{
if($Formularfeld!="Send")
{
$Mailnachricht .= $Formularfeld.": ".$Wert."\n";
}
}
$Mailnachricht .= "\nDatum/Zeit: ";
$Mailnachricht .= date("d.m.Y H:i:s");
$Mailbetreff = "Auto: ";
$Mailbetreff .= $_REQUEST['Marke'];
mail($Empfaenger, $Mailbetreff, $Mailnachricht, "From: ".$_REQUEST['Email']);
echo"Vielen Dank für Ihre eMail!";
}
}
else
{
echo"Ein Fehler ist aufgetreten. Bitte gehen Sie auf diese <a href=\"kontaktformular.php\">Seite</a>.";
}
?>
Zuletzt bearbeitet: