【FuelPHPの使い方】メール送信機能の実装方法

始めに

このページは、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
¥4,750 (2022/12/06 06:33:35時点 Amazon調べ-詳細)

コメントを残す

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

CAPTCHA