前回の記事でメール用のビューを管理する方法を書きましたが、
今回はビューを使用してメール本文を作成する方法です。

前提として

  • メール用のレイアウト名は /app/views/layouts/email.thtml で管理
  • メール本文に使用するビューは /app/views/email/hoge.thtml

だとすると
ob_start();
$this->render(null, 'email', '/path/to/app/views/email/hoge.thtml');
$body = ob_get_clean();
という感じで、$body に本文が入ります。

ちなみにレイアウトを指定しないと default.thtml が使用されHTMLタグが入ってしまいます。

emial.thtml

ここにメールの共通ヘッダなどなど

<?php echo $content_for_layout; ?>

-----------------------------------
ここに署名などなど
-----------------------------------

としておけば、HTMLタグも入らずに署名やヘッダなども読み込めてよいかと思います。

関連する投稿