2009-07-17

Redmineの日本語メールJIS対応のはずが?

今日のトラブルは、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化は保留としました。

ですが、タイムリーなことに、別の方法(プラグイン)を、お世話になっている方から教えていただいたので、こちらを試してみようと思っています。

それにしても、助かりました、JULYさま、本当に有難うございました。
(コメントが付けられないので、かげながらお礼申し上げます....)

2 件のコメント:

  1. 試してみました。ソースコードに変更を加えなくとも、メールがJISになりました!
    ただ、HTMLメールに関しては文字化けに。
    HTMLメールの機能をOFFにすればOKなのですが、ちょっと修正が必要そうです。

    返信削除
  2. HTMLで文字化けしちゃうのは残念ですねぇ。

    返信削除