PHP Mailer mit Attachment macht Stress

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

  • PHP Mailer mit Attachment macht Stress

    Hi Leute,

    ich hab hier ein sehr komisches Problem ... und zwar hab ich hier einen
    Mailer zusammen gestückelt der das auch super läuft / lief.

    Sobald ich die hart eingegeben Werte durch Varibeln ersetze gibts nur noch
    Fehler ... oder aber er ließt die Attachmentfile nicht mit ein ...

    Kann mir da mal jemand weiterhelfen?

    Hier das Gerät:

    PHP-Code:
    <?
        // load email settings
        $sql         = 'SELECT * FROM `emails` WHERE `id` = "'.$mail_id.'" LIMIT 1' ;
        $result     = mysql_query($sql) ;
        $maildata     = mysql_fetch_array($result) ;
        
        // Load User Settings
        $sql         = 'SELECT * FROM `kunden` WHERE `id` = "'.$_SESSION['id'].'" LIMIT 1' ;
        $result     = mysql_query($sql) ;
        $userdata     = mysql_fetch_array($result) ;

        $mail_header     = "From: SW Dev PDF <mail@xjonx.com>";
        $mail_header     = "To: SW Dev PDF <".$userdata['Email'].">";
        
        // Beginn der Mail    
        $delimiter         = md5(uniqid(time()));
        $mail_header    .= "\r\n";
        $mail_header    .= "MIME-Version: 1.0";
        $mail_header    .= "\r\n";
        $mail_header    .= "Content-Type: multipart/mixed; boundary=".$Trenner;
        $mail_header    .= "\r\n\r\n";
        $mail_header    .= "This is a multi-part message in MIME format";
        $mail_header    .= "\r\n";
        $mail_header    .= '--'.$delimiter;
        $mail_header    .= "\r\n";
        $mail_header    .= "Content-Type: text/plain";
        $mail_header    .= "\r\n";
        $mail_header    .= "Content-Transfer-Encoding: 8bit";
        $mail_header    .= "\r\n\r\n"; 
        $mail_header    .= user_parser($maildata['message']);
        $mail_header    .= "\r\n";
        
        // Document
        $mail_header .= '--'.$delimiter;
        $mail_header .= "\r\n";
        $mail_header .= "Content-Type: application/pdf; name=".$maildata['attachment'];
        $mail_header .= "\r\n";
        $mail_header .= "Content-Transfer-Encoding: base64";
        $mail_header .= "\r\n";
        $mail_header .= "Content-Disposition: attachment; filename=".$maildata['attachment'];
        $mail_header .= "\r\n\r\n";
        $file          = fread(fopen('./data/'.$maildata['attachment'], "r"),
    filesize('./data/'.$maildata['attachment'])); // für den post umgebrochen
        $mail_header .= chunk_split(base64_encode($file));
        $mail_header .= "\r\n";
        
        $mail_header .= '--'.$delimiter.'--';
        
        mail('', $maildata['subject'], '', $mail_header);
        
    ?>
    und hier der dumme fehler:

    Code:
    Warning: fopen(./data/test.pdf ): failed to open stream: 
    No such file or directory in /mailer.php on line 44
    
    Warning: filesize(): Stat failed for ./data/test.pdf 
    (errno=2 - No such file or directory) in /mailer.php on line 44
    
    Warning: fread(): supplied argument is not a valid stream 
    resource in /mailer.php on line 44
    wenn ich die PDF File das hart rein kloppe, dann gehts ...
    Design & Coding with a breeze of madness at xjonx

  • #2
    Na, dass der Pfad nicht stimmt, wirst du der Fehlermeldung aber glauben. Deswegen gleich ein Faules Projekthilfe-Posting?

    Kommentar


    • #3
      nein der pfad stimmt ja ... wenn ich statt $maildata['attachment']
      einfach test.pdf rein tippe ... was auch in der Datenbank steht, dann
      geht es ... zu mal die Mail versendet wird, aber die Datei kaputt ankommt.
      (aber inkl. größe und name)
      Design & Coding with a breeze of madness at xjonx

      Kommentar


      • #4
        Poste mal die Ordnerstruktur.

        Kommentar


        • #5
          quasi so:
          Code:
          /.htaccess
          /admin.php
          /data/
          /data/test.pdf
          /index.php
          /lib/
          /mailer.php
          /tpl/
          Design & Coding with a breeze of madness at xjonx

          Kommentar


          • #6
            Und was haben deine Kontrollausgaben des Inhaltes der fraglichen Variablen ergeben? (var_dump)
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              auf userdata:
              PHP-Code:
                ["id"]=>
                
              string(5"12003"
                
              ["Email"]=>
                
              string(16"mail@xjonx.com" 
              beim kürzen fürs forum ist mir der vermutliche fehler aufgefallen:
              Code:
                ["id"]=>
                string(1) "1"
                ["title"]=>
                string(10) "Test Email"
                ["subject"]=>
                string(10) "Test Email"
                ["reciever"]=>
                string(18) "mail@xjonx.com"
                ["message"]=>
                string(24) "[Gruss]
              [Name]
              [Email]"
                ["attachment"]=>
                string(10) "test.pdf
              "
              es wird noch mal gewrapped durch das eingabefeld beim admin.
              kann ich das jetzt einfach mit preg_replace auf \n entfernen?
              Design & Coding with a breeze of madness at xjonx

              Kommentar


              • #8
                aha!

                Du kannst auch einfach trim()en.

                Kommentar


                • #9
                  vielen dank tobi... ohne den post hätte ich das nie gesehen ...
                  Design & Coding with a breeze of madness at xjonx

                  Kommentar

                  Lädt...
                  X