CakePHP1.X系の時にはqdmail一択だったけど、CakePHP2.0では色々触ってみようと思う。
CakePHP2.0でメール送信機能を実装する場合、以下の選択肢があるようだ。
- CakeEmailを利用
- EmailComponentを利用
今回はCakeEmailを利用して、メール送信を実装してみた。
1.app/Config/email.phpの設定
こんな感じで。
public $inquiry = array( 'transport' => 'Mail' , 'from' => array ('メール送信元' => 'SiteName' ),//メール送信元<SiteName>となる 'to' => array('メール送信先' => 'SiteName'),//メール送信先<SiteName>となる 'subject' => 'テスト送信' , 'sendAs' => 'text' , 'template' => 'templalteFileName' , //テン/view/Emails/text/templateFileName.ctpを見に行く );
2.Contoller側の設定
CakeEmailを呼び出して、configを設定してsend()する
App:: uses('CakeEmail', 'Network/Email'); $email = new CakeEmail(); $email->config('inquiry'); $sent = $email->send(); if ($sent) { echo 'メール送信成功!' ; } else { echo 'メール送信失敗' ; }
これだけ。かなり簡単だった。
今まで、メール情報を設定するファイルを各自で作っていたり、Controllerに直書きしたりしていたものが、一定のルールで管理できそうなのはいいことだ。