前回は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を使った方がよさそう。