XAMPPのローカル環境からメールを送信できるように設定する方法【初心者向け】
XAMPPのローカル環境から【メールを送信】できるように設定する方法を初心者向けに解説した記事です。基礎となる、メール送受信の仕組みから解説しているので、初心者でも簡単に理解することができます。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
PHPの開発環境として使われることが多いXAMPPは、ローカル環境からメールを送信することが可能です。
今回は初心者向けに、メール送信の設定方法を紹介します。
おさらい:メール送受信の仕組み
設定方法の前に、そもそもメールが送受信できる仕組みについて知っておきましょう。
通常、下記のような順序でメールは送受信がおこなわれます。
(※Gmailを使って、Yahoo!のメールアドレスにメールを送る場合を例にしています)
- ブラウザでGmailの画面を表示
- メール作成
- メール送信
- GmailのSMTPサーバがメールを受信
- GmailのSMTPサーバがyahooのSMTPサーバにメールを送信
- YahooのSMTPサーバがメールを受信
- YahooのSMTPサーバが該当のyahooメールアドレス宛にメールを送信
- 該当のYahooメールアドレスの持ち主がメールを受信
今回の設定では1〜4を扱うことになります。
この流れを意識しながら取り組んでみてください。

田島メンター!XAMPPでメールを送信する関数を書いてみたんですが、送信に失敗してしまうみたいなんですが。

レンタルサーバーだと送信できるんだけど、ローカルからだと少し設定が必要なんだ。方法を見てみよう!

はい!
事前準備
今回の作業では設定ファイルを直接編集することになります。万が一に備えて、作業前にバックアップは必ず取っておくようにしましょう。
また、メールアドレスを設定する必要があるので、利用できるメールアドレスをひとつ用意しておいてください。
(※今回はGmailを例として使います)
[PR] PHPプログラミングで挫折しない学習方法を動画で公開中
XAMPPでのメール送信設定
まずは、「C:xamppphp」直下にある、「php.ini」をテキストエディタを使って開きます。
※xamppフォルダの場所はインストール時に変更することができますが、今回はデフォルトのインストール先を使用しています。
テキストエディタで開いたら、「mail function」で検索をかけます。
検索に引っかかった行から28行分(緑の枠で囲まれた箇所)がXAMPPのメールに関する設定の箇所です。
ここで赤枠で囲まれた「;」を削除して、「php.ini」ファイルを上書き保存してファイルを閉じてください。
(※上書き保存前に必ずバックアップをとってください)
続いて、「C:xamppsendmail」直下にある、「sendmail.ini」を同じようにテキストエディタで開いてください。
開いたら「smtp_server」で検索をしてください。検索後、「smtp_server=mail.mydomain.com」の行が表示されるので、「smtp_server=smtp.gmail.com」に書き換えてください。
そのまま、「smtp_port=25」で検索をしてください。検索後、「smtp_port=25」の行が表示されるので、「smtp_port=587」に書き換えます。
(※「smtp_port=587」に編集する理由は今回は割愛します)
さらに、「auth_username」で検索をしてください。検索後、「auth_username」が検索に引っかかり、その下に「auth_password」の行があります。
ここで「auth_username=」を「auth_username=test@gmail.com」に編集してください。
(※今回は例として「test@gmail.com」にしていますが、実際は利用するメールアドレスを記載してください)
今度は「test@gmail.com」を使用する際に必要なパスワードを、「auth_password=password」のように入力してください。
最後に、「force_sender=」で検索をしてください。検索後「force_sender=」の行が表示されますので、先ほどのように「force_sender=test@gmail.com」と入力してください。
以上で「sendmail.ini」の編集は完了ですので、上書き保存してファイルを閉じてください。

設定ファイルを変える、ポート番号を25から587にする。gmailのユーザー名とパスワードを設定する。これで良いですか?

OK!メールを送るにはSMTPサーバーが必要なんだよね。SMTPプログラムは25番ポートを使用するってだいたい決まってるんだよね。今回はgmailのSMTPサーバーを使うよ。

