Imap -> Decodier Frage

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

  • Imap -> Decodier Frage

    Hi Leute!

    Kurze Frage: Ich lese mit imap_body usw. den Inhalt einer HTML Mail aus. Bei Base 64 geht alles vorrausgesetzt ich dekodiere logischerweise mit Base_64. Nun das Prob: In der HTML Mail erscheinen komische Zeichen die da nicht hingehören wie z.B. so:

    Anstatt

    Gruß,

    kommt:

    Gru=DF,

    und bei Leerzeilen kommt ein = und sonst öfters mal ein großes D, obwohl es da nicht hingehört.

    Frage: Welche Dekodier Funktion muss ich nutzen um dieses zu umgehen / ausszuschließen? Oder muss ich etwa mit der normalen Replace Funktion arbeiten? Das geht aber nicht, da man ja nicht einfach das D aus der Datenbank streichen kann

    cYa DuRoX

  • #2
    Mach dich mal in der PHP-Manual über die Funktion imap_utf7_decode schlau.

    http://de3.php.net/manual/de/functio...tf7-decode.php
    Eventuelle Tippfehler bei PHP-Beispielen können durchaus vorkommen, aber es geht um die grundsätzliche Möglichkeit der Anwendung.

    Es war einmal ein Benutzer, der hatte ein Problem mit ... PHP (http://de3.php.net/manual/de/) MySQL (http://dev.mysql.com/doc/mysql/de/) HTML (http://www.selfhtml.org/)

    Wer suchet, der findet: http://www.php-resource.de/forum/search.php
    Immer noch nichts? Dann frag!


    Mit freundlichen Grüßen,
    @4u

    Kommentar


    • #3
      PHP-Code:
      $a imap_utf7_decode (imap_body($mbox$i)); 
      Habe ich jetzt.

      Fehler:

      Warning: imap_utf7_decode: Invalid modified base64 character: `=' in XXXXXX on line 38


      Was nun? UTF7 geht nicht....

      Kommentar


      • #4
        Weiß denn keiner Rat wie ich diese vielen =3D usw. mit einer Funktion wegbekomme? Ich hab schon soviel versucht, bin am verzweifeln

        Die Email Software's wie Horde können das ja auch entsprechend richtig konvertieren, deswegen muss es doch irgendwie eine Lösung geben.

        cYa DuRoX

        Kommentar


        • #5
          Poste mal bitte Originaltext und der von deinem Programm / bisherigen Source ausgegebenen "Inhalt mit Fehlern".
          Eventuelle Tippfehler bei PHP-Beispielen können durchaus vorkommen, aber es geht um die grundsätzliche Möglichkeit der Anwendung.

          Es war einmal ein Benutzer, der hatte ein Problem mit ... PHP (http://de3.php.net/manual/de/) MySQL (http://dev.mysql.com/doc/mysql/de/) HTML (http://www.selfhtml.org/)

          Wer suchet, der findet: http://www.php-resource.de/forum/search.php
          Immer noch nichts? Dann frag!


          Mit freundlichen Grüßen,
          @4u

          Kommentar


          • #6
            Versuch mal das hier:
            PHP-Code:
            $subject "=?ISO-8859-1?Q?B=F8lla?=, med =?ISO-8859-1?Q?=F8l?= i baggen";
            $subject imap_utf8($subject);
            $subject utf8_decode($subject); 
            *winks*
            Gilbert
            ------------------------------------------------
            Hilfe für eine Vielzahl von Problemen!!!
            http://www.1st-rootserver.de/

            Kommentar


            • #7
              Danke für eure Antworten!

              @ Wotan: Danke für deine HIlfe, aber ich möchte nur den Body also den Inhalt der Nachricht dekodieren und nicht den Betreff(zeile).

              @a4u:

              Das ist das was er ausgibt:

              This is a multi-part message in MIME format. ------=_NextPart_000_0005_01C32A0E.B12C11F0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hi Leute! Kurze Frage: Ich lese mit imap_body usw. den Inhalt einer HTML Mail aus. Bei Base 64 geht alles vorrausgesetzt ich dekodiere logischerweise mit Base_64. Nun das Prob: In der HTML Mail erscheinen komische Zeichen die da nicht hingeh=F6ren wie z.B. so:=20 Anstatt Gru=DF,=20 kommt: Gru=3DDF,=20 und bei Leerzeilen kommt ein =3D und sonst =F6fters mal ein gro=DFes D, = obwohl es da nicht hingeh=F6rt. Frage: Welche Dekodier Funktion muss ich nutzen um dieses zu umgehen / ausszuschlie=DFen? Oder muss ich etwa mit der normalen Replace Funktion arbeiten? Das geht aber nicht, da man ja nicht einfach das D aus der Datenbank streichen kann =20 Gru=DF, =20 DuRoX =20 ------=_NextPart_000_0005_01C32A0E.B12C11F0 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
              Hi Leute!

              Kurze Frage: Ich lese mit imap_body usw. den = Inhalt einer HTML Mail aus. Bei Base 64 geht alles vorrausgesetzt ich dekodiere logischerweise mit Base_64. Nun das Prob: In der HTML Mail erscheinen komische Zeichen die da nicht hingeh=F6ren wie z.B. so:

              Anstatt

              Gru=DF,

              kommt:

              Gru=3DDF,

              und bei Leerzeilen kommt ein =3D und sonst =F6fters mal ein gro=DFes D, = obwohl es da nicht hingeh=F6rt.

              Frage: Welche Dekodier Funktion muss ich nutzen um dieses zu umgehen / = ausszuschlie=DFen? Oder muss ich etwa mit der = normalen Replace Funktion arbeiten? Das geht aber nicht, da = man ja nicht einfach das D aus der Datenbank streichen kann



              Gru=DF,



              DuRoX



              ------=_NextPart_000_0005_01C32A0E.B12C11F0--
              Und das, was ich schrieb:

              Hi Leute!

              Kurze Frage: Ich lese mit imap_body usw. den Inhalt einer HTML Mail aus. Bei Base 64 geht alles vorrausgesetzt ich dekodiere logischerweise mit Base_64. Nun das Prob: In der HTML Mail erscheinen komische Zeichen die da nicht hingehören wie z.B. so:

              Anstatt

              Gruß,

              kommt:

              Gru=DF,

              und bei Leerzeilen kommt ein = und sonst öfters mal ein großes D, obwohl es da nicht hingehört.

              Frage: Welche Dekodier Funktion muss ich nutzen um dieses zu umgehen / ausszuschließen? Oder muss ich etwa mit der normalen Replace Funktion arbeiten? Das geht aber nicht, da man ja nicht einfach das D aus der Datenbank streichen kann



              Gruß,



              DuRoX

              Soll jetzt nur als Beispiel dienen, bei Links und Sonderzeichen (was ich brauche, wird nur noch Mist ausgegeben.)

              cYa DuRoX

              Kommentar


              • #8
                Das läst sich auch so auf den Body anwenden. Must nur entsprechend umbauen.
                *winks*
                Gilbert
                ------------------------------------------------
                Hilfe für eine Vielzahl von Problemen!!!
                http://www.1st-rootserver.de/

                Kommentar


                • #9
                  PHP-Code:
                  $container imap_body($mbox$i);
                  $container "=?ISO-8859-1?Q?B=F8lla?=, med =?ISO-8859-1?Q?=F8l?= i baggen";
                  $container imap_utf8($container);
                  $container utf8_decode($container);
                  echo 
                  $container

                  Das ist dein Code -> Umgebaut.

                  Ausgabe:

                  Bølla, med øl i baggen

                  *g* Da fragt man sich, was das jetzt soll

                  cYa DuRoX

                  Kommentar


                  • #10
                    Habe das auch nur von der PHP.Net Seite
                    imap-utf8


                    *grml* die haben doch glatt innerhalb von 3 Stunden die Seite geändert. *grml*
                    *winks*
                    Gilbert
                    ------------------------------------------------
                    Hilfe für eine Vielzahl von Problemen!!!
                    http://www.1st-rootserver.de/

                    Kommentar


                    • #11
                      Ähm... Sorry jetzt verstehe ich gar nichts mehr. Soll das heißen, dass es nicht möglich ist eine Email mit einer Dekodierfunktion in PHP zu dekodieren? Horde usw. machen das ja auch; Dort habe ich mir auch schonmal den Code angesehen nur leider werde ich aus diesem äußerst komplexen Konstrukt nicht schlau


                      cYa DuRoX

                      Kommentar


                      • #12
                        PHP-Code:
                        $container imap_body($mbox$i);
                        $container imap_utf8(container);
                        $container utf8_decode($container);
                        echo 
                        $container
                        Was passiert wenn du es so machst?
                        *winks*
                        Gilbert
                        ------------------------------------------------
                        Hilfe für eine Vielzahl von Problemen!!!
                        http://www.1st-rootserver.de/

                        Kommentar

                        Lädt...
                        X