カテゴリ: PHP 更新日: 2026/05/12

PHPのメール送信ログの記録方法を完全解説!初心者でも安心して理解できる

PHP の メールの送信ログを記録する方法
PHP の メールの送信ログを記録する方法

先生と生徒の会話形式で理解しよう

生徒

「PHPでメールを送ったあと、本当に送れたか確認する方法はありますか?」

先生

「あります。メール送信の結果を“ログ”として記録すると確認できます。」

生徒

「ログって何ですか?難しそうです…」

先生

「大丈夫です。日記のように、出来事を書き残すだけの仕組みですよ。」

1. PHPのメール送信ログとは?

1. PHPのメール送信ログとは?
1. PHPのメール送信ログとは?

PHPのメール送信ログとは、PHP(ピーエイチピー)でメールを送信したときに、「いつ」「誰に」「成功したか失敗したか」を文字として記録しておく仕組みです。ログは、日本語でいうと記録帳作業メモのようなものです。

パソコンを触ったことがない人でも、ノートに日付と出来事を書くイメージをすると分かりやすいです。プログラムでは、このノートの代わりにテキストファイルを使います。

2. なぜメール送信ログを記録するのか

2. なぜメール送信ログを記録するのか
2. なぜメール送信ログを記録するのか

PHPでメールを送信するとき、画面上では何も起こらないことがあります。そのため、本当にメールが送れたのか分からないという不安が出てきます。

メール送信ログを残しておけば、「送信成功」「送信失敗」といった結果を後から確認できます。これは、家を出る前に鍵を閉めたかどうかをメモするのと同じで、安心材料になります。

3. PHPでメールを送信する基本

3. PHPでメールを送信する基本
3. PHPでメールを送信する基本

まずは、PHPでメールを送信する基本形を見てみましょう。PHPではmail関数(メール関数)を使います。関数とは、よく使う処理をまとめた便利な道具です。


<?php
$to = 'test@example.com';
$subject = 'テストメール';
$message = 'これはテストメールです';
$headers = 'From: sample@example.com';

mail($to, $subject, $message, $headers);
?>

このコードは、「誰に」「どんな題名で」「どんな内容を」送るかを書いています。ただし、これだけでは送信できたか分かりません。

4. ファイルにログを書き込む方法

4. ファイルにログを書き込む方法
4. ファイルにログを書き込む方法

ログを残すには、ファイルに文字を書くという作業を行います。これは、紙にペンで文字を書くのと同じ考え方です。


<?php
$logMessage = "メール送信を実行しました\n";
file_put_contents('mail.log', $logMessage, FILE_APPEND);
?>

file_put_contentsは、「ファイルに内容を書き込む」という意味です。FILE_APPENDは、追記するという指定で、前の内容を消さずに書き足します。

5. メール送信の成功・失敗をログに残す

5. メール送信の成功・失敗をログに残す
5. メール送信の成功・失敗をログに残す

mail関数は、成功するとtrue(トゥルー)、失敗するとfalse(フォルス)を返します。これは「はい」「いいえ」のようなものです。


<?php
$result = mail($to, $subject, $message, $headers);

if ($result) {
    file_put_contents('mail.log', "送信成功\n", FILE_APPEND);
} else {
    file_put_contents('mail.log', "送信失敗\n", FILE_APPEND);
}
?>

これで、送信結果がログファイルに残るようになります。

6. 日時を一緒に記録して分かりやすくする

6. 日時を一緒に記録して分かりやすくする
6. 日時を一緒に記録して分かりやすくする

ログには、いつ起きた出来事かを書いておくと、とても見やすくなります。これは日記に日付を書くのと同じです。


<?php
$date = date('Y-m-d H:i:s');
file_put_contents('mail.log', $date . " メール送信\n", FILE_APPEND);
?>

date関数は、現在の日時を取得するための便利な道具です。

7. ログファイルの中身を確認する方法

7. ログファイルの中身を確認する方法
7. ログファイルの中身を確認する方法

作成されたmail.logファイルは、メモ帳などで開くことができます。中には、次のような内容が書かれます。


2026-02-09 12:00:00 メール送信
送信成功

このように表示されていれば、PHPのメール送信ログが正しく記録されています。

8. 初心者がつまずきやすい注意点

8. 初心者がつまずきやすい注意点
8. 初心者がつまずきやすい注意点

ログファイルが作成されない場合は、ファイルの保存場所書き込み権限が原因のことが多いです。これは、ノートを引き出しに入れたまま書こうとしている状態に似ています。

PHPメール送信ログを正しく記録することで、トラブルの原因をすぐに見つけられるようになります。初心者のうちからログを残す習慣をつけることが大切です。

コメント
コメント投稿は、ログインしてください

まだ口コミはありません。

関連記事:
PHP のメール送信の記事一覧へ
新着記事
New1
PHP
PHPのforeachループを完全ガイド!初心者でもわかる配列・連想配列の処理
New2
Python
Pythonでリストを分割する方法(スライス / split() / itertools)
New3
Python
Pythonのクロージャー(Closure)とは?関数内関数とnonlocalの活用
New4
Python
Pythonのエラーメッセージの読み方!よくあるエラーと解決方法
人気記事
No.1
Java&Spring記事人気No1
PHP
PHPの認証機能を実装する方法!初心者でもわかるログイン・ログアウト処理の基本
No.2
Java&Spring記事人気No2
PHP
PHPでカウントダウンタイマーを作る方法!初心者向けにやさしく解説
No.3
Java&Spring記事人気No3
PHP
PHP の文字列のフォーマット(sprintf, printf)
No.4
Java&Spring記事人気No4
Python
Pythonで経過時間を計測する方法を完全解説!初心者でもわかる time.perf_counter() と time.sleep()
No.5
Java&Spring記事人気No5
Python
Pythonのリストを反転(逆順)する方法を解説!初心者向けにreverseメソッドとスライス表記[::−1]を丁寧に説明
No.6
Java&Spring記事人気No6
PHP
PHP のフォームデータの受け取り($_POST, $_GET)を完全解説!初心者向けガイド
No.7
Java&Spring記事人気No7
Python
Pythonのクロージャー(Closure)とは?関数内関数とnonlocalの活用
No.8
Java&Spring記事人気No8
PHP
PHPのセキュリティチェックリストを丁寧に解説!初心者でも理解できる安全対策ガイド