始めに
このページは、PHPのフレームワーク「FuelPHP」の学習中の僕がメモとして残しているものです。内容に間違いがあればご連絡いただけると幸いです。
FuelPHPでメール送信機能を実装するには標準で同梱されている「Emailパッケージ」を使うと、簡単に作れます。
この記事では、Emailパッケージを使うために必要な設定や使い方を解説しています。
Emailパッケージを使うための準備
Authパッケージを使うには、「fuel/app/config」の中にある「config.php」に以下のように修正します。
'packages' => array(
'orm',
'auth',
'email', //追加
),
メール送信処理の書き方
FuelPHPのEmailパッケージを使って、メール送信機能を実装するには、次のように書きます。
$email = Email::instance();
//送信準備
$email->from('from@gmail.com', 'NAOYA ONO'); //送信者のアドレス
$email->to('to@gmail.com', 'TARO OSAKA'); //送信先のアドレス
$email->subject('打ち合わせの日程について'); //表題
$email->body('打ち合わせの日程が決まりましたので、ご連絡いたします。'); //本文
//送信処理
try {
$email->send();
}
catch (\EmailValidationFailedException $e) {
//バリデーションエラーの処理
$err_msg = '送信に失敗しました。';
}
catch (\EmailSendingFailedException $e) {
//送信に失敗した時の処理
$err_msg = '送信に失敗しました。';
}
複数名にメールを送信したい場合は、次の上記の$email->toのところを次のように書きます。
$email->to(
array(
'to1@gmail.com' => '送信先1の名前',
'to2@gmail.com' => '送信先2の名前'
)
)
配列の第二引数はオプションなので、なくても送信できます。
名前を指定したい場合は書きましょう。
文字化け対策
UTF-8で日本語のメールを送信すると環境によって文字化けすることがあります。
それを防ぐためにはJISでエンコードするといいです。
やり方は、「/fuel/packages/email/config/email.php」をコピーし「/fuel/app/config/」のディレクトリにペーストして新規作成します。
そして、作成した「/fuel/app/config/email.php」を開いて下記のように編集します。
'setups' => array(
'default' => array(),
//追加 ここから
'jis' => array(
'charset' => 'ISO-2022-JP',
'encoding' => '7bit',
)
//追加 ここまで
),
FuelPHPのオススメ書籍
created by Rinker
¥1,597
(2024/11/21 16:45:51時点 Amazon調べ-詳細)
(2024/11/21 16:45:51時点 Amazon調べ-詳細)