Mehrere anhänge per mail senden

hallo,

ich habe dieses script im einsatz, mit dem per formular daten verschickt werden und 1 anlage mitgeschickt werden kann.
momentan habe ich folgendes problem:
ich möchte statt 1 nun die möglichkeit geben, 3 dateien mitzusenden, komme aber nicht dahinter, wo ich da ansetzen muss?

hoffe, mir kann da jemand weiterhelfen.
paul

<?php $pbetreff[0] = 'betreff';
$empfaenger = 'email'; // Dorthin werden Nachrichten geschickt $absender = 'absenderinfo'; // Absenderanzeige des Kontaktformulars $newpoint = ' ![](achtung.gif) '; // Fehlergrafik $ordner = 'anlagen'; $picture = "['anhang']"."\_name"; $picture1 = $$picture; $picture2 = "['anhang']"; $picture3 = $$picture2; // Voreinstellung per Parameterübergabe if(isset($\_GET['betreff']) && (int)$\_GET['betreff']\>0 && (int)$\_GET['betreff']\n"; } elseif(strlen($\_POST['name']) \n"; } if(empty($\_POST['email'])) { $Nachricht .= $newpoint."Bitte Emailadresse eingeben. "; } elseif(!empty($\_POST['email']) && !empty($\_POST['email']) && !eregi("^[\_a-z0-9-]+(\.[\_a-z0-9-]+)\*@([a-z0-9-]+\.){1,3}([a-z0-9-]{2,3})$",$\_POST['email'])) { $Nachricht .= $newpoint."Die eMail-Adresse entspricht nicht der korrekten Syntax. \n"; } if(empty($\_POST['telefon'])) { $Nachricht .= $newpoint."Bitte Telefonnummer eingeben. "; } elseif(!empty($\_POST['telefon']) && eregi("[^- /0-9]",$\_POST['telefon'])) { $Nachricht .= $newpoint."Die Telefonnummer darf nur aus Zahlen bestehen. \n"; } elseif(!empty($\_POST['telefon']) && strlen($\_POST['telefon'])\n"; } if(empty($\_POST['betreff'])) { $Nachricht .= $newpoint."xxx \n"; } if(!$Nachricht) { // Mailinhalt definieren: $Text = "betreff\n"; $Text .= "Vorname: ".$\_POST['vorname']."\n"; $Text .= "Name: ".$\_POST['name']."\n"; $Text .= str\_repeat('-',70)."\n".strip\_tags($\_POST['text'])."\n"; // Header definieren $dateiname = $\_FILES['anhang']['tmp\_name']; $dateiname\_mail = $\_FILES['anhang']['name']; $absender = ($\_POST['email']) ? $\_POST['email'] : $absender; $header = "From: $absender\nReply-To: ".$\_POST['email']; // Anhang vorhanden? if($dateiname) { $trenner = md5(uniqid(time())); $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 .= $Text; $header .= "\n"; $header .= "--$trenner"; $header .= "\n"; $header .= "Content-Type: ".$\_FILES['anhang']['type']."; name=$dateiname\_mail"; $header .= "\n"; $header .= "Content-Transfer-Encoding: base64"; $header .= "\n"; $header .= "Content-Disposition: attachment; filename=$dateiname\_mail"; $header .= "\n\n"; $dateiinhalt = fread(fopen($dateiname, "r"), filesize($dateiname)); $header .= chunk\_split(base64\_encode($dateiinhalt)); $header .= "\n"; $header .= "--$trenner--"; // hier ist die Betreffende Änderung 2 move\_uploaded\_file($\_FILES['anhang']['tmp\_name'], ("$ordner/$dateiname\_mail")); // hier ist die Betreffende Änderung 2 Ende // Keinen Anhang, nur Mail } else { $header .= "\nContent-Type: text/plain"; $header .= "\nContent-Transfer-Encoding: 8bit"; $header .= "\n\n".$Text; } //-\> Alles ok, Mail verschicken. mail($empfaenger,$pbetreff[(int)$\_POST['betreff']],'', $header); $gesendet = true; } } //---------------------------------------------------------------------------------------------------- // Hier erfolgt die html-Ausgabe. Diese kann beliebig angepasst werden. ?\> <?php if(!$gesendet): ?><?php endif;?> <?php print $Nachricht;?> <?php if(!$gesendet): ?>

Vorname:

Upload:

<?php else: ?>

DANKE

<?php endif;?>

Hallo

zuerst mal ne sicherheitslücke deines Mailscript’s so wies ausschaut ist der Betreff frei wählbar. So lässt du die möglichkeit offen den Header des Mails zu bearbeiten man kann also zum beispiel beliebig viele BCC und CC adressen hinzufügen… Ein Paradies für Spamer…

Wen du die anhänge zipst hast du nur noch einen anhang zum versenden :wink:

hab noch gesehen du versendest das mail mit der php funktion mail()

mein tip für dich, such dir ein anderes script welches smtp auth unterstützt.

hab noch gesehen du versendest das mail mit der php funktion
mail()

mein tip für dich, such dir ein anderes script welches smtp
auth unterstützt.

was genau sollte er damit erreichen?

er kennt das nicht einen eigenen sendmail zu haben der die ganze arbeit macht :smile:

deswegen meint er er brauch ja was was sich gegen den mail-versende server authentifiziert.

ein korrekt eingerichteter server läuft problemlos mit mail()

einzig

Bitte beachten Sie, dass die mail()-Funktion nicht dazu geeignet ist, große Mengen von E-Mails in einer Schleife zu senden, da die Funktion für jede E-Mail ein SMTP-Socket öffnet und schließt, was nicht sehr effizient ist.
könnte ein poblem werden