Roundcube Webmail Outlook等メール文字化け対策plugin

最近は減りまたが、まだOutlookで winmail.dat が付いた日本語文字化けメールが届く事があるので文字化けを解消するPluginを作りました。
困っていたら使ってください。また利用していて文字化けが解消されないメールがあったらヘッダごと送ってください。

Roundcube JP Charset Fix

Roundcube 1.6.20 / PHP 8.3系、Outlook送信メールの winmail.dat (TNEF) による問題を修正します。

■機能

  • ISO-2022-JP本文をUTF-8へ変換
  • TNEF生成HTMLより、同一階層の正常なUTF-8/JISの text/plain 本文を優先
  • TNEF添付のCP932/UTF-16LE日本語ファイル名をUTF-8化
  • 元のメール、IMAPデータ、添付ファイル本体のバイト列は変更しません
  • 通常の(非TNEF)添付ファイルには介入しません

■設定
jp_charset_fixフォルダごとRoundcubeのpluginフォルダにコピーします

config/config.inc.php は下記を追加します。

▼pluginの指定で jp_charset_fix を追加します
$config['plugins'] = [
'archive',
'zipdownload',
'jp_charset_fix',
];

▼最終行に以下を追加します
$config['jp_charset_fix_prefer_plain_tnef'] = true;
$config['jp_charset_fix_tnef_filenames'] = true;
$config['jp_charset_fix_debug'] = true; // 検証後は false に変更

※OPcacheの validate_timestamps=0 等で変更が反映されない場合のみ、適切なPHP処理系のキャッシュをクリアしてください。

roundcube_jp_charset_fix.zip