E-Mail mit mehreren Dateianhängen

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

  • E-Mail mit mehreren Dateianhängen

    Hi Freaks ,

    ich bin auf der Suche nach einer Funktion, mit der ich eine e-mail mit mehreren E-Mailanhängen verschicken kann.

    Es sieht so aus, das der User zufor einige Dateien hochlädt und im nächsten Formular werden diese Dateien an den Administrator geschickt, sobald der User seinen Upload bestätigt hat.

    Die Dateinamen werden in hidden textfields in einem array gespeichert.

    Kann mir da vielleicht jemand helfen ?

    Wäre sehr dankbar.

    MFG

    M.Nolte

  • #2
    hast du schon die suche verwendet?

    nein. denn dann hättest du was gefunden.
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      Doch habe ich nur waren die funktionen nicht zu gebrauchen!
      Wie z.b. war da was:

      mymail -> attachment("datei.zip");
      mymail -> attachment("datei2.zip");
      mymail -> attachment("datei3.zip");

      Und so weiter.
      Ich möchte aber etwas wo ich gleich als array die anhänge angeben kann...
      Leider habe ich auch nicht die zeit um die andere funktion umzubauen.

      Kommentar


      • #4
        dann schreib das ding doch fix und.

        eine neue fkt anlegen, die ein array erwartet und selbige geht mittels foreach durch das array durch und ruft die vorhandene fkt auf.

        fertig.
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          Hat jemand ein beispiel für mich ?

          Kommentar


          • #6
            PHP-Code:
            function beispiel($array)
            {
              foreach(
            $array as $key => $value)
                 echo 
            $key.':   '.$value;

            Ich denke, also bin ich. - Einige sind trotzdem...

            Kommentar


            • #7
              in die class muss diese fkt mit rein.


              PHP-Code:
              function MultiAttachment($att_array) {
                foreach (
              $arr_array as $datei) {
                  
              $this->attachment($datei);
                }


              der aufruf erfolgt dann so.

              PHP-Code:
              // array erstellen

              $daten = array ();
              $daten[] = "datei1.zip";
              $daten[] = "datei2.zip";
              $daten[] = "datei3.zip";
              $daten[] = "datei4.zip";

              $mymail = new deine_mail_class();
              .
              .
              .
              $mymail->MultiAttachment($daten); 
              wo ist nun dein problem?????

              EDIT:
              mist, happy war schneller....
              aber dafür habe ich auch mehr geschrieben...

              INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


              Kommentar


              • #8
                Also die Files sehen so aus:

                Die Datei die die Klasse benutzt:
                PHP-Code:
                    // Klasse einbinden
                    
                include("sendmail.php");
                    
                    
                // Neue Instanz der Klasse erstellen (Ab jetzt kann auf die Funktionen der Klasse zugegriffen werden)
                    
                $mail = new sendmail();

                    
                // Angeben des Absenders und der Absenderemailadresse
                    
                $mail->from("Günni","Email@adresse.de");
                    
                    
                // Angeben der Empfängeremailadresse
                    
                $mail->to("Email@adresse.de");
                    
                    
                // Angeben des Betreff´s
                    
                $mail->subject("Hier kommt der Betreff rein");
                    
                    
                // Angeben des Textes (Auch HTML möglich)
                    // Beim eingeben des HTML Textes bitte <HTML><BODY></BODY></HTML> weglassen,
                    // da dies automatisch hinzugefügt wird
                    
                $mail->text("Hier kommt der Text hin");
                    
                    
                // Anegeben eines Attachment´s (sind auch mehrere möglich)
                    
                $mail->attachment("test.zip");
                    
                $mail->attachment("test2.zip");
                    
                    
                // Versender der Email
                    
                $mail->send(); 
                und die klasse sendmail.php ansich:
                PHP-Code:
                    class sendmail
                    
                {
                        
                // Variable deklarieren
                        
                var $emailheader "";
                        var 
                $textheader "";
                        var 
                $textboundary "";
                        var 
                $emailboundary "";
                        var 
                $betreff "";
                        var 
                $empfaenger "";
                        var 
                $attachment = array();
                        
                        function 
                sendmail()
                        {
                            
                $this->textboundary uniqid(time());
                            
                $this->emailboundary uniqid(time());
                        }
                        
                        
                // Von wem die Email kommt in den Header setzen
                        
                function from($name,$email)    
                        {
                            
                $this->emailheader .= "From: $name<$email>\n";
                            
                $this->emailheader .= "MIME-Version: 1.0\n";
                        }
                        
                        
                // Funktion um den Adressaten anzugeben
                        
                function to($to)
                        {
                            
                $this->empfaenger $to;
                        }
                        
                // Funktionn für den Betreff anzugeben
                        
                function subject($subject)
                        {
                            
                $this->betreff $subject;
                        }
                        
                        
                // Textdaten in Email Header packen
                        
                function text($text)
                        {
                            
                $this->textheader .= "Content-Type: multipart/alternative; boundary=\"$this->textboundary\"\n\n";
                            
                $this->textheader .= "--$this->textboundary\n";
                            
                $this->textheader .= "Content-Type: text/plain; charset=\"ISO-8859-1\"\n";
                            
                $this->textheader .= "Content-Transfer-Enconding: quoted-printable\n\n";
                            
                $this->textheader .= strip_tags($text)."\n\n";
                            
                $this->textheader .= "--$this->textboundary\n";
                            
                $this->textheader .= "Content-Type: text/html; charset=\"ISO-8859-1\"\n";
                            
                $this->textheader .= "Content-Transfer-Enconding: quoted-printable\n\n";
                            
                $this->textheader .= "<html><body>$text</body></html>\n\n";
                            
                $this->textheader .= "--$this->textboundary--\n\n";
                        }
                        
                        
                // Funktion zum anhängen für Attachments in der Email
                        
                function attachment($datei)
                        {
                            
                // Überprüfen ob File Existiert
                            
                if(is_file($datei))        
                            {
                                
                // Header für Attachment erzeugen
                                
                $attachment_header "--".$this->emailboundary."\n" ;
                                
                $attachment_header .= "Content-Type: application/octet-stream;\n name=\"$datei\"\n";
                                
                $attachment_header .= "Content-Transfer-Encoding: base64\n";
                                
                $attachment_header .= "Content-Disposition: attachment;\n filename=\"$datei\"\n\n";

                                
                // Daten der Datei einlesen, in das BASE64 Format formatieren und auf max 72 Zeichen pro Zeile
                                // aufteilen
                                
                $file['inhalt'] = fread(fopen($datei,"rb"),filesize($datei));
                                
                $file['inhalt'] = base64_encode($file['inhalt']);
                                
                $file['inhalt'] = chunk_split($file['inhalt'],72);
                                
                                
                // Attachment mit Header in der Klassenvariable speichern
                                
                $this->attachment[] = $attachment_header.$file['inhalt']."\n";
                            }
                            else
                            {
                                echo 
                "Die Datei $datei existiert nicht...\n";
                            }
                        }
                        
                        
                // Funktion zum erstellen des Kompletten Headers der Email    
                        // Senden der Email
                        
                function send()    
                        {
                            
                $header $this->emailheader;
                            
                            
                // Überprüfen ob Attachments angehängt wurden            
                            
                if(count($this->attachment)>0)
                            {
                                
                $header .=     "Content-Type: multipart/mixed; boundary=\"$this->emailboundary\"\n\n";
                                
                $header .= "--$this->emailboundary\n";
                                
                $header .= $this->textheader;
                                
                                for(
                $i=0;$i<count($this->attachment);$i++)
                                {
                                    
                $header .= $this->attachment[$i];
                                }
                                
                                
                $header .= "--$this->emailboundary--";
                            }
                            else
                            {
                                
                $header .= $this->textheader;
                            }
                            
                // Versenden der Mail
                            
                mail("$this->empfaenger",$this->betreff,"",$header);
                        }
                    } 

                Leider funktioniert die clase irgendwie nicht! Ich weiss auch nicht wo der fehler liegt.


                EDIT:
                da ich mir meine augen nicht ruinieren will, habe ich mal die php.tags eingefügt.
                Abraxax

                Zuletzt geändert von Abraxax; 26.03.2003, 15:20.

                Kommentar


                • #9
                  Ich verstehe nicht wirklich wie ich das da einbinden soll!
                  Kann auch sein, dass es daran liegt, dass ich schon zulange an diesem Monitor sitze.

                  hehe


                  Thx für die Hilfe

                  Kommentar


                  • #10
                    was ist an ....
                    Original geschrieben von Abraxax
                    in die class muss diese fkt mit rein.

                    .
                    .
                    .

                    der aufruf erfolgt dann so.

                    .
                    .
                    .
                    ... so schwer zu verstehen?
                    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                    Kommentar


                    • #11
                      OffTopic:
                      Was ein Schmarn!!!

                      Kommentar


                      • #12
                        Ich bekomme immer diese Fehlermeldung:

                        Parse error: parse error, unexpected ';', expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}'
                        in /home/www/web1/html/sende_email.php on line 1

                        Obwohl in der zeile 1 nix ist.
                        ich habe auch schon die classe umbennant.

                        Kann mir jemand weiterhelfen?

                        Kommentar


                        • #13
                          das könnte ein fehlendes } sein.

                          Kommentar


                          • #14
                            Ist es leider auch nicht!

                            Ihr könnt auf seite 1 den code sehen und es fehlt nichts.
                            Diese Class bring mich noch auf die Palme.

                            Hat jemand noch einen Vorschlag ???

                            Kommentar


                            • #15
                              ich hab nur eine Seite

                              Da siehst du mal klar, wo der Vorteil von eigenen Scripten ist.

                              Kommentar

                              Lädt...
                              X