ここではCakePHP2.xでCakeEmailを使いメールの送信をします。
email.phpの設定
/app/Config/email.php
<?php class EmailConfig { public $default = array( 'transport' => 'Mail', 'from' => 'info@example.com', 'emailFormat' => 'text', ); }
text形式で送信する単純な設定ファイルです。
Layoutファイル作成
/app/View/Layouts/Emails/text/layout.ctp
ヘッダ文章 <?php echo $content_for_layout; ?> フッダ文章
Layout内でのView読み込みはいつもどおり$content_for_layoutで読み込めます。
Viewファイル作成
/app/View/Emails/text/tmp.ctp
●お名前:<?php echo $name; ?> 様 ●フリガナ:<?php echo $furigana; ?> 様
この例では「様」があるので自動的に改行されますが、行の最後に変数が来る場合は自動的に改行されません。
●お名前:<?php echo $name . "\n"; ?> ●フリガナ:<?php echo $furigana . "\n"; ?>
このように改行を入れてください。
※シングルクォーテーションでは改行されません、ダブルクォーテーションを使用してください。
コントローラー内の記述
読み込み
App::uses('CakeEmail', 'Network/Email');
送信
// /app/Config/email.phpの設定読み込み $email = new CakeEmail('default'); // テンプレートに渡す変数 $arrVal = array ( 'name' => '名前', 'furigana' => 'フリガナ', ); // 送信 $email->template('tmp', 'layout') ->viewVars($arrVal) ->to('to@example.com') ->subject('件名') ->send();
解説
$email->template(‘tmp’, ‘layout’); (11行目)
第一引数に読み込むViewファイル、第二引数に読み込むLayoutファイルを指定します。
$email->viewVars($arrVal); (12行目)
Viewファイルに変数を設定します。
$email->to(‘to@example.com’); (13行目)
メールを送信する宛先です。
$email->subject(‘件名’); (14行目)
件名の設定です。
$email->send(); (15行目)
メールの送信です。
最後にCakePHP2.x CakeEmailの公式ドキュメントです。
http://book.cakephp.org/2.0/en/core-utility-libraries/email.html