CakePHP3 メールの送信方法

CakePHP3でメールの送信方法を書いていきたいと思います。これがまたハマりました(笑)

色んな方法でやろうとしたがうまくいかず、行き着いたのが下記です。

 

関数の呼び出し

 

$to:宛先
$subject:件名
$body:本文
$fromname:差出人名称
$from:差出人

それぞれ設定してください。

関数の定義

$email = new Email(‘default’);

上記の、オブジェクト生成時に、config/app.php ファイルのEmailTransportを読みにいくので、

引数をdefaultで渡してあげると。トランスポートの設定した内容が取得できます。

var_dump($email);

中身を表示すると設定の内容が確認できるはずです。

トランスポートの設定

******のところは、各自設定をしてください。

‘host’ => smpt.*******

※上記、注意!!!!

[smtp.*****]をちゃんと指定しないとメールが送られない。

‘host’ => *******

smtp.を書かないとメールが送られなくてハマった、メールサーバによって異なるらしい。

あるメールサーバでは出来て、あるメールサーバでは出来ないことがある。

結論、hostの設定は[smtp.******]と書いた方が確実。

 

参考CakePHP

 

これで、ようやくメールが送信出来るようになりました。CakePHP3は情報があまりないし、

前に出来ていたことが、出来なくなっていて、やり方が変更されていることがあるので、厄介です(笑)
 

投稿者: samancha