Excel Datei als Emailanhang

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Excel Datei als Emailanhang

    Hallo PHPer,

    wenn ich eine Excel Datei anhängen will, kommt die zwar an, aber der Dateityp ist nicht korrekt, die Datei zerschossen. Welchen Content-Type muss ich denn da angeben? Hab schon überall gesucht, aber zu Excel nichts gefunden.

  • #2
    application/vnd.ms-excel

    oder

    application/x-excel

    sollte eigentlich gehen

    was für nen mimetyp verwendest du?
    Zuletzt geändert von mrhappiness; 31.01.2003, 14:31.
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      MIME-Version: 1.0

      Kommentar


      • #4
        mimetyp = content-type
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #5
          Hier mal das ganze Skript:

          PHP-Code:
          <?

              $boundary = strtoupper(md5(uniqid(time())));
              $dateiname="test.xls";
              $datei_inhalt = fread(fopen($dateiname, "rb"), filesize($dateiname));
              $file = chunk_split(base64_encode($datei_inhalt),72);

              $header = "From: [email]sender@server.de[/email]"."\n";
              $header .= "MIME-Version: 1.0\n";
              $header .="Content-Type: multipart/mixed; boundary=\"$boundary\"\n";
              $header .="--$boundary\n";
              $header .="Content-Type: application/x-excel;\n name=\"$dateiname\"\n";
              $header .="Content-Transfer-Encoding: base64\n";
              $header .="Content-Disposition: attachment; \n filename=\"$dateiname\"\n";
              $header .="\n".$file;
              $header .="\n--$boundary--";

              mail("mail@server.de","Test","",$header)

          ?>

          Kommentar


          • #6
            Aber es funktioniert nicht...

            Kommentar


            • #7
              Hilfe!

              Also, ich nutze jetzt diesen Code:

              PHP-Code:
              $file "test.xls";
              $file_name "test.xls";
              $subject "Testmail";
              $from "Martin Medler";
              $to "martin@medler.de";
              $message "Dies ist ein Test";
              $boundary strtoupper(md5(uniqid(time())));
              $mail_header  "From:$from\n";
              $mail_header .= "MIME-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";
              $mail_header .= "\n--$boundary";
              $mail_header .= "\nContent-Type: text/plain";
              $mail_header .= "\nContent-Transfer-Encoding: 8bit";
              $mail_header .= "\n\n$message";
              $file_content fread(fopen($file,"r"),filesize($file));
              $file_content chunk_split(base64_encode($file_content));
              $mail_header .= "\n--$boundary";
              $mail_header .= "\nContent-Type: application/x-excel; name=\"$file_name\"";
              $mail_header .= "\nContent-Transfer-Encoding: base64";
              $mail_header .= "\nContent-Disposition: attachment; filename=\"$file_name\"";
              $mail_header .= "\n\n$file_content";
              $mail_header .= "\n--$boundary--";
              mail($to,$subject,"",$mail_header); 
              Mittlerweile kommt die Tabelle immerhin an, aber Sie lässt sich nicht öffnen. Felhermeldung (in Excel): 'Die Datei hat ein nicht erkennbares Format'. Aber warum denn nur? Eigentlich mache ich doch alles so, wie überall beschrieben...

              Kommentar


              • #8
                Re: Hilfe!

                Mittlerweile kommt die Tabelle immerhin an, aber Sie lässt sich nicht öffnen. Felhermeldung (in Excel): 'Die Datei hat ein nicht erkennbares Format'.
                liegt die datei denn auf dem server in einem korrekten format vor?

                wenn du die datei auf ein unix-system hochlädst, musst du das afaik auf jeden fall im binary-modus machen.
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar


                • #9
                  Danke schon mal für die Antwort.

                  Ich habe mittlerweile festgestellt, dass das Senden vom Webserver (Unix) funktioniert. Aber auf meinem lokalen WAMP geht es einfach nicht. Die Datei wird zerstört und erzeut in Excel eine Fehlermeldung. Aber warum? Wo liegt der Unterschied WAMP / LAMP?

                  Kommentar

                  Lädt...
                  X