PostMaster body-Filter greift bei HTML-Mails nicht

Hilfe zu Znuny Problemen aller Art
Locked
cibu
Znuny newbie
Posts: 11
Joined: 16 Mar 2010, 10:08
Znuny Version: 2.4.11

PostMaster body-Filter greift bei HTML-Mails nicht

Post by cibu »

moin moin

Ich versuche, einen PostMaster-Filter auf body einzurichten und muß leider feststellen, daß er bei HTML-Mails (Content-Type: text/html) nicht greift.
Plaintext- (Content-Type: text/plain) und HTMP-Plain-Mails (Content-Type: multipart/alternative) funktionieren.

Der Match-Text ist plain-Text und kommt auch im HTML-Teil plain ohne Markups vor. Selbst ein Match gegen den HTML-Code sollte einen Treffer landen.

Ich hab im PostMaster.pm debug=5 gesetzt und kann im Log alles schön verfolgen:
Der Body-Text der HTML-Only-Mail wird als Plain oder nach Plain konvertiert angezeigt aber mit "matched NOT!" quitiert.


Ist das bekannt?
Hat jemand eine Idee, wie Kernel::System::PostMaster::Filter::MatchDBSource doch dazu überredet werden kann, auch bei HTML-Mails zu greifen?
productiv OTRS 2.4.11 @ Fedora release 11 (Leonidas)
jojo
Znuny guru
Posts: 15020
Joined: 26 Jan 2007, 14:50
Znuny Version: Git Master
Contact:

Re: PostMaster body-Filter greift bei HTML-Mails nicht

Post by jojo »

wahrscheinlich geht das nur über einen statischen Postmaster Filter (also Perl Code), der statt dem Body den vollen Mailtext durchsucht, da die Perl Mime Tools den Part wohl nicht als Text behandeln sondern als Attachment
"Production": OTRS™ 8, OTRS™ 7, STORM powered by OTRS
"Testing": ((OTRS Community Edition)) and git Master

Never change Defaults.pm! :: Blog
Professional Services:: http://www.otrs.com :: enjoy@otrs.com
cibu
Znuny newbie
Posts: 11
Joined: 16 Mar 2010, 10:08
Znuny Version: 2.4.11

Re: PostMaster body-Filter greift bei HTML-Mails nicht

Post by cibu »

Hm...

in Kernel::System::PostMaster::Filter::MatchDBSource
Zeile 99 wird die Abfrage gemachen

Code: Select all

if ( $Param{GetParam}->{$_} && $Param{GetParam}->{$_} =~ /$Match{$_}/i ) {
Zeile 119-222 steht die Non-Match-Debug-Ausgabe

Code: Select all

                    $Self->{LogObject}->Log(
                        Priority => 'debug',
                        Message  => "$Prefix'$Param{GetParam}->{$_}' =~ /$Match{$_}/i matched NOT!",
                    );
bei der in's Debug-Log der Plain-Text des HTML-Bodies incl. exakt des Suchtextes (kein RexExp) ausgegeben wird.

Das heißt für mich, daß die prinzipielle Mail-Verarbeitung funktioniert.
Mir ist nur nicht klar, warum =~ nicht matched.
productiv OTRS 2.4.11 @ Fedora release 11 (Leonidas)
Locked