cakePHPをつかってメールを送る

cakePHPにはコンポーネントとしてE-Mail機能が内蔵されてます。
このEmailComponentをつかうと簡単にメール送信処理が実装できます。ベンリー!
今回はこのEmailComponentの機能を使ってメールを送る方法を書いておきます。

使い方はとても簡単。

◆EmailComponentの追加
ControllerのcomponentsにEmailを追加します。
今回はPagesControllerに記述してみます。

class PagesController extends AppController {
	var $name = "Pages";
	var $components = array('Email');
}

◆メール送信処理の実装
実装部分はfunctionに記述します。
基本的な記述方法は以下の通り。

public function send_mail(){
	//Charset
	$this->Email->charset = 'utf-8';

	//toメールアドレス
	$this->Email->to = 'to@zolesystem.info';

	//Fromメールアドレス
	$this->Email->from = 'from@zolesystem.info';

	//CC宛先(不要な場合はコメントアウト)
	//$this->Email->cc = array('日本語CC宛先'.'example3@exmaple.com');

	//BCC宛先(不要な場合はコメントアウト)
	//$this->Email->bcc = array('日本語BCC宛先'.'example4@exmaple.com');

	//メールタイトル
	$this->Email->subject = "【cakePHPテスト】メールタイトル";

	//メール本文
	$message = 
		"メールテスト:本文¥n"
		."このメールはcakePHPを利用して送信しています。";

	$this->Email->_lineLength = 40;

	//送信
	$this->Email->send($message);
	exit;
}

最後がexitで終わっていますが、exitを記述しなければそのまま処理を続行させることができます。
例えば処理結果を出力したり、注文完了通知の送信や、ユーザー登録、パスワード通知などいろいろとできますね。

◆HTMLメールを送信する
htmlメールは


//HTMLメールとして送信する。
$this->Email->sendAs='html';

を追加するだけです。

◆Layoutファイル&Viewファイルを使って送信する
Layoutファイル&Viewファイルを使って送信する場合は送信部分に引数を設定します。


//Layoutファイル /app/views/layouts/email/html/def_layout.ctp
//Viewファイル /app/views/elements/email/html/def_view.ctp
$this->Email->send($message, 'def_view', 'def_layout');

これだけです。
簡単ですね。
LayoutとViewを駆使してhtmlメールも簡単に、スタイリッシュに送信しちゃいましょう。

  1. コメント 0

  1. 2013 06/26
    トラックバック先:E-Mail機能 | Web memo
  2. 2013 06/30
    トラックバック先:メール送信 | Web memo

return top