※ ChatGPTを利用し、要約された質問です(原文:PHPのメールフォームでメールが受信できない。)
PHPのメールフォームでメールが受信できない
このQ&Aのポイント
PHP初心者が「10日でおぼえるPHP5入門教室」で学んでいるが、メールフォームからメールが受信できない。
メールフォームを入力してもエラーが出ず、送信しても受信できないため、解決方法を教えてほしい。
PHPの内容は mail_input.php と sendmail.php の2つで構成されており、php.ini も設定済み。しかし、フリーメール(Yahoo!)であることが原因かもしれない。
かんなりのPHP初心者で「10日でおぼえるPHP5入門教室」という本で初めてPHPを勉強しています。
http://www.webmate.ne.jp/samples/php10.jsp
の4日目の1時限目をしているのですが、何回やってもメールが受信できません。ブラウザで入力して送信してもエラーも出ないのでどうしたらいいのかわかりません。
PHPの内容は以下の通りです。
mail_input.phpの中身
<html>
<head>
<title>10日でおぼえるPHP5入門教室(アンケート)</title>
</head>
<body>
<h1 style="background:#cccccc">
10日でおぼえるPHP5入門教室(アンケート)</h1>
<form method="POST" action="sendmail.php">
<input type="hidden" name="_email" value="**@yahoo.co.jp" />
<input type="hidden" name="_subject" value="10日でおぼえるPHP5入門教室" />
<input type="hidden" name="_result"
value="<?php print($_SERVER['PHP_SELF']);?>" />
<table border="0">
<tr>
<th align="right">名前:</th>
<td><input type="text" name="name" size="20" maxlength="30" /></td>
</tr><tr>
<th align="right">E-Mail:</th>
<td><input type="text" name="_from" size="50" maxlength="255" /></td>
</tr><tr>
<th align="right" valign="top">自由記入欄:</th>
<td><textarea name="memo" cols="50" rows="5"></textarea></td>
</tr>
</table>
<input type="submit" value="送信" />
<input type="reset" value="クリア" />
</form>
</body>
</html>
・sendmail.phpの中身は
<?php
$header_info="From: ".$_POST['_from']."\nContent-Type: text/plain;charset=ISO-2022-JP\nX-Mailer: PHP/".phpversion();
$body="■■".$_POST['_subject']."■■\n\n";
foreach($_POST as $key=>$value){
if(!strstr($key,"_")){
$body.="[".$key."]".$value."\r\n";
}
}
mb_send_mail($_POST['_email'],$_POST['_subject'],$body,$header_info);
header("Location: ".$_POST['_result']);
?>
という感じです。php.iniもYAHOO!のフリーメールなので
SMTP=smtp.mail.yahoo.co.jp
sendmail_from=**@yahoo.co.jp
拡張関数が使えるように
extension_dir="c:/php/ext"
extension=php_mbstring.dll
としました。
しかし全く送れません。Yahoo!のフリーメールだからでしょうか??
すいません。ど素人なのでわかりやすく教えて下さい。お願いします。
お礼
返事ありがとうございますっ。 勉強させて頂きます。