我遇到了此電子郵件表單的問題。沒有PHP的錯誤代碼或任何東西,電子郵件只是從來沒有交付......這整個代碼示例是在我的網站的幾個頁面上的包含文件。表單會提交給它所在的任何頁面,並且工作,除非我不知道爲什麼它不會發送電子郵件。它似乎沒有處理包含代碼發送電子郵件的else語句。PHP郵件腳本實際上並未發送郵件
<div class="green_box" id="contact_us">
<h3>CONTACT US</h3>
<div class="white_box">
<?php
if ($_POST['submitted']==1) {
$errormsg = ""; //Initialize errors
if ($_POST[your_name]){
$your_name = $_POST[your_name];
}
else {
$errormsg = "You did not enter your Name";
}
if ($_POST[your_email]){
$your_email = $_POST[your_email];
}
else {
if ($errormsg){ //If there is already an error, add next error
$errormsg = $errormsg . " or your Email";
}else{
$errormsg = "You did not enter your Email";
}
}
if ($_POST[your_message]){
$your_message = $_POST[your_message];
}
else {
if ($errormsg){ //If there is already an error, add next error
$errormsg = $errormsg . " or your Message";
}else{
$errormsg = "You did not enter your Message";
}
}
if (strlen($errormsg) > 1) {
echo "<p><strong>" . $errormsg . ".</strong><br>Please try again.</p>";
}
else {
$email_to = "[email protected]"; // recipient inbox
$email_subject = "Fore A Partners Website Contact Form";
$email_message = "Form details below.\n\n";
function clean_string($string) {
$bad = array("content-type","bcc:","to:","cc:","href");
return str_replace($bad,"",$string);
}
$email_message .= "Name: ".clean_string($your_name)."\n";
$email_message .= "Email: ".clean_string($your_email)."\n";
$email_message .= "Comments: ".clean_string($your_message)."\n";
$headers = 'From: '.$your_email."\r\n".
'Reply-To: '.$your_email."\r\n" .
'X-Mailer: PHP/' . phpversion();
@mail($email_to, $email_subject, $email_message, $headers);
echo "<p>Thank you for contacting us. We will be in touch with you very soon.</p>";
}
}
?>
<form name="contactform" method="post">
<p>Name<br><input type="text" name="your_name" maxlength="80" size="45"></p>
<p>Email<br><input type="text" name="your_email" maxlength="80" size="45"></p>
<p>Message<br><textarea name="your_message" maxlength="1000" rows="6" cols="30"></textarea></p>
<input type="hidden" name="submitted" value="1">
<p><input type="image" src="../btn_submit.png" alt="Submit" name="submit"></p>
</form>
</div>
</div>
在PHP中,將'@'放在函數前面可以消除錯誤消息 –
您也可以考慮添加代碼if if(empty($ _POST)= ==假){你的代碼}'所以它在正確的零件上執行 – PatomaS