Redmineの日本語メールJIS対応のはずが?
Redmineのバージョンアップ作業で、ユーザさんからのリクエストに応えようと、メールのJIS対応を行ってみました。あんまりRORには詳しくないので、まずは検索。
そして、参考にさせていただいたのが、以下のサイトです。
おかげさまで、めでたくメールがISO-2022-JPになってくれました。
メールの件は片付いたので、しばらくはその他のプラグインの検証などを行っていたのですが、意外なところで不具合が発生。
Redmine0.7xの環境で登録したデータを、バージョンアップの検証環境にインポートし、Redmine0.8.4の動作確認ということを行っていたのですが、検証環境で新たにユーザを追加すると、そのユーザだけ、正常にログインが出来なくなってしまったのです。
最初は何がなんだかわからなかったのですが、ログを見ると、エラーの発生するユーザには、すべて以下のようなメッセージが出ていました。
ActionView::TemplateError (uninitialized constant GetText::Rails::SecretKeyGenerator) on....
最初の疑惑は、バージョンアップそのものでしたが、これはどうも考えにくい。
次に、ユーザの認証に関してです。追加ユーザは、Internalではなく、LDAP認証を利用しています。でも、すでに0.7xの環境でも同じLDAPサーバを利用してのユーザ追加は問題ないので、これも考えにくいのでした。
そして、最後に疑ったのが、gettextまわり。
実は、gettextもインストールにするにあたって、Railsのバージョンやgettextのバージョンとの組み合わせで、Redmineがうまく動かなかったり、migrateでエラーになったりして、結構一苦労していました。
また、せっかくメールはJIS対応させたものの、SystemNotificationsという、ユーザへの一斉通知用プラグインに関しては、HTMLを含む送信メールがうまくJIS化できませんでした。
なんだか危険だなあ...と思っていたgettextだけに、エラーメッセージをキーに検索をすると、とても有難い情報が!
- 2009-07-01 Redmine にチャレンジ中 (By JULYさま)
まさにビンゴ、という感じで、早速Gettextのコードを解除し、もとのUTF-8に戻すと、あっけなく不具合が解決しました。
参考にしたBlogの方法が有効化はまだ判らないのですが、あまりgettextまわりはいじりたくないと直感が働いているので、メールのJIS化は保留としました。
ですが、タイムリーなことに、別の方法(プラグイン)を、お世話になっている方から教えていただいたので、こちらを試してみようと思っています。
- http://blog.imishin.com/projects/ruby/actionmailerja/
- http://blog.imishin.com/2009/04/28/actionmailer-ja-for-redmine-with-rails-2-2-2/
それにしても、助かりました、JULYさま、本当に有難うございました。
(コメントが付けられないので、かげながらお礼申し上げます....)
試してみました。ソースコードに変更を加えなくとも、メールがJISになりました!
返信削除ただ、HTMLメールに関しては文字化けに。
HTMLメールの機能をOFFにすればOKなのですが、ちょっと修正が必要そうです。
HTMLで文字化けしちゃうのは残念ですねぇ。
返信削除