Announcement

Collapse
No announcement yet.

phpmailer AddAttachment

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • phpmailer AddAttachment

    Hallo,

    ich möchte eine htmlemail mit Anhang versenden, leider gibt er mir bei der Benutzung der Methode AddAttachment die Fehlermeldung aus, das es diese Methode nicht mehr lange gibt...

    Kennt da jemand eine Alternative ?

    ÖG xXSpikeXx

  • #2
    http://php.net/manual/de/function.mail.php
    Das tun, was der Mailer auch macht. Eine multipart Message erzeugen und den Anhang als einen Part einhängen

    Beispiel hier
    http://www.php-einfach.de/codeschnipsel_1114.php
    Christian

    Comment


    • #3
      wenn ich mit der Mail - Funktion von PHP arbeite bekomme ich einen "Deprecated" Fehler.

      Demnach gibt es die Funktion nicht mehr lange und deshalb habe ich mich für den phpmailer entschieden, und mit dem AddAttachment funktioniert es ja auch, nur wie oben schon gesagt...

      Von daher muss es doch eine Variante geben die diese "fehlende" funktion ersetzt...

      Comment


      • #4
        Das ist mein Code: (Mail ())

        Code:
        <?php
         require_once "Mail.php";
         
         $emailBody = "";
         $emailBody .= "Halli Hallooo";
         
        $to = "[email protected]"; 
        $from = "xxx <[email protected]>"; 
        $subject = " des odb mit: bdfdb"; 
        $message = $emailBody; 
        $headers = "From: $from\r\n"; 
        
        // boundary 
        $semi_rand = md5(time()); 
        $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x"; 
        // headers for attachment 
        $headers .= "\nMIME-Version: 1.0\n" . "Content-Type: multipart/mixed;\n" . " boundary=\"{$mime_boundary}\""; 
        // multipart boundary 
        $message = "This is a multi-part message in MIME format.\n\n" . "--{$mime_boundary}\n" . "Content-Type: text/html; charset=\"iso-8859-1\"\n" . "Content-Transfer-Encoding: 7bit\n\n" . $message . "\n\n"; 
         // preparing attachments
        
        	$files = array("anhang.pdf"); 
        
        	if(is_file($files[0])){
        	$message .= "--{$mime_boundary}\n";
        	$fp = @fopen($files[$i],"rb");
        	$data = @fread($fp,filesize($files[$i]));
        	@fclose($fp);
        	$data = chunk_split(base64_encode($data));
        	$message .= "Content-Type: application/pdf; name=\"".basename($files[0])."\"\n" . 
        	"Content-Description: ".basename($files[0])."\n" .
        	"Content-Disposition: attachment;\n" . " filename=\"".basename($files[0])."\"; size=".filesize($files[0]).";\n" . 
        	"Content-Transfer-Encoding: base64\n\n" . $data . "\n\n";
        		}
        		
        	@mail($to, $subject, $message, $headers);
        
        ?>
        und die Fehlermeldung dazu: Deprecated: Assigning the return value of new by reference is deprecated in C:\xampp\php\PEAR\Mail.php on line 154

        Comment


        • #5
          Vermutlich ist ein Teil deiner PHP-Installation veraltet
          Christian

          Comment


          • #6
            wie kriege ich das am schnellsten und einfachsten wieder hin?

            Comment


            • #7
              bzw wo finde ich heraus was zu alt ist?

              generell habe ich die php Version 5.3.5

              Comment


              • #8
                Hallo,
                Originally posted by xXSpikeXx View Post
                ...und die Fehlermeldung dazu: Deprecated: Assigning the return value of new by reference is deprecated in C:\xampp\php\PEAR\Mail.php on line 154
                Das ist KEINE Fehlermeldung! Dies ist lediglich eine Warnung, dass "Assigning the return value of new by reference" veraltet ist und ggfs. in ZUKÜNFTIGEN Versionen zu einem Syntaxfehler führen wird.
                In der Datei C:\xampp\php\PEAR\Mail.php wird es in Zeile 154 also einen Ausdruck der Form:
                PHP Code:
                $obj = & new EineKlasse(...); 
                geben. Und das & hinter dem = ist da einfach "deprecated"!
                Du kannst also
                1. Das & in dieser Datei und Zeile einfach entfernen, da in allen PHP-Versionen die diese Deprecated-Meldung bringen, neue Objekte IMMER als Referenz erzeugt werden und damit die explizite Zuweisung als Ref überflüssig ist (Deshalb ist es "deprecated" )
                2. Darauf warten, dass eine neue Version der PEAR-Erweiterung verfügbar ist, in der die Entwickler 1. gemacht haben.


                Gruß Falk
                Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

                Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

                Comment


                • #9
                  Genau so eine Info habe ich gesucht, danke Falk

                  LG xXSpikeXx

                  Comment

                  Working...
                  X