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

前回はCakeEmailを利用してメール送信を実装してみたので、今回はEmailComponentを利用してメール送信を実装してみる。

1.コンポーネントから呼び出す

public $components = array('Email');

2.Controller側の設定

$this-> Email-> from = '送信元' ;
$this-> Email-> to = '送信先' ;
$this-> Email-> subject = 'テスト送信';
$sent = $this-> Email->send( null ,'/view/Emails/text/以下のテンプレートを見に行く' , null);
if ($sent) {
echo 'メール送信成功!' ;
}
else {
echo 'メール送信失敗' ;
}

CakeEmailよりも簡単にできた。
ただ、EmailComponentでは、/Config/email.phpを柔軟に設定することができないらしい。。
(メール設定の切り替えは、/Controller/Components/EmailComponent.phpの175行目にある$deliveryで制御して、使える値は「mail」「smtp」「debug」としているんだけど、同じファイル336行目~343行目あたりを見た感じでは「mail」と「smtp」しか使っていない。)

サクッと実装する場合はEmailComponentを利用するのがいいのかもしれないけど、それなりの規模のサイトならCakeEmailを使った方がよさそう。