SpamAssassin 3.2.0 RC1のnormalize_charsetオプションの検証

John Myers氏のnormalize_charsetパッチがどの程度機能しているかを調べてみました。
結論としては機能していません。

原因は非常に簡単な話で、Mail::SpamAssassin::Message::Nodeモジュールの_normalize()でutf8フラグを落とすためにutf8::downgrade()を使っているのが原因でした。utf8::downgrade()がutf8フラグを落とせていませんでした。Perl 5.8ではEncode.pmを使えということで、代わりにEncode::encode_utf8()を使うと、ヘッダやボディのパターンテストは機能するようになりました。

パッチがコミットされてから1年ちょっと経つようですが、だれもテストしていないのですね。