CakePHP2でのメール送信(CakeEmailを使ってみる)

CakePHP1.X系の時にはqdmail一択だったけど、CakePHP2.0では色々触ってみようと思う。

CakePHP2.0でメール送信機能を実装する場合、以下の選択肢があるようだ。

  1. CakeEmailを利用
  2. 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に直書きしたりしていたものが、一定のルールで管理できそうなのはいいことだ。