本記事では、CakePHP4を利用したメール送信の設定と実装方法を記載しています。
基本的には、CakePHP3と同様の設定で問題なく動作すると思います。
config/app_local.php
config/app_local.php に下記の設定を追記します。
ちなみに、設定ファイルは、
config/app.php
config/app_local.php
の順番で読み込まれ、後からの項目で上書きする動作となります。
設定項目は、最初から記載されているはずなので、適宜修正します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
'EmailTransport' => [ 'default' => [ 'className' => MailTransport::class, /* * The following keys are used in SMTP transports: */ 'host' => 'localhost', 'port' => 587, 'timeout' => 30, 'username' => 'hoge', 'password' => 'xxxxxxxx', 'client' => null, 'tls' => null, 'url' => env('EMAIL_TRANSPORT_DEFAULT_URL', null), ], ], |
メール送信時に例外が発生する場合には、下記の項目をコメントアウトすると動作すると思います。
1 |
// 'url' => env('EMAIL_TRANSPORT_DEFAULT_URL', null), |
メール送信処理
テンプレートを利用しないシンプルな送信であれば、下記のような実装になります。
1 2 3 4 5 6 7 8 |
$email = new Email(); $email->setProfile('default'); $email->setFrom(['xxxxx@hoge.com' => '送信者名']) ->setTo('yyyyy@fuga.com') //->setCc('CCの宛先') //->setBcc('BCCの宛先') ->setSubject('件名') ->send('本文です'); |
CakePHPでは、メール送信処理はとても簡単に実装できます。
本当に、CakePHPは便利ですね。