表示・確認・修正までできたら、自分のメールアドレスを使って送信を試します。ローカル環境でも「送信する」を押すと実際にメールが送られます。
このページのゴール 運営者への通知と、入力者への自動返信の2通を、自分で受信確認できること。
1. メールアドレスの役割を決める
| 役割 | 設定する場所 | 何に使う? |
|---|---|---|
| 送信用アカウント | mail → smtp |
メールサーバーへ接続するためのアカウント |
| 送信元(From) | mail → from |
届いたメールの「差出人」 |
| 運営者の受信先(To) | mail → to |
お問い合わせ内容を受け取る宛先 |
| 入力者のアドレス | フォームのメール欄 | 自動返信を受け取る宛先 |
SMTP(エスエムティーピー)は、サーバーからメールを送るための仕組みです。Gmailを使う場合、送信用アカウントと送信元は基本的に同じGmailアドレスにします。
運営者に届く通知の返信先(Reply-To)には、フォームに入力したメールアドレスが入ります。返信先と送信元は別の役割です。
テストでは全て自分が管理するアドレスを使えます。運営者の受信先と入力者のアドレスを別にできると、2通を区別しやすくなります。
2. 送信に使うアカウントを準備する
Gmailの場合は、先にGmailの設定の手順1・2で、2段階認証とアプリパスワードを用意します。普段のGoogleログインパスワードは使用しません。
独自ドメインのメールなどを使う場合は、メールサービスの公式案内でSMTPサーバー名、ポート、暗号化方式、ユーザー名、パスワードを確認します。Gmailの接続値をそのまま流用しないでください。
3. config.phpを開く
VS Codeの左側で、作業中のフォームフォルダから次の順に開きます。
form → php → config → config.php
編集前にバックアップを作ります。認証情報を含むコピーは
htdocs の外など、Webから表示できない場所に保管してください。
ファイル全体を置き換えず、既存の設定の値だけを変更します。 次はGmailを使う場合の、設定内の一部分です。
'smtp' => [
'host' => 'smtp.gmail.com',
'port' => 587,
'username' => '自分のGmailアドレス',
'password' => 'Googleで作成したアプリパスワード',
'encryption' => 'tls',
],
続いて from の email に同じ送信元アドレス、to の
email に通知を受け取るアドレスを入れます。各
name は日本語の表示名に変えられます。use_smtp は
true のままにします。
編集のポイント
' 'の中身を変更し、引用符・カンマ・角括弧は残します。引用符を全角にしないでください。例に書かれた日本語やexample.comのアドレスは、実際に使えるアカウントへ置き換えます。
WindowsはCtrl + S、MacはCommand + Sで保存します。通常、PHPの設定ファイルを保存しただけならApacheの再起動は不要です。
4. 1件だけ送信する
index-contact.phpの入力画面をlocalhostのURLで開き直します。- 架空の名前・テスト用の件名と本文を入力します。
- メール欄には、自分が受信できるアドレスを入れます。
- 確認画面で入力内容を確認し、「送信する」を1回押します。
- 画面が切り替わるまで待ちます。
5. 画面と2通のメールを確認する
- 完了画面、または自動返信に関する案内を確認する。
to.emailの受信箱で運営者への通知を見る。- 入力したアドレスの受信箱で自動返信を見る。
- 件名・名前・本文の日本語が正しく表示されるか確認する。
- 運営者通知の「返信」を開き、入力者のアドレスが宛先になるか確認する。送信は不要です。
管理者への通知が成功しても、自動返信だけ失敗することがあります。完了画面だけで判断せず、両方の受信箱を確認します。アンケートでメール欄を空にした場合は自動返信を送りません。
届かないとき
迷惑メールフォルダ、設定した受信先、入力したアドレスを順に確認してください。Gmailの認証エラーはGmail設定のよくあるエラー、送信画面のエラーは送信・操作のトラブルへ進みます。
ここまでできたらOK 2通のメールを受信できたら、基本の設置は成功です。次は自分のサイトへ組み込むに進めます。公開サーバーに移した後も、そこで改めて送信を確認します。