PHP不发送邮件

时间:2015-04-15 10:43:46

标签: php

我正在使用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);

,不报告任何错误。

1 个答案:

答案 0 :(得分:0)

首先,您应该说明您的服务器上配置了哪个邮件程序。 我会检查是否在php.ini配置文件中指明了该邮件程序和正确的路径。 只是一个起点...