2017-06-21 28 views
1

我已經上傳我的網站到測試服務器,現在正在測試的聯繫方式,看起來像下面的圖片電郵:頁面刷新,但是從接觸形式的細節沒有被髮送到

enter image description here

我填寫所有的細節,但由於某種原因,我沒有收到電子郵件。我的代碼如下所示:

<?php 
if (isset($_POST["submit"])) { 

    $name = $_POST['name']; 
    $email = $_POST['email']; 
    $message = $_POST['message']; 
    $human = intval($_POST['human']); 
    $from = '[email protected]'; 
    $to = '[email protected]'; 
    $subject = 'Message from Contact Demo '; 

    $body ="From: $name\n E-Mail: $email\n Message:\n $message"; 

    // set content-type when sending HTML email 
     $headers = "MIME-Version: 1.0" . "\r\n"; 
     $headers .= "Content-type:text/html;charset=UTF-8" . "\r\n"; 

    // More headers optional/headers 
     $headers .= "From:$from"; 

    // Check if name has been entered 
    if (!$_POST['name']) { 
     $errName = 'Please enter your name'; 
    } 

    // Check if email has been entered and is valid 
    if (!$_POST['email'] || !filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) { 
     $errEmail = 'Please enter a valid email address'; 
    } 

    //Check if message has been entered 
    if (!$_POST['message']) { 
     $errMessage = 'Please enter your message'; 
    } 
    //Check if simple anti-bot test is correct 
    if ($human !== 5) { 
     $errHuman = 'Your anti-spam is incorrect'; 
    } 

    // If there are no errors, send the email 
    if (!$errName && !$errEmail && !$errMessage && !$errHuman) { 
     if (mail($to,$subject,$body,$headers)) { 
      $result='<div class="alert alert-success">Thank You! I will be in touch</div>'; 
     } else { 
      $result='<div class="alert alert-danger">Sorry there was an error sending your message. Please try again later.</div>'; 
     } 
    } 
} 

?> 
<!DOCTYPE html> 
<html lang="en"> 
    <head> 
    <meta charset="utf-8"> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge"> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    <meta name="description" content="Bootstrap contact form with PHP example by BootstrapBay.com."> 
    <meta name="author" content="BootstrapBay.com"> 
    <title>Bootstrap Contact Form With PHP Example</title> 
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css"> 
    </head> 
    <body> 
    <div class="container"> 
     <div class="row"> 
      <div class="col-md-6 col-md-offset-3"> 
       <h1 class="page-header text-center">Contact Form Example</h1> 
       <form class="form-horizontal" role="form" method="post" action="index.php"> 
        <div class="form-group"> 
         <label for="name" class="col-sm-2 control-label">Name</label> 
         <div class="col-sm-10"> 
          <input type="text" class="form-control" id="name" name="name" placeholder="First & Last Name" value="<?php echo htmlspecialchars($_POST['name']); ?>"> 
          <?php echo "<p class='text-danger'>$errName</p>";?> 
         </div> 
        </div> 
        <div class="form-group"> 
         <label for="email" class="col-sm-2 control-label">Email</label> 
         <div class="col-sm-10"> 
          <input type="email" class="form-control" id="email" name="email" placeholder="[email protected]" value="<?php echo htmlspecialchars($_POST['email']); ?>"> 
          <?php echo "<p class='text-danger'>$errEmail</p>";?> 
         </div> 
        </div> 
        <div class="form-group"> 
         <label for="message" class="col-sm-2 control-label">Message</label> 
         <div class="col-sm-10"> 
          <textarea class="form-control" rows="4" name="message"><?php echo htmlspecialchars($_POST['message']);?></textarea> 
          <?php echo "<p class='text-danger'>$errMessage</p>";?> 
         </div> 
        </div> 
        <div class="form-group"> 
         <label for="human" class="col-sm-2 control-label">2 + 3 = ?</label> 
         <div class="col-sm-10"> 
          <input type="text" class="form-control" id="human" name="human" placeholder="Your Answer"> 
          <?php echo "<p class='text-danger'>$errHuman</p>";?> 
         </div> 
        </div> 
        <div class="form-group"> 
         <div class="col-sm-10 col-sm-offset-2"> 
          <input id="submit" name="submit" type="submit" value="Send" class="btn btn-primary"> 
         </div> 
        </div> 
        <div class="form-group"> 
         <div class="col-sm-10 col-sm-offset-2"> 
          <?php echo $result; ?> 
         </div> 
        </div> 
       </form> 
      </div> 
     </div> 
    </div> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> 
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script> 
    </body> 
</html> 

頁面刷新但我沒有收到電子郵件。

希望你能幫上忙。

在此先感謝

+0

缺少Content-Type頭? –

+0

是你的$身體是正確的? – 2017-06-21 12:59:30

回答

0

發送HTML郵件

$headers = "MIME-Version: 1.0" . "\r\n"; 
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n"; 

檢查婁代碼

$to = "[email protected]"; 
$subject ="Thank you"; 

$message = 'html code here'; 

// set content-type when sending HTML email 
$headers = "MIME-Version: 1.0" . "\r\n"; 
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n"; 

// More headers optional/headers 
$headers .= 'From: <w[email protected]>' . "\r\n"; 
$headers .= 'Cc: [email protected]' . "\r\n"; 

mail($to,$subject,$message,$headers); 
時,設置內容類型

發送電子郵件與您的更新代碼,請

<?php 
if (isset($_POST["submit"])) { 

    $name = $_POST['name']; 
    $email = $_POST['email']; 
    $message = $_POST['message']; 
    $human = intval($_POST['human']); 
    $from = '[email protected]'; 
    $to = '[email protected]'; 
    $subject = 'Message from Contact Demo '; 

    $body ="From: $name\n E-Mail: $email\n Message:\n $message"; 

    // set content-type when sending HTML email 
     $headers = "MIME-Version: 1.0" . "\r\n"; 
     $headers .= "Content-type:text/html;charset=UTF-8" . "\r\n"; 

    // More headers optional/headers 
     $headers .= "From:$from"; 



    // Check if name has been entered 
    if (!$_POST['name']) { 
     $errName = 'Please enter your name'; 
    } 

    // Check if email has been entered and is valid 
    if (!$_POST['email'] || !filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) { 
     $errEmail = 'Please enter a valid email address'; 
    } 

    //Check if message has been entered 
    if (!$_POST['message']) { 
     $errMessage = 'Please enter your message'; 
    } 
    //Check if simple anti-bot test is correct 
    if ($human !== 5) { 
     $errHuman = 'Your anti-spam is incorrect'; 
    } 

    // If there are no errors, send the email 
    if (!$errName && !$errEmail && !$errMessage && !$errHuman) { 
     if (mail($to,$subject,$body,$headers)) { 
      $result='<div class="alert alert-success">Thank You! I will be in touch</div>'; 
     } else { 
      $result='<div class="alert alert-danger">Sorry there was an error sending your message. Please try again later.</div>'; 
     } 
    } 
} 

?>

+0

我剛剛通過添加您發送的代碼來編輯我的問題,但我仍然沒有收到電子郵件 – Ragmah

+0

檢查更新的代碼 –

+0

您使用錯誤的參數郵件($ to,$ subject,$ message,$ headers)調用郵件函數; –