私が理解できなかったより堅牢な例を投稿し、役に立たないいくつかのエントリをブラウズした後、おそらく世界で最も単純な PHP 連絡フォームを機能させることができません。
少なくとも メールを送信できるかどうかを確認するために、最後のエントリから分割しました。私はすべての $var 要素をテストしましたが、それらは単純なエコー チェックで認識されているので、それが問題ではないことはわかっています。SMTPの互換性も確認しましたが、それも問題ありません。
問題は、ライブ フォームで [送信] をクリックすると、[ありがとうございます] というメッセージがポップアップ表示されますが、受信ボックスにメールが届きません。
ここで何が欠けているのでしょうか?
まず、HTML は次のとおりです。
<form action="contactus.php" method="POST" class="create">
<fieldset>
<legend align="center">Please fill out details below and click "Submit"</legend>
<div>
<label for="fullname" class="fixedwidth">Full Name</label>
<input type="text" name="fullname" id="fullname" class="input2"/>
</div><br/>
<div>
<label for="email" class="fixedwidth">Email</label>
<input type="text" name="email" id="email" class="input2"/>
</div><br/>
<div>
<label for="subject" class="fixedwidth">Subject</label>
<input type="text" name="subject" id="subject" class="input2"/>
</div><br/>
<div>
<label for="details" class="fixedwidth">Body</label>
<textarea id="details" name="details" cols="62" rows="20"></textarea>
</div>
<div class="buttonarea">
<input type="submit" name="submit" id="submit" value="Submit"/>
</div>
</fieldset>
</form>
そしてここにPHPがあります
<?php
$fullname = $_POST['fullname'];
$email = $_POST['email'];
$subject = $_POST['subject'];
$details = $_POST['details'];
$formcontent = "From: $fullname \n Message: $details";
$recipient = "johndoe1@email.com";
$mailheader = "From: $email \r\n";
mail($recipient, $subject, $formcontent, $mailheader) or die("Error!");
echo "Thank You!";
?>