ローカルのテスト環境でもフォームが使えたらなーと思って、XAMPPで設定をしてみました。
結構簡単にできたので、XAMPPでメール送信を可能にするための手順を紹介したいと思います。
php.iniの設定
まずは、C:\xampp\php配下にあるphp.iniをテキストエディタで開きます。
以下の部分を探して、先頭のセミコロンを削除します。
sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"
そのすぐ下にある、以下の行の先頭にセミコロンをつけて、コメントアウトします。
sendmail_path="C:\xampp\mailtodisk\mailtodisk.exe"
以下のようになればOKです。
sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"
;sendmail_path="C:\xampp\mailtodisk\mailtodisk.exe"
php.iniの編集はこれで完了です。
sendmail.iniの設定
※今回はYahooメールで設定してみました。よくGmailで設定する方法が紹介されていますが、Gmailでは外部からのアクセスに制限がかかっていて、アカウントの設定を変更しないとメール送信することができません。Gmailを使う方法については後述します。
C:\xampp\sendmail配下にあるsendmail.iniをテキストエディタで開きます。
「smtp_server」を探して、以下のようにSMTPサーバーを入力します。
smtp_server=smtp.mail.yahoo.co.jp
続いて「smtp_port」を587にします。
smtp_port=587
「auth_username」と「auth_password」にYahooアカウントのユーザー名・パスワードを設定します。
auth_username=yourusername
auth_password=yourpassword
「force_sender」にYahooのメールアドレスを入れます。
force_sender=youraccount@yahoo.co.jp
最終的に以下のようになっていればOKです。
smtp_server=smtp.mail.yahoo.co.jp
smtp_port=587
auth_username=yourusername
auth_password=yourpassword
force_sender=youraccount@yahoo.co.jp
ここまでできたら、設定は完了です。最後にApacheを再起動します。
Gmailを使う場合
Gmailを使ってメールを送信する場合は、sendmail.iniで以下のように設定します。
smtp_server=smtp.gmail.com
smtp_port=587
auth_username=youraccount@gmail.com
auth_password=yourpassword
force_sender=youraccount@gmail.com
加えて、Googleアカウントの設定で「安全性の低いアプリのアクセス」を許可する必要があります。設定については、「安全性の低いアプリとGoogleアカウント」をご参照ください。
安全性の低いアプリのアクセスを許可すると、アカウントのセキュリティが低下しますので、設定する際は十分に検討しましょう。
あとがき
実際に設定してみると、意外にアッサリとメール送信できちゃいます。
ローカル環境でメール送信のテストも行いたい場合はぜひ参考にしていただければと思います。