TS: Welche Codierungen in welcher Reihenfolge?

Hello,

welche Kodierungen in welcher Reihenfolge liegen hier zugrunde?

Subject: =?windows-1251?B?UmU6IEdlbmVyaWthIFBvdGVuem1pdHRlbA==?=

das wird dann zu Subject: Re: Generika Potenzmittel

Ich muss also "Generika Potenzmittel" oder Teile davon in die obige Kodierung bringen, um es dann filtern zu können. Wie kriegfe ich das mit PHP hin? Gibt es auch ein Binary (für Linux) um die Kodierung herzustellen?

Liebe Grüße
Tom S.

--
Die Krawatte ist das Kopftuch des Westens
  1. Hallo TS,

    welche Kodierungen in welcher Reihenfolge liegen hier zugrunde?

    Subject: =?windows-1251?B?UmU6IEdlbmVyaWthIFBvdGVuem1pdHRlbA==?=

    Das ist Base64-kodiertes Windows-1252. Das zeigt dir das ?B? an. Es gäbe auch noch ?Q?, das ist dann Quoted-Printable. Das windows-1252 kann eine beliebige Zeichenkodierung sein. Das Schema ist =?coding?transport-coding?encoded text?=.

    LG,
    CK

    1. Hallo,

      `Subject: =?windows-1251

      Das ist Base64-kodiertes Windows-1252.

      Woher weiß man, dass man da 1 drauf addieren muss?

      Gruß
      Kalk

      1. Hallo Tabellenkalk,

        Hallo,

        `Subject: =?windows-1251

        Das ist Base64-kodiertes Windows-1252.

        Woher weiß man, dass man da 1 drauf addieren muss?

        Sorry, 1251.

        LG,
        CK

    2. Hello CK, hello @All,

      welche Kodierungen in welcher Reihenfolge liegen hier zugrunde?

      Subject: =?windows-1251?B?UmU6IEdlbmVyaWthIFBvdGVuem1pdHRlbA==?=

      Das ist Base64-kodiertes Windows-1252. Das zeigt dir das ?B? an. Es gäbe auch noch ?Q?, das ist dann Quoted-Printable. Das windows-1252 kann eine beliebige Zeichenkodierung sein. Das Schema ist =?coding?transport-coding?encoded text?=.

      Dad bereitet mir jetzt doch Kopfzerbrechen:

      In der /etc/postfix/header_checks steht z. B.

      /^Subject: .*Pillen/                    REJECT #1017 No Pills
      /^Subject: .*Pills/                     REJECT #1018 No Pills
      

      Nun kommt aber als Mail-Header:

      Subject: =?windows-1251?B?UmU6IE5hdHVybGljaGUgRGlhdC1QaWxsZW4=?=

      Dekodiert: Subject Re: Naturliche Diat-Pillen

      Ich finde keine Möglichkeit, der Header-Check-Funktion mitzuteilen, dass es den String erst dekodieren muss, bevor es ihn durch das RegEx-Filter schiebt.

      Ich kann aber nicht alle Base-64 kodierten Möglichkeiten in die Patternsammlung aufnehmen.

      Wer hat eine bessere Idee?

      Liebe Grüße
      Tom S.

      --
      Die Krawatte ist das Kopftuch des Westens
      1. Tach!

        Ich kann aber nicht alle Base-64 kodierten Möglichkeiten in die Patternsammlung aufnehmen.

        Wenn keine Nicht-ASCII-Zeichen im Suchmuster vorkommen, ist es genau eine Zeile mehr pro Eintrag.

        Wer hat eine bessere Idee?

        Mit einem Suchmuster alles außer win-1252 und utf8 aussortieren, falls das mit deinem Anwendungsfall vereinbar ist.

        dedlfix.

        1. Hello,

          Ich kann aber nicht alle Base-64 kodierten Möglichkeiten in die Patternsammlung aufnehmen.

          Wenn keine Nicht-ASCII-Zeichen im Suchmuster vorkommen, ist es genau eine Zeile mehr pro Eintrag.

          Wer hat eine bessere Idee?

          Mit einem Suchmuster alles außer win-1252 und utf8 aussortieren, falls das mit deinem Anwendungsfall vereinbar ist.

          Was ist mit Gross-Kleinschreibung?

          Meine Suchmuster sind i.d.R. auch etwas komplexer, als das gezeigte. Aber verglichen wird soweit ich weiß immer das Pattern gegen den den RAW-Text-Header und nicht gegen seinen dekodierten.

          Man müsste also einstellen können, dass der Header erst dekodiert wird und dann derst gegen die Suchmusterliste geworfen wird. Das wäre prima!

          Liebe Grüße
          Tom S.

          --
          Die Krawatte ist das Kopftuch des Westens
      2. Ich finde keine Möglichkeit, der Header-Check-Funktion mitzuteilen, dass es den String erst dekodieren muss, bevor es ihn durch das RegEx-Filter schiebt.

        Dafür gibt es Milter.

        Und erst nach der Prüfung durch Milter entscheiden ob man die Mail annimmt oder nicht.

        1. Hello,

          Ich finde keine Möglichkeit, der Header-Check-Funktion mitzuteilen, dass es den String erst dekodieren muss, bevor es ihn durch das RegEx-Filter schiebt.

          Dafür gibt es Milter.

          Und erst nach der Prüfung durch Milter entscheiden ob man die Mail annimmt oder nicht.

          Ich habe jetzt das ganze Wochenende gelesen. Aber wie Milter genau funktioniert und wie ich irgendwelche Filter konfigurieren kann, ist mir immer noch schleierhaft.

          Kann mir da jemand weiterhelfen?

          Liebe Grüße
          Tom S.

          --
          Die Krawatte ist das Kopftuch des Westens
      3. Hallihallo!

        Dad bereitet mir jetzt doch Kopfzerbrechen:

        Das sagt mein Sohn auch dauernd *scnr

        Beste Grüsse, Tobias Hahner

  2. Tach!

    welche Kodierungen in welcher Reihenfolge liegen hier zugrunde?

    Subject: =?windows-1251?B?UmU6IEdlbmVyaWthIFBvdGVuem1pdHRlbA==?=

    Ohne Kodierfehler zu berücksichtigen:

    1. Mail-Header-Zeile (eher Format als Kodierung)
    2. weiß ich nicht, wie das konkret heißt. Das B steht jedenfalls für Base64, das zwischen den beiden folgenden ? steht. Der Rest ist Kodierungsangabe und Einrahmung. Statt B kann es auch Q sein, dann ist es Quoted Printable.
    3. Angegebene Kodierung

    dedlfix.