symfonyからiso-2022-jpでメール送信

このネタに関しては検索すればそこそこ情報があります。
dozo dokuwiki.php の中の人の解説が一番わかりやすいのですが、一部誤りがあります。

ref:symfony JIS(ISO-2022-JP)メール送信する方法(MVCバージョン) 【dozo dokuwiki.php】

getPresentationForを利用することでMVCによるメール送信実装ができますが、
第3引数で専用のsfMailを指定しないとmailer.ymlでの設定は行えません。
(sfMailを指定するとsfMailViewクラスが使用され、そこでmailer.ymlの設定が読み込まれるので)

たぶん、検証途中だったんじゃないかと思いますが。

じゃあ、第3引数に"sfMail"を渡せばよいかというと、
今度は本文だけがどうしてもJISに変換できないというジレンマに陥ってしまいます。

但し、注意がひとつ。
symfonyでのメール送信の説明@symfony BOOK 日本語版の中盤に載っている、「メール送信に代替アクションを使う方法」ではできませんでした。
MVCが綺麗に分離するので「美しい(笑)!」んですが、
・ビュー(sendSuccess.php等)をJISで書いても、
・sendActionの中でsfMailの代わりに上記mbMailをインスタンスしても、
文字化けしました(T_T)

なぜなら、「メール送信に代替アクションを使う方法」で使用されるsfMailViewクラス内で sfMailオブジェクト作成し、そこから本文(body)部分をセットしてますから。。
つまり、iso-2022-jpでかつ、mailer.ymlによるMVC分離を行うのであれば独自のMailViewクラスを作らなくてはなりません。

めんどくさいですね。というわけで、プラグイン作ったんですというお話です。
詳細は http://develop.ddo.jp/new-tech/php/framework/symfony/plugin/jpmailplugin からどうぞ。

あと、メールテンプレート用のアクションを利用するときは
ブラウザなどで直接呼び出されないようにする工夫を忘れずに。
その点についてもプラグインのページの最後に書いてますので合わせてどうぞ。