Hello,
Vielen Dank für Eure Hilfe, aber kann sich jemand mal den Code unten nochmals anschauen:
Also gut, das letzt Mal jetzt aber:
$filename //Wird vom Forumlar als String "E://bla/bla.jpg"
übergeben
$file_name = $anhang;//dto
$boundary = strtoupper(md5(uniqid(time())));
$header = "From:$from\n"; //kommt von Formular
$header .= "MIME-Version: 1.0";
$header .= "\nContent-Type: multipart/mixed; boundary="$boundary"";
nach den zwei Zeilenschaltungen beginnt der Mailbody
$header .= "\n\nThis is a multi-part message in MIME format -- Dies ist eine mehrteilige Nachricht im MIME-Format";
nach dieser Boundary beginnt der erste Mime-Teil
$header .= "\n--$boundary";
$header .= "\nContent-Type: text/plain";
$header .= "\nContent-Transfer-Encoding: 8bit";
nach wieder zwei Zeilenschaltungen beginnt der Body dieses
Abschnitts. Und das ist der Plain-Text.
$header .= "\n\n$text";
hier wird das Attachment vorbereitet.
$fh = fopen($file,"r");
if ($fh)
{
$file_content = fread($fh,filesize($filename));
fclose($fh);
$file_content = chunk_split(base64_encode($file_content),76,"\n");
$header .= "\n--$boundary";
$header .= "\nContent-Type: application/octetstream;".
"name="".basename($filename).""";
$header .= "\nContent-Transfer-Encoding: base64";
$header .= "\nContent-Disposition: attachment;".
"filename="".basename($filename).""";
$header .= "\n\n$file_content\n";
}
$header .= "\n--$boundary--";
//$text,$subject und $recipient werden vom Formular übergeben via POST_Vars
mail($recipient,$subject,$text,$header);
$ok = mail($recipient,$subject,,$header);
in der Mail-Funktion darf $text nicht nochmal angegeben werden.
Vielleicht kann ja jemand mal den Code ober korrigieren. Es hilft mir nicht weiter, Links zu anderen Threads (bei denen ähnliches aber nicht das gleiche diskutiert wird) zu posten. Ich bin php Neuling und kann mit .... base64-Codierten Attachments ... nix anfangen. (Dieses Thread hab ich übrigen auch schon gelesen. War damals ne Tussi, die Probleme hatte...)
Ich würde das mal nicht so negativ sagen. Jetzt ist es eben ein Tusser, der Probleme hat. Natürlich auch nicht negativ gemeint ;-))
So, nun baust Du noch eine schöne Funktion um alles drum herum
mime_mail($from, $to=array(), $attach=array(), $cc=array(), $bcc=array())
{
# Prüfen, ob in den Arrays was drinsteht
# Attachments vorbereiten, soviele, wie da sind
# Fehler auswerten nicht vergessen
# ---> hier ist Deine Arbeit nun gefragt <---
return $ok; # könnte auch ein array mit Fehlermeldungen sein.
}
Und wenn die Funktion erfolgreich erprobt sit, dann stellst Du sie hier zur Verfügung, für die Tausende die immer so tussig fragen ;-)
Grüße
Tom