Mailinglisten-Archive |
> gibt es eine Möglichkeit,unter PHP, Anhänge an Mails anzufügen ? > Weder mit mail(), noch mit imap_mail() bin ich bisher zum Erfolg gelangt. > Hab' ich irgendwas übersehen oder geht's einfach nicht ? Die Möglichkeit besteht auf jeden Fall, da du die Header alle selber verändern kannst. Ich habe dazu folgende Funktion im Einsatz: function mailfile($datei,$reciever,$mail_content,$subject,$from) { /* Lese die temporaere Datei, die der Benutzer hochgeladen hat aus */ $datei_content = fread(fopen($datei,"r"),filesize($datei)); /* Codiere Datei ins BASE64-Format, falls noetig */ $datei_content = chunk_split(base64_encode($datei_content)); /* Generiere einen Boundary */ $boundary = strtoupper(md5(uniqid(time()))); $mail_header="FROM: $from"; /* Beginne den Mail-Header mit MIME-Mail-Header */ $mail_header .= "\nMIME-Version: 1.0"; $mail_header .= "\nContent-Type: multipart/mixed; boundary=$boundary"; $mail_header .= "\n\nThis is a multi-part message in MIME format -- Dies ist eine mehrteilige Nachricht im MIME-Format"; /* Hier faengt der normale Mail-Text an */ $mail_header .= "\n--$boundary"; $mail_header .= "\nContent-Type: $content_type"; $mail_header .= "\nContent-Transfer-Encoding: 8bit"; $mail_header .= "\n\n$mail_content"; /* Hier faengt der Datei-Anhang an */ $mail_header .= "\n--$boundary"; $mail_header .= "\nContent-Type: application/x-zip-compressed; name=\"$datei\""; /* Lese aus dem Array $contenttypes die Codierung fuer den MIME-Typ des Anhangs aus */ $mail_header .= "\nContent-Transfer-Encoding: base64"; $mail_header .= "\nContent-Disposition: attachment; filename=\"$dateiname\""; $mail_header .= "\n\n$datei_content"; /* Gibt das Ende der eMail aus */ $mail_header .= "\n--$boundary--"; /* Sende eMail und gebe Fehler bzw. Bestaetigung aus */ mail($reciever,$subject,"",$mail_header); } kann sien das die darstellung durch den Umbruch etwas chaotisch ist, ich kann dir die funktion notfalls nochmal per PM als attachment schicken. mit freundlichen Grüßen Nils Meyer -- Eichenweg 7, 21745 Hemmoor phoneto: +49 (0)4771-689880 | mobilephoneto: +49(0)174 20 34 08 5 faxto: +49 (0) 89-55 29 83-5590 mailto:meyer_(at)_wmc24.de | http://www.webmasterchannel.de
php::bar PHP Wiki - Listenarchive