このプラグインで日本語環境では一般的なJIS(iso-2022-jp)でのメール送信が簡単に行えます。 symfonyでは日本語でメールを送信することができますが、標準のsfMailクラスで日本語メール(iso-2022-jp)を送信しようとすると、毎回エンコーディングの変換処理を意識しなければなりません。そこで、標準のsfMailと同じ手順でエンコーディング処理まで行ってくれるsfMailクラスの拡張クラスであるjpMailを利用します。
このネタに関しては検索すればそこそこ情報があります。 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に変換できないというジレンマに陥ってしまいます。 但し、注意がひとつ。
いろいろ試した結果とりあえずこんな感じでおkっぽい。 <?php class jpMail extends sfMail { public function initialize() { parent::initialize(); parent::setCharset('ISO-2022-JP'); parent::setEncoding('7bit'); mb_language("Ja"); mb_internal_encoding('UTF-8'); } public function setBody ($body) { parent::setBody(mb_convert_encoding($body, "ISO-2022-JP", "UTF-8")); } public function setSubject($subject) { parent::setSubject(mb_en
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く