※ ChatGPTを利用し、要約された質問です(原文:PHPメール送信画面(メールフォーム))
PHPメール送信画面(メールフォーム)
このQ&Aのポイント
PHPの勉強している学生がメール送信画面(メールフォーム)を作成中ですが、実際にはメールが送られてきません。原因やソースコードを教えてください。
PHPのメールフォームでは、メールを送信しているサーバーと受信のメールアドレスが分かりません。送信元はメールフォームで入力したメールアドレスですか?
素人なので検討がつきませんが、より良いソースコード等があれば教えてください。
こんにちは!PHPの勉強している学生です。
皆さん、お忙しいところ恐縮ですが、2つのファイル(下記のform.htmlとsend.php)でメール送信画面(メールフォーム)を作っています。大元はググって、無料ソースをコピーして、無料レンタルサーバーの@pageにFFFTP送信して確認致しました。
(1)
結果、送信ボタンを押した後、「メールが送信されました。」と表示はされるのですが、実際にはメールが送られてきません。ちなみに、test@mopera.netの部分に、NTTドコモで契約している自分のメールアドレスを入れました。お恥ずかしながら、A,無料サーバー側の問題なのか?、B,ドコモの設定の問題なのか?、C,メールフォームの問題なのか?分かりません。
ここに関しては、原因やソースコードをご教授頂ければ幸いです。
(2)
またPHPのメールフォームでは、そもそもどの様な仕組みでメールが送られるのかが分かりません。
つまり、サーバーでメールを送っているにしても、受信のメールアドレスは何になるのでしょうか?
メールフォームで入力した、メールアドレスから送られるのでしょうか?
素人なので検討がつきませんが、より良いソースコード等がありましたらお知らせ下さいませ。
どうぞ宜しくお願い致します。
■form.html■
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>sample</title>
</head>
<body>
<form action="send.php" method="post">
件名(タイトル):<br />
<input type="text" name="subject" size="30" value="" /><br />
送信者名:<br />
<input type="text" name="name" size="30" value="" /><br />
メールアドレス:<br />
<input type="text" name="mail" size="30" value="" /><br />
本文:<br />
<textarea name="message" cols="30" rows="5"></textarea><br />
<br />
<input type="submit" value="送信する" />
</form>
</body>
</html>
■send.php■
<?php
$message = "名前:" . $_POST["name"] . "\n本文:" . $_POST["message"];
if (!mb_send_mail("test@mopera.net", $_POST["subject"], $message, "From: " . $_POST["mail"])) {
exit("error");
}
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>sample</title>
</head>
<body>
<p>メールが送信されました。</p>
<p><a href="top.html">戻る</a></p>
</body>
</html>
お礼
どうもありがとうございます。