2006/09/19
ActionMailerと格闘
ActionMailerに苦しめられた3日間だった。。。
http://wota.jp/ac/?date=20050731#p05
を参考に、メールを受信してから添付された画像を取り出すというのを作ってみてた。
この辺りで、base64なんかを勝手にほどいて、さらに文字コードの変換を勝手に行っているおかげで、画像データまでutf-8に変換されてたぽい。
実際には、1.1.2でほげってるんだけど、1.1.6でも直ってないぽい。
おかげで、変換に失敗した1バイトの文字列だけが返ってきて謎が深まりまくってた。
TMail::Mail.body_port.string か、TMail::Mail.quoted_body で生のまま直接取って返すだけでいいのにと思って、lib/action_mailer/vendor/tmail/attachments.rb の該当行を否定する感じで
に書き換えると、すんなりうごいた。
他の人たちは、どうやってるんだ??他の解決策があるのか??
lib/action_mailer/vendor/tmail/quoting.rbが原因ぽいが、オーバースペックというか面倒見すぎな気がする。
http://wota.jp/ac/?date=20050731#p05
を参考に、メールを受信してから添付された画像を取り出すというのを作ってみてた。
この辺りで、base64なんかを勝手にほどいて、さらに文字コードの変換を勝手に行っているおかげで、画像データまでutf-8に変換されてたぽい。
実際には、1.1.2でほげってるんだけど、1.1.6でも直ってないぽい。
おかげで、変換に失敗した1バイトの文字列だけが返ってきて謎が深まりまくってた。
TMail::Mail.body_port.string か、TMail::Mail.quoted_body で生のまま直接取って返すだけでいいのにと思って、lib/action_mailer/vendor/tmail/attachments.rb の該当行を否定する感じで
content = part.body_port.string # unquoted automatically by TMail#body
に書き換えると、すんなりうごいた。
他の人たちは、どうやってるんだ??他の解決策があるのか??
lib/action_mailer/vendor/tmail/quoting.rbが原因ぽいが、オーバースペックというか面倒見すぎな気がする。
ラベル: ActionMailer, rails