嗨即時通訊問題與我的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」; – 2012-03-22 19:45:14
問題到底是什麼?你得到「有問題」?狀態消息?你在Windows或Unix/Linux主機上?如果本地郵件服務器配置錯誤,完全拒絕您的郵件或根本不存在,則mail()將返回false。 – 2012-03-22 19:53:02