Heya,
We had some problems with OTRS 2.0.4, which simply lost emails which
were supposed to end up in one of our queues. I was able to track this
problem down to the PostgreSQL DB rejecting the body due to a broken
Unicode sequence. This was caused by the emails, which were marked as being
UTF8, but contained a disclaimer attached by the customer's MTA - in
latin1.
After removing the QP encoding, OTRS noticed that the target charset for
the DB (utf8) and the source charset were the same and skipped
re-encoding with Perl's Encode module. This sounds like a sane
optimization, but the decode/re-encode step has the nice side-effect of
validating all byte sequences and replacing broken data by some valid
character.
I removed the optimization, mails are now processed without a
problem. I have attached two patch: The first applies to 2.0.4 and has
been tested, while the second applies to 2.2.5, but hasn't been tested.
Please apply it, or at least add a configure option enforcing
re-encoding of mails.
Thanks,
Marc