587番ポートに変更したのには理由があるんですか?

主に迷惑メール対策なんだ。誰でもSMTPサーバーからメールを送れたら困るので、587番ポートでユーザー認証もするようになったんだ。
メールの送信テスト
設定が完了したら、実際にメールが送れるかテストしてみましょう。
まずはじめに、「C:xamppphp」直下に、「test_mail.php」というファイルを作成してください。
作成後、下記の内容をコピーして保存しておきましょう。
<?php
if (mb_send_mail(‘送信先メールアドレスを入れる’, ‘TEST SUBJECT’, ‘TEST BODY’)) {
echo ‘送信完了’;
} else {
echo ‘送信失敗’;
}
作成した「test_mail.php」をダブルクリックするとメールが送信されるので、「sendmail.ini」に登録したメールアドレスに、メールが届いているか確認してください。
無事にメールが届いていれば設定完了です。
万が一メールが届いていない場合は、「C:xamppsendmail」直下に作成される「error.log」ファイルを確認し、問題箇所を特定してください。
(※error.logファイルはエラーが発生したタイミングで自動的に作成されるため、テストする前には存在しません)
実は私も!?独学で損する人の特徴
「スクールは高いから独学で成功する」という気持ちの方は多いと思います。
もちろんその方が金額は低く抑えられるでしょう。
ただ
独学には向き不向きがあり、実はスクールが向いている人も大勢います。
そんな方のために参考として、
テックアカデミー卒業生がスクールを選んだ理由
をご紹介します。
- ・困って挫折しそうなときに、質問や相談できる相手がいる環境で学んでいきたいなと思った
- ・わかった気になっているだけだったので、自分を追い込む環境に置いた方がいいと感じた
- ・スクールのカリキュラムで市場に求められるスキルを学ぶべきと思った

少しでも当てはまる部分があれば、
スクールが向いているかもしれません。
お試しのつもりで、まずは一度
無料相談
に参加してみませんか?
現役エンジニア・デザイナーに何でも気軽に相談できる30分
を
すべて無料で
できます。
無理な勧誘は一切ない
ので、お気軽にご参加ください。
おわりに
今回の記事は以上です。
XAMPPをさらに使いこなしたい場合は、XAMPPでセキュリティ設定を行う方法も合わせてご覧ください。

ローカルからメールが送信できました!

お問い合わせフォームなどを設置して、メールで送るのもいいね。

これからは、通常の案件はデータベースに登録して緊急の案件は、メールでも送るといった使い方が出来そうです。

後、言い忘れたんだけど、gmailのアカウントがあるからといって、不特定多数の人に大量にメールを送らないようにしたいね。メールは奥が深いので、興味がある人は、ブートキャンプで質問してね!
PHPを勉強していて、
・もっと効率的に勉強したい
・誰かに聞きながら学びたい
・自分でWebサービスを作りたい
と思ったことはないでしょうか?
そんな方のために、TechAcademyではオンラインブートキャンプPHP/Laravelコースを提供しています。
現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、オリジナルWebサービスを開発することが可能です。
独学に限界を感じている場合はご検討ください。

プログラミングを独学していて、このように感じた経験はないでしょうか?
- ・調べてもほしい情報が見つからない
- ・独学のスキルが実際の業務で通用するのか不安
- ・目標への学習プランがわからず、迷子になりそう
テックアカデミーでは、このような
学習に不安を抱えている方へ、現役エンジニア講師とマンツーマンで相談できる機会を無料で提供
しています。
30分間、オンラインでどんなことでも質問し放題です。
「受けてよかった」と感じていただけるよう
厳しい試験を通過した講師
があなたの相談に真摯に向き合います。
「ただ気になることを相談したい」
「漠然としているがプロの話を聞いてみたい」
こんな気持ちでも大丈夫です。
無理な勧誘は一切ありません
ので、まずはお気軽にご参加ください。
※体験用のカリキュラムも無料で配布いたします。(1週間限定)