Mail empfang & decodieren von TBT

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

  • #91
    Hi,

    habe den Maildecoder jetzt bei mir eingebaut.
    Funktioniert auch alles wunderbar, bis auf eine Kleinigkeit.

    Wenn eine E-Mail Anhänge enthält ist über $decoded[0][body][0][body] der Body abrufbar.

    Das Bild, welches ich in diesem Fall der Mail angehängt habe wird in

    $decoded[0][body][1][body] gespeichert. Wenn ich jetzt dieses Array ausgeben will zeigt er mir nur "1" an. Er gibt mir kein Zahlenwirrwar aus. Ich will das ganze mit base64_encode durchlaufen lassen und anschließend am server speichern.

    auch wenn ich print_r($decoded[0][body][1][body]); mache gibt er mir "Array ( )" aus.

    base64_encode($decoded[...]); geht natürlich nicht weil es sich ja um ein Array handelt ;-)

    Wie kann ich das Problem lösen?

    Kommentar


    • #92
      liebe leute,

      bin nun auf die lösung gekommen. in der maildecoder-klasse war bei mir ein fehler drinnen (hatte da eigentlich nichts dran geändert, gehe also davon aus das auch andere das problem haben)

      Problemlösung: Ab Zeile 56:

      PHP-Code:
                  if( isset( $this->header['Content-transfer-encoding'] ) ) {
                      switch( 
      $s strtolowertrim$this->header['Content-transfer-encoding'] ) ) ) { 
      Da steht 2x ['Content-transfer-encoding']
      Vor der Änderung stand jedoch ['Content-Transfer-Encoding']

      also mit großen T und großen E. Ging jedoch nicht da in der E-Mail das mit kleinen Buchstaben stand. Jetzt mit der geänderten Funktion gibt er mir in den Arrays auch die Anhänge mit aus.

      Hoffe geholfen zu haben.

      Kommentar


      • #93
        Original geschrieben von TBT
        korrekt, da er bei einem erneutem Aufruf von decode die internen Variablen nicht zurück setzt.
        Das könnte man noch einbauen
        Umm könnte mir evtl jemand sagen, welche Variablen da genau zurückgesetzt werden müssen?

        Es geht dabei um reine Plain/Text Mails...

        Ich bekomme immer nur den Body der ersten Mail im Postfach ausgegeben.

        Wäre sehr nett.

        -edit-

        Hat sich erledigt ^^
        Zuletzt geändert von inf; 24.02.2006, 13:29.

        Kommentar


        • #94
          was mich brennend interessieren würde:

          1. Wie finde ich raus ob es sich bei der eingehenden E-Mail um eine HTML oder Plain/text Mail handelt?

          2. Ich hab das soweit zwar geschafft, doch einige Freemailer (z.B. gmx) machen da wieder einen strich durch die Rechnung...

          3. Wie wähle ich "automatisch" den richtigen body aus?

          Kommentar


          • #95
            PHP-Code:
            $header explode("\n"imap_fetchheader($mbox1));
            $check imap_check($mbox);
            $Anzahl_Nachrichten $check->Nmsgs;
            $Anzahl_Neuer_Nachrichten $check->Recent;
            // Mail auslesen
            $nMessages imap_num_msg($mbox);
            for(
            $i 1$i <= $nMessages$i++)
                {
                
            $header imap_header($mbox$i);
                
            $datum $header->Date;
                
            $m_id $header->message_id;
                
            $empfaenger $header->toaddress;
                
            $betreff $header->subject;
                
            $absender $header->from[0]->personal;
                
            $absender_email $header->from[0]->mailbox."@".$header->from[0]->host;
                
            $body imap_body($mbox,$i);
                
            $text_koerper $body;
                
            $fheader imap_fetchheader($mbox,$i);
                
            $message imap_fetchbody($mbox,$i,1);    
                
            $name $struckture->parts[$part]->dparameters[0]->value
                
            $type $struckture->parts[$part]->typee
                
                if (
            $type == 0

               
            $type "text/"

            elseif (
            $type == 1

               
            $type "multipart/"

            elseif (
            $type == 2

               
            $type "message/"

            elseif (
            $type == 3

               
            $type "application/"

            elseif (
            $type == 4

               
            $type "audio/"

            elseif (
            $type == 5

               
            $type "image/"

            elseif (
            $type == 6

               
            $type "video"

            elseif(
            $type == 7

               
            $type "other/"

            $type .= $struckture->parts[$part]->subtypee
            ######## Type end 

            ######## coding 
            $coding $struckture->parts[$part]->encoding
            if ((
            $coding == 1)||($coding == 0))

               
            $wiadomsoc imap_8bit($message); 

            elseif (
            $coding == 2)

               
            $message imap_binary($message); 

            elseif (
            $coding == 3

               
            $message imap_base64($message); 

            elseif (
            $coding == 4

               
            $message quoted_printable($message); 

            elseif (
            $coding == 5

               
            $message $message

            Signatur-Text ...

            Kommentar


            • #96
              herzlichen dank, werde ich ausprobieren.

              Kommentar


              • #97
                einzelne mail ansprechen

                hi, ich benutze auch die beiden klassen von TBT (Danke )

                hat jemand eigentlich schon bessere funktione bzw. klassen in sachen mails abrufen, löschen versenden?


                so weit klappt das script sehr gut, kann mails abrufen, wie kann ich einzeln eine mail abrufen bzw. eine gezielte Mail auslesen?
                Ebenso eine einzelen gezeilte Mail löschen?

                Ich bedanke mich für eure Antwort in voraus!
                www.codedragon.de
                hier wird ihnen bei jedem Problem geholfen

                Kommentar

                Lädt...
                X