2015年12月1日火曜日

CakePHP 3で、テンプレートを利用したメール送信

CakePHP 3で、テンプレートを利用したメール送信です。HTMLメールを送信する例。

src/Controller/PagesController.php
$email = new Email();
$email->template('welcome', 'fancy')
    ->emailFormat('html')
    ->to('to@example.com')
    ->from('from@example.com')
    ->subject('歓迎です')
    ->viewVars(['value' => $value])
    ->send();
src/Template/Layout/Email/html/fancy.ctp(レイアウト)
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
  <title><?= $this->fetch('title') ?></title>
</head>
<body>
  <?= $this->fetch('content') ?>
</body>
</html>
src/Template/Email/html/welcome.ctp
<?php
$this->assign('title', 'ようこそ');
?>

これが値「<b><?= $value ?></b>」です。

実際に設定してみたサイトがこちら

参考サイト
Email (CakePHP Cookbook 3.x documentation)

0 件のコメント:

コメントを投稿