ActionMailerで、メールのヘッダもビューに書けるようにする。こせきの技術日記スマートフォン用の表示で見るこせきの技術日記この広告は、90日以上更新していないブログに表示しています。2008-04-25ActionMailerで、メールのヘッダもビューに書けるようにする。2.0でどうなってるかは知らないです。%>さんにお知らせです。%>さん○○サービスのご利用ありがとうございます。みたいなrhtmlを使ってメールを送信する。背景ActionMailerのrhtmlは、通常のコントローラでrenderされる場合と動作が違う。明示的に指定しないとヘルパーが使えない。falseが動作しない。ヘルパーを有効にする(ドキュメント化されていない)方法は、http://www.railsonwave.com/railsonwave/2007/8/13/use-helper-functions-in-you-email-viewに載っていた。:applicationと書くとApplicationHelperが有効になる。これも何か不安だが、次のurl_forの問題が大きかった。%>のように書くとエラーになる。falseにできないみたいだった。ActionViewのurl_forは:only_pathがデフォルトでtrueなので、falseを指定しないと、スキームやホスト、ポート番号が出力されない。メールにURLを載せたいことはよくあるのに、これでは困ってしまう。使ってメール本文を作成して、これをActionMailerに渡す。ついでに、メールのヘッダをビューに書けるようにした。Subjectをビューに書けないのはヘンだ。下のsimple_mailer.rbをmodelsに追加。:set_field_valueendコントローラで次のようにしてメールを送信する。