環境
- CakePHP4.2.6
- PHP7.4.16
- Mailer
はじめに
CakePHP4 の公式ドキュメントに記載している Mailer を使用してテンプレートメール機能を実装したい。
目次
#1. やったこと
公式ドキュメントを参考に Mailer でメール機能を実装。
$mailer = new Mailer();
$mailer = $mailer
->setEmailFormat('html')
->setTo('bob@example.com')
->setFrom('app@domain.com')
->viewBuilder()
->setTemplate('welcome')
->setLayout('fancy');
$mailer->deliver();
公式通りに記述しているのに以下のようなエラーを吐いた。
Call to undefined method Cake\View\ViewBuilder::deliver()
なんでやねん!
#2. 解決方法
エラー文で色々調べてみたりしたけど一向に出てこない。
そのため CakePHP4 Mailer で調べたら以下のように記述してあったため、試したところ、無事にいけた!
$mailer = new Mailer();
$mailer ->setEmailFormat('html')
->setTo('bob@example.com')
->setFrom('app@domain.com')
->viewBuilder()
->setTemplate('welcome')
->setLayout('fancy');
$mailer->deliver();
#3. 参考文献