【XAMPP】ローカル開発環境でメール送信をできる様にする
今回はローカル開発環境を構築するためのソフトウェアである『XAMPP』において、メール送信をできる様にする方法を解説してゆきます。
▼この記事を書いたひと
フリーランスみやしも(@miyashimo_blog)です。プログラミングやWebサイト制作に関するITの情報を幅広くお届けしていきます。
XAMPPでメール送信を出来る様にする方法
PHPを使用したプログラミング作業を進めて行くと、ローカル開発環境でメール送信をできる様にしたいといった場面があると思います。
ローカル開発環境の構築においては『XAMPP(ザンプ)』の利用が一般的ですが、デフォルトの状態ではメール送信に関する設定はされていないため、仮にこの状態でメール送信のプログラムを実行してもエラーとなってしまいます。
そこで今回はこの様な状態を解消するため、XAMPPでメール送信をできる様にするための設定方法について詳しく解説を行います。
▼こんな用途に役に立ちます
- XAMPPで作成したローカル開発環境でWordpressサイトを作りたい
- XAMPPで作成したローカル開発環境でPHPプログラムの開発がしたい
(Laravel・CakePHPなどのフレームワークも含む)
ローカル開発環境の導入方法
今回紹介する内容は、ローカル開発環境を構築するためのソフトである『XAMPP(ザンプ)』の利用が前提となります。
▼XAMPPを単体で利用する
▼PHPのプログラミング環境をまとめて導入する
今回の作業内容について
まずは今回の作業の全体像について、簡単に解説をしてゆきます。
編集する設定ファイル
XAMPPでメール送信をできる様にするために、今回は以下ツールの設定ファイルを編集してゆきます。
▼今回編集する設定ファイル
- PHP:php.ini
- sendmail:sendmail.ini
ひとつめはプログラミング言語である『PHP』、ふたつめはサーバーにおいてメール送受信を扱うためのツールである『sendmail』の設定ファイルをそれぞれ扱います。
いずれもXAMPPにあらかじめ含まれているツールとなりますので、新たに何かをインストールするといった作業はなく、あくまで設定ファイルを修正する作業のみを行います。
また今回は、XAMPPのデフォルトのインストール場所である以下のフォルダを前提に解説をすすめてゆきます。
メール送信に必要なもの
今回の作業でXAMPPでメール送信を出来る様にするには、以下の2つの準備が必要となります。
▼今回の作業で必要なもの
- メールアドレス
- 送信サーバー(SMTP)の情報
メールアドレス
まず必要となるのが、ローカル開発環境からメール送信に使うための、送信用の『メールアドレス』です。
Gmailなど普段から利用しているメールアドレスを作業に用いることもできますが、設定ファイルに直接パスワードを記入する必要があるため、できればメール送信やテストなどを用途にした専用のメールアドレスを用意することが望ましいです。
送信サーバー(SMTP)の情報
ふたつめは、使用するメールアドレスの『送信サーバー(SMTP)の情報』で、具体的には以下の内容となります。
▼送信サーバー(SMTP)の情報
- 送信サーバーのホスト
- 送信サーバーのポート番号
- メールサーバーのユーザー名
- メールサーバーのパスワード
SMTPとはメール送信における通信のしくみ(プロトコル)のことを言い、一般的にもメールソフトを利用する際に必要な設定情報となります。
STEP1. PHPの設定ファイルを編集する
それでは今回の作業について解説を行います。まずは、PHPの設定ファイルである『php.ini』をテキストエディタを使って編集してゆきます。
設定ファイルの場所
PHPの設定ファイルは次の場所にあります。
ファイルを見つけたらテキストエディタで開きましょう。
設定ファイルの修正内容
PHPの設定ファイルを開いたら次の内容を修正します。
▼設定ファイルで修正する内容
- sendmail_path:sendmailの実行ファイルのパス
PHPの設定ファイルを修正すると次のようになります。
▼設定ファイルの修正例
[mail function]
SMTP = localhost
smtp_port = 25
sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"
mail.add_x_header = Off
※設定ファイル内のコメント行(先頭にセミコロンがある行)は除外しています。作業環境の設定ファイルを見比べる際にはご注意くださいませ。
PHPの設定ファイルの編集が終わったら最後に保存しましょう。
STEP2. sendmailの設定ファイルを編集する
つづけてsendmailの設定ファイルを編集します。
設定ファイルの場所
sendmailの設定ファイルは次の場所にあります。
ファイルを見つけたら、テキストエディタなどで開きましょう。
設定ファイルの修正内容
sendmailの設定ファイルを開いたら次の内容を修正します。
▼設定ファイルで修正する内容
- smtp_server:メールサーバーのホスト
- smtp_port:メールサーバーのポート番号
- smtp_ssl:使用する暗号化プロトコル
- auth_username:メールサーバーのユーザー名
- auth_password:メールサーバーのパスワード
- force_sender:メールの送信者に設定するアドレス
sendmailの設定ファイルを修正すると次のようになります。
▼設定ファイルの修正例
[sendmail]
smtp_server=smtp.example.com
smtp_port=465
smtp_ssl=auto
auth_username=hogehoge@example.com
auth_password=hogehoge
force_sender=hogehoge@example.com
※設定ファイル内のコメント行(先頭にセミコロンがある行)は除外しています。作業環境の設定ファイルを見比べる際にはご注意くださいませ。
sendmailの設定ファイルの編集が終わったら最後に保存しましょう。
STEP3. Apacheを再起動させる
PHP・sendmailの設定ファイルの修正が終わったら最後にApacheの再起動を行います。
Apacheを再起動する方法
XAMPPのApacheを再起動するには、次の手順で操作を行います。
▼Apacheを再起動する方法
- XAMPPコントロールパネルでApacheの『Stop』ボタンを押す
- Apacheが停止した状態で『Start』ボタンを押す
以上でApache再起動の操作は完了です。
STEP4. メールが送信できるか確認する
最後にローカル開発環境から実際にメール送信が出来るかの確認をしてゆきます。
動作確認用のサンプルコード
今回は動作確認用に次のサンプルコードを用意しました。
▼サンプルコード
<?php
if(mb_send_mail('{送信先のメールアドレス}', 'メール送信テスト:タイトル', 'メール送信テスト:本文')) {
echo "送信完了";
} else {
echo "送信失敗";
}
?>
コピーしたら『mailtest.php』といった名前で保存して、PHPファイルを作成します。
プログラムを実行する
PHPファイルの準備ができたらローカル開発環境のドキュメントルート配下に設置してプログラムを実行しましょう。実行するには設置したPHPファイルに対してWEBブラウザでアクセスします。
上手くいくと、WEBブラウザで次のような結果が確認できると思います。
またサンプルコードに記述した『送信先のメールアドレス』には、次のような内容のメールが送られてきます。
設置したPHPのサンプルプログラムのメール件名・メール本文が送信されるメールの内容に反映されている事がわかります。
メール送信が上手くゆかない時は
プログラムの実行結果において『送信失敗』が表示される、もしくはPHPのエラーログが出た時など、ローカル開発環境でメール送信が上手くゆかない場合は次の内容をチェックしてみましょう。
▼チェックすべきこと
- PHP・sendmailの設定に誤りがないか目視で確認する
- sendmailの設定で『force_sender』が指定されているか確認する
- Apacheを再起動して再度プログラムを実行する
- ログファイルを参照して原因を探ってみる
【PHP】C:\xampp\php\logs\php_error_log
【sendmail】C:\xampp\sendmail\error.log
XAMPPのおすすめ記事まとめ
このほかXAMPPの利用で役立つおすすめの記事をまとめて紹介します。
インストール・基本的な使い方
XAMPPのインストール方法や基本的な使い方については次の記事から確認できます。
XAMPPカスタマイズの関連情報
XAMPPにおけるカスタマイズ関連の情報については次の記事から確認できます。
この記事のまとめ
今回はローカル開発環境を構築するためのソフトウェアである『XAMPP』において、メール送信をできる様にする方法を詳しく解説してきました。
▼XAMPPでメール送信をできる様にする方法
- PHP・sendmailの設定ファイルを修正する
- Apacheの再起動を行う
- メール送信ができるかを確認する
XAMPPのインストール方法や使い方について
今回使用した『XAMPP』のインストール方法や使い方について、次の記事で学習することが出来ます。
▼XAMPPのインストール方法や初歩的な使い方について
PHPのプログラミング環境をまとめて導入する
XAMPPを含めたPHPのプログラミング環境をまとめて導入したいといった方には、次の記事が参考になります。
▼PHPのローカル開発環境を構築する方法