PHP フレームワーク「Laravel 9」でお問い合わせシステム制作
PHPフレームワーク Laravel 9 でお問い合わせシステムを制作。Laravel 9 でのメール送信方法を習得する
- PHP開発環境がない場合は「 AlmaLinux8.6, PHP8.1, MySQL8, Apache 」で LAMP 環境を構築後に実施
- Laravelのインストールは「PHP フレームワーク「Laravel 9」インストール」を参照。Laravel プロジェクトディレクトリが /var/www/laravel.sunabird.local/ に作成される。このカリキュラム内でファイル場所の明記がない場合、Laravel プロジェクトディレクトリ内のファイルを参照する
練習1 : Rooting 設定
▼ お問い合わせシステムのルーティングを追加
routes/web.php (最下部に追加)
練習1 : レイアウトテンプレート生成
共通レイアウトを定義する
▼ 共通レイアウト格納ディレクトリ layouts 作成
# mkdir resources/views/layouts
▼ 共通レイアウトテンプレートを作成
resources/views/layouts/app.blade.php (新規作成)
練習2 : Controller 生成
▼ お問い合わせシステムのコントローラーを生成する
# php artisan make:controller ContactController
Controller created successfully.
- artisan コマンドは Laravel プロジェクトディレクトリで実行
▼ 上記コマンド(php artisan make:controller ...)で生成されたコントローラーファイルを編集
app/Http/Controllers/ContactController.php
-
「自分宛メールアドレス」を設定すること
\Mail::to('自分宛メールアドレス')->send(new Contact('contact._temp_mail_me', $title, $input));
練習3 : Mailable 生成
▼ メール送信の設定変更
.env (ファイル編集)
MAIL_MAILER=sendmail
MAIL_HOST=localhost
.env 設定が反映されない(bootstrap/cache/config.php が存在する)場合、設定キャッシュをクリア
# php artisan config:cache
Configuration cache cleared!
Configuration cached successfully!
▼ Mailable 生成
# php artisan make:mail Contact
Mail created successfully.
- artisan コマンドは Laravel プロジェクトディレクトリで実行
▼ 上記コマンド(php artisan make:mail ...)で生成された Mailable ファイルを編集
app/Mail/Contact.php
練習4 : View 生成
▼ お問い合せ View ディレクトリ contact 作成
# mkdir resources/views/contact
▼ フォームページ View ファイル作成
resources/views/contact/index.blade.php (新規作成)
▼ ブラウザからアクセス(https://laravel.sunabird.local/contact)

▼ 確認ページ View ファイル作成
resources/views/contact/confirm.blade.php (新規作成)
▼ ブラウザ表示

▼ 完了ページ View ファイル作成
resources/views/contact/thanks.blade.php (新規作成)
▼ ブラウザ表示

▼ 自分宛メール本文テンプレート作成
resources/views/contact/_temp_mail_me.blade.php (新規作成)
(自分宛に送信されるメール)
件名 Laravelからのお問い合わせ
送信者 info@sunabird.local
宛先 (自分宛メールアドレス)
メール本文
Laravelサイトからお問い合わせがありました。
メールアドレス : test@sunabird.local
お問い合わせ内容 :
お問い合わせテスト
テストテストテストテスト
▼ ユーザー宛メール本文テンプレート作成
resources/views/contact/_temp_mail_you.blade.php (新規作成)
(ユーザー宛に送信されるメール)
件名 お問い合わせありがとうございました
送信者 info@sunabird.local
宛先 test@sunabird.local
メール本文
お問い合わせありがとうございました。
内容を確認し担当者よりご連絡いたします。
何卒、宜しくお願いいたします。
--
(署名)
▶ 実際に動作させメールが配信されることを確認する