こんにちは私はお問い合わせフォームを介して電子メールを送信するための私のPHPコードに問題があります。私はエラーが発生していないし、徹底的に調査した後でコードに問題は見られない、誰かが私を助けることができますか?電子メール連絡フォームのためのPHP
<?php
// Define some constants
define("RECIPIENT_NAME", "Nuim Buzz");
define("RECIPIENT_EMAIL", "[email protected]");
define("EMAIL_SUBJECT", "Visitor Message");
// Read the form values
$success = false;
$senderName = isset($_POST['senderName']) ? preg_replace("/[^\.\-\' a-zA-Z0-9]/", "", $_POST['senderName']) : "";
$senderEmail = isset($_POST['senderEmail']) ? preg_replace("/[^\.\-\_\@a-zA-Z0-9]/", "", $_POST['senderEmail']) : "";
$senderMessage = isset($_POST['senderMessage']) ? preg_replace("/(From:|To:|BCC:|CC:|Subject:|Content-Type:)/", "", $_POST['senderMessage']) : "";
// If all values exist, send the email
if ($senderName && $senderEmail && $senderMessage) {
$recipient = RECIPIENT_NAME . " <" . RECIPIENT_EMAIL . ">";
$headers = "From: " . $senderName . " <" . $senderEmail . ">";
$success = mail($recipient, EMAIL_SUBJECT, $senderMessage, $headers);
}
?>
<html>
<head>
<title>Thanks!</title>
</head>
<body>
<?php if ($success) echo "<p>Thanks for sending your message! We'll get back to you shortly.</p>" ?>
<?php if (!$success) echo "<p>There was a problem sending your message. Please try again.</p>" ?>
<p>Click your browser's Back button to return to the page.</p>
</body>
</html>
HTMLコード:
<h2>Send us an email...</h2>
<ul>
<li>
<label for='senderName'>Your Name</label>
<input type='text' name='senderName' id='senderName' placeholder='Please type your name...' required='required' maxlength='40' />
</li>
<li>
<label for='senderEmail'>Your Email Address</label>
<input type='email' name='senderEmail' id='senderEmail' placeholder='Please type your email address...' required='required' maxlength='50' />
</li>
<li>
<label for='message' style='padding-top: .5em;'>Your Message</label>
<textarea name='senderMessage' id='message' placeholder='Please type your message...' required='required' cols='80' rows='10' maxlength='10000'></textarea>
</li>
</ul>
<div id='formButtons'>
<input type='submit' id='sendMessage' name='sendMessage' value='Send Email' />
</div>
</form>
電子メールを送信するためのIF文の中に入っているかどうかを調べるテストはありますか?私がやっているすばやく汚れた方法は、そのループの中にあります:echo "HIT"; –
問題はなんですか?あなたは「問題があった」ということを得ますか?ステータスメッセージ?あなたはWindowsまたはUnix/Linuxホストですか?ローカルメールサーバーが誤って構成されている、メッセージを完全に拒否した、またはまったく存在しない場合、mail()はfalseを返します。 –