【XAMPP】ローカル開発環境でメール送信をできる様にする

みやしも ローカル開発環境

今回はローカル開発環境を構築するためのソフトウェアである『XAMPP』において、メール送信をできる様にする方法を解説してゆきます。

XAMPPに含まれるPHP・sendmailを使用した作業内容となります。

▼この記事を書いたひと

フリーランスのみやしも(@miyashimo_eng)です。プログラミングやWEB制作に関するIT情報を、幅広くお届けしてゆきます。

XAMPPでメール送信を出来る様にする方法

PHPを使用したプログラミング作業を進めて行くと、ローカル開発環境でメール送信をできる様にしたいといった場面があると思います。



ローカル開発環境の構築においては『XAMPP(ザンプ)』の利用が一般的ですが、デフォルトの状態ではメール送信に関する設定はされていないため、仮にこの状態でメール送信のプログラムを実行してもエラーとなってしまいます。



そこで今回はこの様な状態を解消するため、XAMPPでメール送信をできる様にするための設定方法について詳しく解説を行います。



▼こんな用途に役に立ちます

  • XAMPPで作成したローカル開発環境でWordpressサイトを作りたい
  • XAMPPで作成したローカル開発環境でPHPプログラムの開発がしたい
    (Laravel・CakePHPなどのフレームワークも含む)
結果として、XAMPP上に作成したローカル開発環境においてメール送信に関するプログラムの動作確認やテストができる様になります。

ローカル開発環境の導入方法

今回紹介する内容は、ローカル開発環境を構築するためのソフトである『XAMPP(ザンプ)』の利用が前提となります。


▼XAMPPを単体で利用する

▼PHPのプログラミング環境をまとめて導入する

今回の作業内容について

まずは今回の作業の全体像について、簡単に解説をしてゆきます。

編集する設定ファイル

XAMPPでメール送信をできる様にするために、今回は以下ツールの設定ファイルを編集してゆきます。



▼今回編集する設定ファイル

  1. PHP:php.ini
  2. sendmail:sendmail.ini



ひとつめはプログラミング言語である『PHP』、ふたつめはサーバーにおいてメール送受信を扱うためのツールである『sendmail』の設定ファイルをそれぞれ扱います。



いずれもXAMPPにあらかじめ含まれているツールとなりますので、新たに何かをインストールするといった作業はなく、あくまで設定ファイルを修正する作業のみを行います。



また今回は、XAMPPのデフォルトのインストール場所である以下のフォルダを前提に解説をすすめてゆきます。

▼XAMPPのインストール場所
『C:\xampp\』

メール送信に必要なもの

今回の作業でXAMPPでメール送信を出来る様にするには、以下の2つの準備が必要となります。



▼今回の作業で必要なもの

  1. メールアドレス
  2. 送信サーバー(SMTP)の情報

メールアドレス

まず必要となるのが、ローカル開発環境からメール送信に使うための、送信用の『メールアドレス』です。



Gmailなど普段から利用しているメールアドレスを作業に用いることもできますが、設定ファイルに直接パスワードを記入する必要があるため、できればメール送信やテストなどを用途にした専用のメールアドレスを用意することが望ましいです。

送信サーバー(SMTP)の情報

ふたつめは、使用するメールアドレスの『送信サーバー(SMTP)の情報』で、具体的には以下の内容となります。



▼送信サーバー(SMTP)の情報

  • 送信サーバーのホスト
  • 送信サーバーのポート番号
  • メールサーバーのユーザー名
  • メールサーバーのパスワード



SMTPとはメール送信における通信のしくみ(プロトコル)のことを言い、一般的にもメールソフトを利用する際に必要な設定情報となります。

送信サーバー(SMTP)の情報は、メールアドレスを作成したWEBサービスやレンタルサーバーで調べることが可能です。

STEP1. PHPの設定ファイルを編集する

それでは今回の作業について解説を行います。まずは、PHPの設定ファイルである『php.ini』をテキストエディタを使って編集してゆきます。

設定ファイルの場所

PHPの設定ファイルは次の場所にあります。

▼PHPの設定ファイルの場所
C:\xampp\php\php.ini
※作業前には必ずバックアップを取る様にしましょう

ファイルを見つけたらテキストエディタで開きましょう。

設定ファイルの修正内容

PHPの設定ファイルを開いたら次の内容を修正します。



▼設定ファイルで修正する内容

  • sendmail_path:sendmailの実行ファイルのパス
『mail function』と検索すると該当する設定カ所にたどり着くことができます。

PHPの設定ファイルを修正すると次のようになります。



▼設定ファイルの修正例

[mail function]
SMTP = localhost
smtp_port = 25
sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"
mail.add_x_header = Off

※設定ファイル内のコメント行(先頭にセミコロンがある行)は除外しています。作業環境の設定ファイルを見比べる際にはご注意くださいませ。

ここでは、PHPからsendmailが使用できる様にパスを設定します。XAMPPのインストールフォルダが同じなら上記のコピペで利用が出来る内容です。

PHPの設定ファイルの編集が終わったら最後に保存しましょう。

STEP2. sendmailの設定ファイルを編集する

つづけてsendmailの設定ファイルを編集します。

設定ファイルの場所

sendmailの設定ファイルは次の場所にあります。

▼sendmailの設定ファイルの場所
C:\xampp\sendmail\sendmail.ini
※作業前には必ずバックアップを取る様にしましょう

ファイルを見つけたら、テキストエディタなどで開きましょう。

設定ファイルの修正内容

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

※設定ファイル内のコメント行(先頭にセミコロンがある行)は除外しています。作業環境の設定ファイルを見比べる際にはご注意くださいませ。

冒頭にも少し触れたように、ここではXAMPP上でメール送信に使用する『メールアドレス』と、そのメールアドレスの『送信サーバー(SMTP)の情報』を使用して設定を行います。

sendmailの設定ファイルの編集が終わったら最後に保存しましょう。

以上でXAMPPにおける設定ファイル修正作業は完了です。

STEP3. Apacheを再起動させる

PHP・sendmailの設定ファイルの修正が終わったら最後にApacheの再起動を行います。

Apacheを再起動する方法

XAMPPのApacheを再起動するには、次の手順で操作を行います。



▼Apacheを再起動する方法

  1. XAMPPコントロールパネルでApacheの『Stop』ボタンを押す
  2. Apacheが停止した状態で『Start』ボタンを押す
Apacheを再起動する方法①
Apacheを再起動する方法①
Apacheを再起動する方法②
Apacheを再起動する方法②

以上で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でメール送信をできる様にする方法

  1. PHP・sendmailの設定ファイルを修正する
  2. Apacheの再起動を行う
  3. メール送信ができるかを確認する
スムーズかつ効率的にプログラミングができる環境を整えてゆきましょう。

XAMPPのインストール方法や使い方について

今回使用した『XAMPP』のインストール方法や使い方について、次の記事で学習することが出来ます。



▼XAMPPのインストール方法や初歩的な使い方について

PHPのプログラミング環境をまとめて導入する

XAMPPを含めたPHPのプログラミング環境をまとめて導入したいといった方には、次の記事が参考になります。



▼PHPのローカル開発環境を構築する方法

『eclipse』+『XAMPP』の組み合わせによる本格的なPHPのプログラミング環境を構築することが出来るため、これからPHPの学習を始めようと考えている方におススメな内容です。

関連記事

最新記事