Mango_Druide: Upload-Datei aus Formular mit PHPMailer senden

Hallo zusammen

Zuerst: Ist hier ein geniales Forum, hab sehr viel hieraus gelernt :). Leider steh ich vor einem Problem, dass ich mit googeln und Forumssuche nicht lösen konnte, obwohl es viele Artikel zum Thema gibt:

Ich habe ein Formular eingerichtet, in dem man unter anderem eine Datei (beliebiger Dateityp) anhängen kann. Der Code dazu:

<form name="internmitteilung" method="post" action="mailsent.php" enctype="multipart/form-data" [...]>
[...]
  <input type="file" name="file" size="30">
[...]
</form>

Mit mailsent.php soll die Datei in einer eMail als Attachment versendet werden. Dazu verwende ich PHPMailer. Der Code:

<?php
  require('../../phpmailer/class.phpmailer.php');
  $mail = new PHPMailer();
  [...]
  $mail->AddAttachment = ($_FILES['file']);
  [...]
  $mail->Send();
?>

Doch die Mail kommt immer ohne Anhang an. Ich habe schon diverse Variationen geschrieben, aber nie einen Fortschritt erzielt.

Kann mir vielleicht jemand helfen? Falls jemand weitere Details zum Problem benötigt... Bitte nur fragen.

Auf dem Host ist PHP Version 4.4.7 installiert. PHPMailer Version 2.0.3

Vielen Dank und Gruss
Mango_Druide

  1. echo $begrüßung;

    $mail->AddAttachment = ($_FILES['file']);
    Doch die Mail kommt immer ohne Anhang an. Ich habe schon diverse Variationen geschrieben, aber nie einen Fortschritt erzielt.

    Dann solltest du mal mit grundlegenden Debugging-Techniken anfangen. Stell das error_reporting auf E_ALL (und display_errors auf on), damit du Zugriffe auf nicht existente Variablen angezeigt bekommst. Informiere dich weiterhin mit einer Kontrollausgabe, was in den von PHP bereitgestellten Variablen drinsteht. print_r($_FILES) wäre eine in deinem Fall günstige Methode. Vorher ein <pre> oder ein Blick in den HTML-Queltext erhöhen die Übersichtlichkeit der Ausgabe. Dann solltest du im PHP-Handbuch Kapitel Handling file uploads schauen wie so ein File-Upload unter PHP vonstatten geht.

    echo "$verabschiedung $name";