Willkommen in der Webstatt Zum Webstatt Blog und Stories
Ben Ben am 06.11.09 16:20

hi, nach langem hin und her habe ich es geschafft, dass mein php formular 2 bilder mitschickt, aber leider kommt das bild2 zwar als jpg an lässt sich aber nicht öffnen...obwohl sogar die dateigröße stimmt.

ich weiß, dass mein php ziemlich schlecht ist...^^

<?php

$Empfaenger = "mail@b-arnold.net";

if($_REQUEST['Send'])
{
if(empty($_REQUEST['Geburtsdatum']) || empty($_REQUEST['Name']) || empty($_REQUEST['Geburtsort']) || empty($_REQUEST['Abends']) || empty($_REQUEST['Nutzungsbedingungen']) || empty($_REQUEST['Sternzeichen']) || empty($_REQUEST['Wohnort']) || empty($_REQUEST['Hobbies']) || empty($_REQUEST['Ueber']))
{
echo"<div class=\"style1\">Bitte geh <a href=\"javascript:history.back();\">zurück</a> und fülle alle Felder aus!<br/>Oder hast du vergessen den Nutzungsbedingungen zuzustimmen?!</div>";
}
else
{

$Mailbetreff = "Abizeitung - Steckbrief: ";
$Mailbetreff .= $_REQUEST['Name'];

$Trenner = md5(uniqid(time()));

$Header = "From: ".$_REQUEST['Email'];
$Header .= "\n";
$Header .= "MIME-Version: 1.0";
$Header .= "\n";
$Header .= "Content-Type: multipart/mixed; boundary=$Trenner";
$Header .= "\n\n";
$Header .= "This is a multi-part message in MIME format";
$Header .= "\n";
$Header .= "--$Trenner";
$Header .= "\n";
$Header .= "Content-Type: text/plain";
$Header .= "\n";
$Header .= "Content-Transfer-Encoding: 8bit";
$Header .= "\n\n";
$Header .= "Sie haben folgende Nachricht erhalten: \n\n";

while(list($Formularfeld, $Wert) = each($_REQUEST))
{
if($Formularfeld != "Send")
{
$Header .= $Formularfeld.": ".$Wert."\n";
}
}

$Header .= "\nDatum/Zeit: ";
$Header .= date("d.m.Y H:i:s");
$Header .= "\n";
$Header .= "--$Trenner";
$Header .= "\n";
$Header .= "Content-Type: ";
$Header .= $_FILES['baby']['type'];
$Header .= "; name=";
$Header .= $_FILES['baby']['name'];
$Header .= "\n";
$Header .= "Content-Transfer-Encoding: base64";
$Header .= "\n";
$Header .= "Content-Disposition: attachment; filename=";
$Header .= $_FILES['baby']['name'];
$Header .= "\n\n";
$Dateiinhalt1 = fread(fopen($_FILES['baby']['tmp_name'], "r"), $_FILES['baby']['size']);
$Header .= chunk_split(base64_encode($Dateiinhalt1));
$Header.= "\n";

$bild2 .= "MIME-Version: 1.0";
$bild2 .= "\n";
$bild2 .= "Content-Type: multipart/mixed; boundary=$Trenner";
$bild2 .= "\n\n";
$bild2 .= "This is a multi-part message in MIME format";
$bild2 .= "\n";
$bild2 .= "--$Trenner";
$bild2 .= "\n";
$bild2 .= "Content-Type: text/plain";
$bild2 .= "\n";
$bild2 .= "Content-Transfer-Encoding: 8bit";
$Header .= "--$Trenner";

$bild2 .= "--$Trenner--";
$bild2 .= "\n";
$bild2 .= "Content-Type: ";
$bild2 .= $_FILES['bild']['type'];
$bild2 .= "; name=";
$bild2 .= $_FILES['bild']['name'];
$bild2 .= "\n";
$bild2 .= "Content-Transfer-Encoding: base64";
$bild2 .= "\n";
$bild2 .= "Content-Disposition: attachment; filename1=";
$bild2 .= $_FILES['bild']['name'];
$bild2 .= "\n\n";
$Dateiinhalt2 = fread(fopen($_FILES['bild']['tmp_name'], "r"), $_FILES['bild']['size']);
$bild2 .= chunk_split(base64_encode($Dateiinhalt2));
$bild2 .= "\n";
$bild2 .= "--$Trenner--";

$Header.= $bild2;

mail($Empfaenger, $Mailbetreff, "", $Header);


}
}
else
{
?>

netcup.de Warum gibt es hier Werbung?
Snake am 07.11.09 00:34

Schau mal im Mail-Quelltext, ob der letzte "Trenner" wirklich ankommt.
Auch wenn die Datei die richtige größe hat, wer weis.

Ich hatte einmal ein ähnliches Problem. Es lag daran, dass mail() nur Mails bis zu einer gewissen größe verarbeitet, danach ist es abgeschnitten.
Du könntest versuchen, es direkt per SMTP zu versenden.

Ben Ben am 07.11.09 13:27

also wegen der größe kann es nicht sein, denn wenn ich zwei kleine bilder anhänge funktioniert es auch nicht.

hm den quelltext kann ich mit outlook anscheinend nicht richtig anschaun..

gruß
ben

Creative Commons Lizenzvertrag
Alle Inhalte des Webstatt-Archivs stehen unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz.

Impressum & Kontakt