Entries

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
この記事にトラックバックする(FC2ブログユーザー)
http://burnlight.blog3.fc2.com/tb.php/264-283771b8

トラックバック

コメント

コメントの投稿

コメントの投稿
管理者にだけ表示を許可する

redmineのメールの文字化けを解決しました

猫派 redmineでメール通知が行われないのを解決しました。

で、やっとメールを出せるようになりました。

テストメールを出せたので安心していると、メールのタイトルが文字化けしてます。

googleで検索すると、いくつかリンクが見つかりました。

メール通知をどうにかutf8をサポートしてないメーラーでも読めるようにする。 - ghostbass1.4β

Iso2022jpMailerをムリヤリ拡張してSubjectもFromもiso-2022-jpに対応してみる - しょうこりもなくブログる

ActiveHeart というPlugInを使うか、自力でクラスを作るかのようです。

しかし、ActiveHeartは使用を勧めないフェーズ、自力でクラスはよくわかりません。


ActionMailer に手を加えると良いようなので、ActiveMailerで検索してみます。

Rails の日本語化には ActiveHeart を使わない方がいいヨ - 川o・-・)<2nd life

これを読むとRuby-GetText というのを使うとよさそうです。

情報源はこちららしいです。
Ruby-GetText-Package - よたらぼ 保管庫

よたらぼ(2006-05-05)
には、

ActionMailerについても、標準ではUTF-8のメールになってしまいますが、Ruby-GetText-Packageをインストールするだけ使うだけ(インストールしてinit_gettextを呼ぶだけ)でISO2022JPに変換されてメールされるようになります。

とあります。これを使ってみることにします。

まず、
インストール。
社内からはproxyと認証が必要なので、セットします。

C:\redmine>set http_proxy=http://proxy
C:\redmine>set http_proxy_user=user
C:\redmine>set http_proxy_pass=pass
C:\redmine>gem install gettext

Bulk updating Gem source index for: http://gems.rubyforge.org
Select which gem to install for your platform (i386-mswin32)
1. gettext 1.92.0 (ruby)
2. gettext 1.91.0 (ruby)
3. gettext 1.90.0 (ruby)
4. gettext 1.10.0 (ruby)
5. gettext 1.10.0 (mswin32)
6. Skip this gem
7. Cancel installation
> 5
Successfully installed gettext-1.10.0-mswin32

で使い方は、

Ruby on RailsでRuby-GetText-Packageを使う - よたらぼ 保管庫

によると、ruby on the rails のバージョンにより異なる。

C:\redmine>rails --version
Rails 2.0.2

2.1 でないので、2.0までの方法を追記。

ここから、意外と試行錯誤しました。ので省略。

うまくいったもっともシンプルなパターンは、

config\environment.rb
の最後から2行目 に、 
require 'gettext/rails'
を追加。

app\models\mailer.rb

上の方 #のコメントがたくさんならんでる行と
class Mailer < ActionMailer::Base
の間の行に

GetText.locale ='ja'

を追加で、redmine を再起動するとうまくいきました。

簡単な確認方法は、
ログファイル

log\demo.log ( 環境によってファイル名は異なるのだと思います)

Sent mail:

数行下の
Subject:
の行が、
Subject: =?iso-2022-jp?....
となっていればOKです。

Subject: =?utf-8 
のままではダメです。

ちょっと気になるのは、
同様の手順で最初はうまくいきませんでした。

途中、手違いで、
rake db:migrate RAILS_ENV="demo"
と、
rake load_default_data RAILS_ENV="demo"
を行った後でうまくいったようなきがするのですが、

gem install gettext
の後に、上記rake db:migrate かrake load_default_data
のいずれかの手順が必要なのでしょうか?

そこまでの環境の再現テストをする時間もなかったので
今回は終了です。

スポンサーサイト
この記事にトラックバックする(FC2ブログユーザー)
http://burnlight.blog3.fc2.com/tb.php/264-283771b8

トラックバック

コメント

コメントの投稿

コメントの投稿
管理者にだけ表示を許可する

Appendix

プロフィール

burnlight

  • Author:burnlight
  • 忘れないように色々メモします。

ブロとも申請フォーム

この人とブロともになる

ブログ内検索

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。