PHP(ピーエイチピー)のメール送信で送信者名(ソウシンシャメイ)や返信先(ヘンシンサキ)を設定する方法を初心者向けに完全解説
生徒
「PHP(ピーエイチピー)でメールを送るとき、送信者の名前ってどうやって決めるんですか?」
先生
「メールの中に『送信者名(ソウシンシャメイ)』や『返信先(ヘンシンサキ)』を設定することで、相手に分かりやすいメールを送れますよ。」
生徒
「返信先って、送った人と別にできるんですか?」
先生
「できます。基本から順番に見ていきましょう。」
1. PHP(ピーエイチピー)のメール送信とは?
PHP(ピーエイチピー)のメール送信とは、Webサイトのお問い合わせフォームや会員登録などで、自動的にメールを送る仕組みです。人が手でメールソフトを開いて送るのではなく、プログラムが代わりに送信します。
ここで大切なのが送信者名(ソウシンシャメイ)と返信先(ヘンシンサキ)です。これを設定しないと、誰からのメールかわかりにくくなり、迷惑メールだと勘違いされることもあります。
2. 送信者名(ソウシンシャメイ)とは何か
送信者名とは、メールを受け取ったときに表示される「名前」の部分です。たとえば「サポート窓口」や「お問い合わせ担当」などが表示されます。
現実の手紙でいうと、封筒の差出人の名前にあたります。名前が書いていない手紙は不安になりますよね。それと同じです。
3. 返信先(ヘンシンサキ)とは何か
返信先とは、相手が「返信」ボタンを押したときに、返事が送られるメールアドレスです。送信元のメールアドレスと同じ場合もあれば、別のアドレスにすることもできます。
例えば「自動送信専用」のアドレスから送り、返信は「support@example.com」に集める、といった使い方ができます。
4. PHP(ピーエイチピー)でメールを送る基本構文
PHPではmail関数(カンスウ)を使ってメールを送ります。関数とは、決まった処理をまとめた命令のことです。
$to = "test@example.com";
$subject = "テストメール";
$message = "これはテストです";
$headers = "From: test@example.com";
mail($to, $subject, $message, $headers);
このままだと送信者名は表示されません。次から設定方法を見ていきます。
5. 送信者名(ソウシンシャメイ)を設定する方法
送信者名は、メールヘッダーという情報に書きます。ヘッダーとは、メールの表紙のような情報です。
$headers = "From: サポート窓口 <test@example.com>";
これで受信者には「サポート窓口」という名前が表示されます。
日本語を使うことで、どこから来たメールか一目で分かります。
6. 返信先(ヘンシンサキ)を設定する方法
返信先は「Reply-To(リプライトゥー)」という指定を使います。
$headers = "From: サポート窓口 <test@example.com>\r\n";
$headers .= "Reply-To: support@example.com";
これで、返信ボタンを押すと「support@example.com」に返事が届きます。
\r\nは改行を意味し、ヘッダーを区切るために必要です。
7. 送信者名と返信先を両方設定した完全な例
実際によく使われる、送信者名と返信先を両方設定した例です。
$to = "user@example.com";
$subject = "お問い合わせありがとうございます";
$message = "内容を確認しました。後ほどご連絡します。";
$headers = "From: お問い合わせ担当 <no-reply@example.com>\r\n";
$headers .= "Reply-To: support@example.com";
mail($to, $subject, $message, $headers);
8. 初心者がつまずきやすい注意点
初心者がよく間違える点として、送信者名を設定しない、返信先を忘れる、改行を入れない、などがあります。
特に改行がないと、メールが正しく送られない場合があります。また、実在しないメールアドレスを使うと、迷惑メール扱いされることもあります。