Lambda/components/Mail.php
テンプレートに対応した、メール送信をサポートします。
Mail コンポーネントを利用すると、以下のようなテンプレートでメールを送信することが可能です。
登録完了のお知らせ
<?php echo $name ?>様
この度は、ご登録いただきまして誠にありがとうございます。
下記内容にて、ご登録を受付いたしました。
氏名: <?php echo $name ?>
年齢: <?php echo $age ?>歳
性別: <?php echo $gender ?>
<?php echo $name ?>様
この度は、ご登録いただきまして誠にありがとうございます。
下記内容にて、ご登録を受付いたしました。
氏名: <?php echo $name ?>
年齢: <?php echo $age ?>歳
性別: <?php echo $gender ?>
[記述ルール]
一行目: 件名
二行目: 空行(改行のみの行)
三行目以降: 本文
では、詳しい使い方を説明していきます。
まず最初に、Mail::setTemplateDir メソッドで、テンプレートを探索するディレクトリを指定します。
Mail::setTemplateDir('/Lambda/mailtemplates');
※ このメソッドを呼ばない場合、暗黙のうちに Mail.php が置かれているディレクトリが設定されます。
lmd では、Lambda.init.php 内で、Mail::setTemplateDir メソッドを呼んでいます。
これ以降、テンプレートを探索するディレクトリに「/Lambda/mailtemplates」が指定されたものとして説明していきます。
Mail::setTemplate('thanks'); // 拡張子 .php は不要
Mail::setParams(array(
'name' => '山田',
'age' => 27,
'gender' => '男性',
));
Mail::send('to@example.com', 'from@example.com');
Mail::setParams(array(
'name' => '山田',
'age' => 27,
'gender' => '男性',
));
Mail::send('to@example.com', 'from@example.com');
- /Lambda/mailtemplates/thanks.php をテンプレートとして利用します。
- パラメーターをセットします。
- メールを送信します。
先の内容のテンプレートの場合、次のように展開されます。
登録完了のお知らせ
山田様
この度は、ご登録いただきまして誠にありがとうございます。
下記内容にて、ご登録を受付いたしました。
氏名: 山田
年齢: 25歳
性別: 男性
山田様
この度は、ご登録いただきまして誠にありがとうございます。
下記内容にて、ご登録を受付いたしました。
氏名: 山田
年齢: 25歳
性別: 男性
メール送信メソッド Mail::send の説明
Mail::send($to_addr, $from_addr [, $encoding, $header, $bounce_to]);
$to_addr (必須)
送信先のメールアドレス
$from_addr (必須)
送信元のメールアドレス
$encoding (任意)
テンプレートの文字エンコーディングを指定します。デフォルトは「utf-8」です。「utf-8」以外で利用する場合は「euc-jp」と「sjis」が指定できます。
$header (任意)
追加したいメールヘッダーを指定します。
※ 末尾は「\r\n」で終わらせます。ただし、最終行の末尾に「\r\n」は不要。
$header = 'X-Mailer: Hoge Fuga Mailer'."\r\n";
$header .= 'X-Priority: 3'."\r\n";
$header .= 'X-Status: 250 OK';
$header .= 'X-Priority: 3'."\r\n";
$header .= 'X-Status: 250 OK';
$bounce_to (任意)
バウンスメール(不達メール)の送信先メールアドレスを指定します。
(PHP が safe_mode で動作している一般的なレンタルサーバーでは、指定しても無視される場合があります)
次ページ: Device コンポーネント