Dateien auf dem Server per php-mail versenden

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

  • Dateien auf dem Server per php-mail versenden

    Hallo,

    ich hatte diese Frage schon mal in einer etwas anderen Form gestellt, bin mit den Anworten leider nicht sehr viel weitergekommen - außer, daß es eine Funktion aus dem Filesystem geben muß. Also mein Problem oder besser Herausforderung nochmal:
    Ich habe Dateien, die auf dem Server liegen und möchte diese mit einem php-mail-Skript ganz normal als Anhang versenden. Der Zugriff auf den Server ist vorhanden. Es handelt sich hierbei um einen Dateianhang ohne fileupload. Weiß darüber jemand Bescheid?

  • #2
    Sollte so funzen :

    PHP-Code:
    # ==========[ Send Mail ]========== #

    $subject $cfg_subject;
    $from    $cfg_from;
    $to      $cfg_email_to;
    $cc      $cfg_email_cc;

    $file    'files/file.exe';
    $file_name 'mein-neuer-filename';
                    
    $message "Dateianhang beachten";
         
            
    $file_content fread(fopen($file,"r"),filesize($file));
            
    # encode file to BASE64...
            
    $file_content chunk_split(base64_encode($file_content));
            
    # generate boundary...
            
    $boundary strtoupper(md5(uniqid(time())));

            
    # commencement of Mail-Header with MIME-Mail-Header...
            
    $mail_header  "From:$from\n";
            
    $mail_header .= "CC:$cc\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";

            
    # commencement of mail-text part... 
            
    $mail_header .= "\n--$boundary"
            
    $mail_header .= "\nContent-Type: text/plain";
            
    $mail_header .= "\nContent-Transfer-Encoding: 8bit";
            
    $mail_header .= "\n\n$message";

            
    # commencement of attachement...
            
    $mail_header .= "\n--$boundary";
            
    $mail_header .= "\nContent-Type: application/octetstream; name=\"$file_name\"";

            
    # encode file to BASE64...
            
    $mail_header .= "\nContent-Transfer-Encoding: base64";
            
    $mail_header .= "\nContent-Disposition: attachment; filename=\"$file_name\"";
            
    $mail_header .= "\n\n$file_content";

            
    # print ending of email...
            
    $mail_header .= "\n--$boundary--";
                    
            if ( empty (
    $php_errormsg) ) {
                
    # send mail with attachment...
                
    $mail_result mail($to,$subject,"",$mail_header);
                    
                
    # check status of mail...
                
    if ( !$mail_result ) {
                    echo 
    "<B>Mail Delivery Error 1 [for customer $b_customer]:</B> Please inform the admin.";
                } 
    MfG

    Felix
    Hello World

    Kommentar


    • #3
      Hallo Krusenbaum,

      danke für das mail-Skript für das Versenden einer Datei als Anhang. Mein Hauptproblem besteht jedoch darin, wie kann ich die Datei mit dem Browser auswählen, die im Verzeichnis files auf dem Server liegen. Beim Download gibt es nachfolgende Funktion, mit der der User bequem eine Datei auf dem lokalen Server wählen kann, indem er auf Durchsuchen klickt.
      "<INPUT TYPE="FILE" SIZE="25" NAME="fileupload9_file">"

      gibt es sowas auch um bequem Dateien auf dem Server auszuwählen? Es sind nähmlich user die dieses benutzen sollen.

      Kommentar


      • #4
        ....sorry ....

        ich meinte natürlich .... beim Upload ...

        Kommentar


        • #5
          Ich benutze das Script von Felix um mir meine Backup-datei vom
          Strato-Server an meine Mail zu schicken. (0.sql.gz)
          Während die Backup-datei auf dem Server vollständig ist, erhalte ich nur
          ca. 3/4 davon per Mail. Hat jemand eine Erklärung?

          Gruß Uwe

          Nachdem ich die Backup-Datei vor dem versenden umbenenne gibt
          es keine Probleme mehr.

          Zuletzt geändert von uwespille; 11.12.2003, 16:36.

          Kommentar

          Lädt...
          X