日本語のメールを送信する

2011年4月3日

代々、Railsでの日本語メールはパッチを当てるか処理を書かないと、普段日本で流通しているメールの形式にはならない。

ようするに、エンコーディングが違うのである。

RailsでActiveMailを使って普通に送信すると、エンコーディングをUTF-8で送信してしまう。

ThunderBirdとかGMailとかだと、その辺を勝手に解釈して正常に表示されてしまうが

日本にはいまだにエンコードがUTF-8では正しく表示されないメーラーがあったりする。

これに対応するには、エンコーディングをUTF-8ではなく、ISO-2022-JPでメールを送る必要がある。

ということで、さっそく変換するためのパッチを入れる

http://d.hatena.ne.jp/hichiriki/20101026/1288107706

で公開されているコードを参考にmail_fix.rbファイルをconfig/initializersに入れる

#config/initializers/mail_fix.rb

メール送信用のコードを作成する

app/mailerディレクトリにbuy_list_mailer.rbファイルが作成される

このファイルを編集

メールを送信するときは

コントローラなどで

BuyListMailer.send_buy_list(buys).deliver

とすれば、メールを送信できる。

 

アンケート