Mail-Header mit Anhang

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

  • Mail-Header mit Anhang

    Hallöle Forum,

    ich habe da ein kleines Problem mit meinen Mail Header. Habe schon sämtliche Foren durch und alles ausprobiert. Leider ohne Erfolg.

    Den Mail Header setzte ich wie folgt zusammen.

    <?
    # Mailempfänger
    $empfaenger=$neu_empfaenger;
    # Betreff
    $betreff=$neu_betreff
    # Anhang Name für E-Mail
    $datei_name=$HTTP_POST_FILES['mail_anhang']['name'];
    # Anhang
    $datei_name_mail=$HTTP_POST_FILES['mail_anhang']['tmp_name'];
    # Mail von
    $headers ="From: absender@mail.de<$neu_absender>";

    $trenner=md5(uniqid(time()));
    $headers.="\n";
    $headers.="MIME-Version: 1.0";
    $headers.="\n";
    $headers.="Content-Type: multipart/mixed;boundary=$trenner";
    $headers.="\n\n";
    $headers.="This is a multi-part messages in MIME format";
    $headers.="\n";
    $headers.="Content-Type: text/html";
    $headers.="\n";
    $headers.="Content-Transfer-Encoding: 8bit";
    $headers.="\n\n";
    $headers.=$neu_text;
    $headers.="\n";
    $headers.="--$trenner";
    $headers.="Content-Type: application/octetstream;name=$datei_name_mail";
    $headers.="\n";
    $headers.="Content-Transfer-Encoding: base64";
    $headers.="\n";
    $headers.="Content-Disposition: attachment;filename=$datei_name_mail";
    $headers.="\n\n";
    $inhalt_der_datei=fread(fopen("$datei_name","r"),filesize("$datei_name"));
    $inhalt_der_datei=chunk_split(base64_encode($inhalt_der_datei));
    $headers.="\n";
    $headers.="--$trenner--";
    mail($empfaenger,$betreff,"",$headers);
    ?>

    Mit diesem Header, wird die Mail an die richtige Adresse mit der richtigen Betreff Zeile gesendet. Leider fehlt der Mail Text und der Anhang.
    Hierbei handelt es sich um eine Zip Datei und diese sollte nach dem Empfang auch entpackbar sein - bei meinen bishierigen Versuchen war die Datei immer fratze.

    Ich hoffe, das mir einer helfen kann und vielleicht ggf. auch mal erläustern kann, ob hier die ganzen Umbrüche, die Reihenfolge so wie oben dargestellt so sein müssen.

    Danke
    Euer Wombel
    Zuletzt geändert von Wombel; 17.08.2005, 14:55.
    Markus Schulz
    www.marbrilu.de

  • #2
    http://www.php-resource.de/forum/sho...threadid=50454 lesen und php-tags reineditieren bitte.

    Kommentar


    • #3
      zeig mal außerdem den inhalt (samt headern) der email, wie sie ankommt.

      Kommentar


      • #4
        Header Auszug

        Hallöle,

        bei der Mail kommen lediglich die Daten im E-Mail-Kopf an / werden im Outlook angezeigt - d.h. die Zeilen E-Mail von, E-Mail an und die Betreff Zeile sind gefüllt. Der Eigentliche Mailtext und der Anhang fehlen komplett.

        Hier mal der Auszug des Headers:
        [COLOR=blue]
        Microsoft Mail Internet Headers Version 2.0
        To: adresse@mail.de
        Subject: Test Betreff Zeile
        From: absender <absender@mail.de>
        MIME-Version: 1.0
        Content-Type: multipart/mixed;boundary=a19912fc00fc52d6cde00dc1b958b151
        Message-Id: <20050818083820.D240F39CB1@phil.dom>
        Date: Thu, 18 Aug 2005 10:38:20 +0200 (CEST)

        [/COLOR]

        mfg
        Wombel
        Markus Schulz
        www.marbrilu.de

        Kommentar


        • #5
          Re: Header Auszug

          Original geschrieben von Wombel
          Hallöle,

          bei der Mail kommen lediglich die Daten im E-Mail-Kopf an / werden im Outlook angezeigt - d.h. die Zeilen E-Mail von, E-Mail an und die Betreff Zeile sind gefüllt. Der Eigentliche Mailtext und der Anhang fehlen komplett.
          Original geschrieben von Wombel
          mail($empfaenger,$betreff,"",$headers);
          Wundert dich das bei deinem Einsatz der mail-Funktion?
          Ich denke, also bin ich. - Einige sind trotzdem...

          Kommentar


          • #6
            Funktion Header

            Hallöle,

            da ich in Sachen Mail Funktion noch Anfänger bin, und ich diese Mail Funktion aus Anleitungen in PHP Foren zusammengestellt habe, wäre ich sehr dankbar, für die Info was daran falsch ist?

            Danke
            Wombel
            Markus Schulz
            www.marbrilu.de

            Kommentar


            • #7
              OffTopic:
              wart ab, jetzt kommt's: "sorry, das war ein altes stück code, das ich vergessen habe, rauszueditieren".


              siehe http://de2.php.net/manual/en/function.mail.php (und beispiele):
              bool mail ( string to, string subject, string message [...]
              und dein drittes argument ist... na?
              Zuletzt geändert von penizillin; 18.08.2005, 12:31.

              Kommentar


              • #8
                Klappt nicht

                Hallöle,

                habe meine Funktion umgebaut.
                [COLOR=blue]mail($empfaenger,$betreff,$neu_text,$headers); [/COLOR]
                Doch leider kommt die Mail immer noch Ohne Text und Ohne Anhang an?????
                Kann mir jemand sagen ob zumindest der Header richtig zusammen gesetzt ist??? und ob die [COLOR=orangered]\n[/COLOR] an den richtigen Stellen und in der richtigen Anzahl vorhanden sind???

                Danke
                Wombel
                Markus Schulz
                www.marbrilu.de

                Kommentar


                • #9
                  Re: Mail-Header mit Anhang

                  PHP-Code:
                  $empfaenger 'mrhappiness@php-resource.de';
                  $betreff 'Lottozahlen der nächsten Woche';
                  mail($empfaenger$betreff$sechs_richtige_und_zusatzzahl); 
                  bei mir kommt auch nichts an...


                  $neu_text ist was anderes als $inhalt_der_datei, solage du nicht mal deinen aktuellen code postest, gehe ich davon aus, dass du keine ahunng hast, was genau du machst und was für variablen du verwendest/verwenden kannst/verwenden solltest

                  Und benutze doch endlich mal die php-tags: [php] hier dein ganzer code [/php&#93;
                  Ich denke, also bin ich. - Einige sind trotzdem...

                  Kommentar


                  • #10
                    Re Header

                    Also,

                    um ganz ehrlich zu sein, so genau was bei der Zusamnmensetzung des Headers eingetlich beachtet werden muss ist mir noch nicht ganz klar. Gerade hier nochmal der Bezug auf den Anhang der Datei und der Zusammensetzung des Headers. Ich habe hier mal den PHP Code (Sorry das ich bisher den PHP Tag vergessen habe) mit Anmerkungen versehen, wo ich noch Verständnis Fragen habe.
                    Hier mein aktueller Header

                    PHP-Code:
                    $empfaenger=$neu_empfaenger;  
                    $betreff=$neu_betreff
                    $datei_name=$HTTP_POST_FILES['mail_anhang']['name']; 
                    $datei_name_anhang=$HTTP_POST_FILES['mail_anhang']['tmp_name']; 
                    $headers="From: [email]absender@mail.de[/email]";
                    $trenner=md5(uniqid(time()));  
                    $headers.="\n"// muss das an dieser stelle sein?
                    $headers.="MIME-Version: 1.0"
                    $headers.="\n"// muss das an dieser stelle sein?
                    $headers.="Content-Type: multipart/mixed;boundary=$trenner";        
                    $headers.="\n\n";// muss das an dieser stelle sein?                
                    $headers.="This is a multi-part messages in MIME format";    
                    $headers.="\n";// muss das an dieser stelle sein?
                    $headers.="Content-Type: text/html";
                    $headers.="\n";// muss das an dieser stelle sein?
                    $headers.="Content-Transfer-Encoding: 8bit";
                    $headers.="\n\n";        // muss das an dieser stelle sein?        
                    $headers.="$neu_text"// Ist das hier richtig??
                    $headers.="\n"// muss das an dieser stelle sein?
                    $headers.="--$trenner"// muss das an dieser stelle sein?
                    $headers.="Content-Type: application/octet-stream;name=$datei_name_anhang";    
                     
                    // kann ich dieses auch für ZIP Dateien nehmen oder muss ich hier x-zip-compressed nehmen
                    $headers.="\n"// muss das an dieser stelle sein?
                    $headers.="Content-Transfer-Encoding: base64";        
                    $headers.="\n"// muss das an dieser stelle sein?
                    $headers.="Content-Disposition: attachment;filename=$datei_name_anhang";
                    $headers.="\n\n"// muss das an dieser stelle sein?
                    $inhalt_der_datei=fread(fopen("$mail_anhang","r"),filesize("$mail_anhang"));
                    $inhalt_der_datei=chunk_split(base64_encode($inhalt_der_datei)); 
                    // wie genau wird den der Anhang jetzt in die Mail Funktion eingebaut ? 
                    $headers.="\n";
                    $headers.="--$trenner--";
                        
                            
                    mail($empfaenger,$betreff,$neu_text,$headers); 
                    Also ich bräuchte hier mal Infos für Anfänger.
                    -> Sorry war noch nen Tipp Fehler in Bezug auf die Var [COLOR=blue]$neu_text[/COLOR]

                    Danke

                    Wombel
                    Zuletzt geändert von Wombel; 18.08.2005, 14:23.
                    Markus Schulz
                    www.marbrilu.de

                    Kommentar


                    • #11
                      editiere dein post bitte so, dass man nicht horizontal scrollen muss.
                      und überlege dir, was in der variable $neu_intern_text drin ist.

                      Kommentar


                      • #12
                        Angepasst

                        Hallöle,

                        habe den Quelltext angepasst. Hier die aktuelle Version. Hier fehlt immer noch der Text und der Anhang.
                        PHP-Code:
                        $empfaenger=$neu_empfaenger;  
                        $betreff=$neu_betreff
                        $datei_name=$HTTP_POST_FILES['mail_anhang']['name']; 
                        $datei_name_anhang=$HTTP_POST_FILES['mail_anhang']['tmp_name']; 
                        $headers="From: [email]absender@mail.de[/email]";
                        $trenner=md5(uniqid(time()));  
                        $headers.="\n"// muss das an dieser stelle sein?
                        $headers.="MIME-Version: 1.0"
                        $headers.="\n"// muss das an dieser stelle sein?
                        $headers.="Content-Type: multipart/mixed;boundary=$trenner";        
                        $headers.="\n\n";// muss das an dieser stelle sein?                
                        $headers.="This is a multi-part messages in MIME format";    
                        $headers.="\n";// muss das an dieser stelle sein?
                        $headers.="Content-Type: text/html";
                        $headers.="\n";// muss das an dieser stelle sein?
                        $headers.="Content-Transfer-Encoding: 8bit";
                        $headers.="\n\n";        // muss das an dieser stelle sein?        
                        $headers.="$neu_text"// Ist das hier richtig??
                        $headers.="\n"// muss das an dieser stelle sein?
                        $headers.="--$trenner"// muss das an dieser stelle sein?
                        $headers.="Content-Type: application/octet-stream;name=$datei_name_anhang";    
                         
                        // kann ich dieses auch für ZIP Dateien nehmen oder muss ich hier x-zip-compressed nehmen
                        $headers.="\n"// muss das an dieser stelle sein?
                        $headers.="Content-Transfer-Encoding: base64";        
                        $headers.="\n"// muss das an dieser stelle sein?
                        $headers.="Content-Disposition: attachment;filename=$datei_name_anhang";
                        $headers.="\n\n"// muss das an dieser stelle sein?
                        $inhalt_der_datei=fread(fopen("$mail_anhang","r"),filesize("$mail_anhang"));
                        $inhalt_der_datei=chunk_split(base64_encode($inhalt_der_datei)); 
                        // wie genau wird den der Anhang jetzt in die Mail Funktion eingebaut ? 
                        $headers.="\n";
                        $headers.="--$trenner--";
                            
                                
                        mail($empfaenger,$betreff,$neu_text,$headers); 
                        Wäre dankbar wenn mir jemand den Header mal aufschlüsseln könnte, dann komme ich vielleicht weiter.

                        Danke
                        Wombel
                        Markus Schulz
                        www.marbrilu.de

                        Kommentar


                        • #13
                          Nochmal die Fragen:

                          Wo $neu_text komme her?

                          Warum du denke $neu_text nix leer?
                          Ich denke, also bin ich. - Einige sind trotzdem...

                          Kommentar


                          • #14
                            Text File

                            Hallöle,

                            die Var $neu_text ist mit dem eigentlichen Mailtext gefüllt.
                            PHP-Code:
                            $neu_text="Das ist eine Mail mit Anhang"
                            Fehlte leider im Auszug meines Quelltextes.
                            Gruß

                            Wombel
                            Markus Schulz
                            www.marbrilu.de

                            Kommentar


                            • #15
                              Dann sollte aber wenigstens der Text ankommen?
                              Ich denke, also bin ich. - Einige sind trotzdem...

                              Kommentar

                              Lädt...
                              X