CakePHP2.x CakeEmailでメール送信

ここではCakePHP2.xでCakeEmailを使いメールの送信をします。

cakephp

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

コメントを残す

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

*