メールでチケット登録すると、添付ファイルの題名が途切れる

246 views
Skip to first unread message

tomok...@hotmail.com

unread,
Aug 3, 2015, 9:44:44 AM8/3/15
to Redmine Users (japanese)

初めまして。

私の環境では秀丸メール(エンコードがbase64)というメーラを利用しています。
  Redmineのバージョン 2.6.1
  Ruby バージョン 2.1.5

このメーラで、Redmineにチケットを登録すると、添付ファイル名が途切れることがあります。


例えば、Word文書で「新規 Word ドキュメント.docx」等の半角スペース入りの添付ファイルだと、
拡張子がファイル名から無くなります。
→拡張子が無くなった結果、チケットからファイルをダウンロードしようとすると「500 Internal Error」になります。

対応方法をご存知の方がいたら、教えていただけないでしょうか。

補足1)
/app/models/mail_handler.rb の中の def add_attachments に、ログを入れてみたところ、
既に attachment.filenameには題名が途切れた状態で入っているようでした。
それなので、gem のMailライブラリの中で既に文字化けしているのかな、とも思います。

補足2)
以前、 Redmine2.3/Ruby 1.9.xの環境だったときは、おそらくこの現象は無かったと思います。

補足3)

メーラ側の設定を、エンコードをUTF8に変更すると、この現象が発生しません。

Tomoko Shimizu

unread,
Oct 15, 2015, 10:04:15 AM10/15/15
to Redmine Users (japanese)
今日やっと原因がわかりました。
gem のメールライブラリの"mail 2.5.4"が原因でした。

Redmine 2.6.1は対応するRailsが"rails 3.2.21"で、 bundle installすると、"mail 2.5.4"がinstallされます。
→この"mail 2.5.4"のバージョンが添付ファイル名の文字化け(名前が途中で切れる、拡張子が無くなる)の原因でした。

以前 Redmine 2.3.0をインストールした際は、"mail 2.4.4"で、このバージョンでは問題が起きません。
Redmine 2.6.1のコードに原因があるのかと思ってましたが、違いました



対応策として、 mailの最新バージョン(2.6.3)を入手し、Redmine 2.6.1の環境に入れることで解決できました。

手順)
1. ”bundle exec gem uninstall mail"で mailのみアンインストールする。
2. mail 2.6.3を、以下のHPで入手し、zipファイルを解凍したフォルダ(mai-2.6.3)を、Redmineルート/vendor/bundle/rubyバージョン以下のgemフォルダにコピーする。
3. Redmineルート直下のGemfileを開き「gem "mail","2.63"」を1行追加する。
4. Redmineルート直下のGemfile.lockを開き、"mail 2.5.4"の記述を"mail 2.6.3"に書き換える。
5. "bundle update mail"コマンドで Redmineに mail 2.6.3をインストールする。

Tomoko Shimizu

unread,
Oct 15, 2015, 10:50:59 AM10/15/15
to Redmine Users (japanese)
以下の問題も同時に発生していたのすが、同様にmail 2.5.4が原因でした。 mailのバージョンを 2.6.3に上げることで解決できました。

「チケットをメールで登録すうrと題名が途切れてしまいます」

Reply all
Reply to author
Forward
0 new messages