簡體   English   中英

PHP沒有發送郵件

[英]PHP isn't sending mail

我正在使用Linode VPS建立一個網站。

我正在使用以下方式安裝Apache和PHP:

apt-get install apache2 php

這是HTML表單:

  <form action="" class="form-horizontal" method="post">
    <div class="form-group">
      <label class="col-sm-2 control-label">Name</label>
      <div class="col-sm-10">
        <input type="email" class="form-control" name="name" placeholder="Name">
      </div>
    </div>
    <div class="form-group">
      <label class="col-sm-2 control-label">Email</label>
      <div class="col-sm-10">
        <input type="text" class="form-control" name="email" placeholder="Email">
      </div>
    </div>
    <div class="form-group">
      <label class="col-sm-2 control-label">IP</label>
      <div class="col-sm-10">
        <input type="text" class="form-control" name="ip" value="<?php echo $_SERVER['REMOTE_ADDR']; ?>" disabled>
      </div>
    </div>
    <div class="form-group">
      <label class="col-sm-2 control-label">Message</label>
      <div class="col-sm-10">
        <textarea class="form-control" rows="4" name="message"></textarea>
      </div>
    </div>
    <div class="form-group">
      <div class="col-sm-offset-2 col-sm-10">
        <button type="submit" class="btn btn-default">Submit</button>
      </div>
    </div>
  </form>

這是PHP嘗試發送郵件的方法:

<?php
ini_set('display_errors',1);
ini_set('display_startup_errors',1);
error_reporting(-1);

if(isset($_POST['email'])) {
  $email_to = "webmaster@domain.com";
  $email_subject = "Contact Form";

  $name = $_POST['name'];
  $email = $_POST['email'];
  $ip = $_POST['ip']; 
  $message = $_POST['message']; 


  $email_message  = "Name: ".$name."\n";
  $email_message .= "Email: ".$email."\n";
  $email_message .= "IP: ".$ip."\n";
  $email_message .= "Message: ".$message."\n";

  $headers = 'From: '.$email."\r\n".
             'Reply-To: '.$email."\r\n" .
             'X-Mailer: PHP/' . phpversion();

mail($email_to, $email_subject, $email_message, $headers);  
?>
<div class="panel panel-success">
  <div class="panel-body">
    Message sent.
  </div>
</div>
<?php

}

?>

問題是沒有收到電子郵件,也沒有電子郵件被標記為垃圾郵件。

我添加了PHP錯誤報告:

ini_set('display_errors',1);
ini_set('display_startup_errors',1);
error_reporting(-1);

不會報告任何錯誤。

首先,您應該說出在服務器上配置了哪個郵件程序。 麻煩我檢查一下該郵件程序和正確的路徑是否在php.ini配置文件中指出。 只是一個起點...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM