Cake PHP メール送信

PHP

Cake PHP メールを送信する

CakePHP 1.2.3.8166

CakePHPのメール送信コンポーネント”Email”ですが、本家のマニュアルサイト
http://book.cakephp.org/ja/view/269/Sending-a-basic-message

ではちょっとわかりにくいので補足です。

  • ひな形やEmailの中身についてのファイルを用意します。
 例 message.ctpというメールの体裁ファイルを作る
 
 レイアウトファイル→/views/layouts/email/text/message.ctp
 メールの中身のファイル→/views/elements/email/text/message.ctp
 

テキスト形式でのみメールを送信したい場合は、上記のとおりで大丈夫です。
HTML形式でもメールを送信したい場合は同じようにファイルを作ります。

 
 レイアウトファイル→/views/layouts/email/html/message.ctp
 メールの中身のファイル→/views/elements/email/html/message.ctp

もちろん、中身はHTMLにする必要がありますよ。[smile]

  • コントローラー内でEmailコンポーネントを呼び出します。
 var $components = array('Email');
  • 利用したい部分で、下記のように指定します。
 $this->Email->from = 'Somebody <test@onlineconsultant.jp>';
 $this->Email->to  = 'Somebody Else <test@onlineconsultant.jp>';
 $this->Email->subject = 'Test';
 $this->Email->template = 'message';
 $this->Email->layout = 'message';
 $this->Email->sendAs = 'text'; 
 $this->Email->send();
  • レイアウトファイル(/views/layouts/email/html/message.ctp)の中で、
 echo $content_for_layout;

としておかないと、/views/elements/email/html/message.ctpの中のPHPが反映されません。

カテゴリーPHP

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です