Я строю веб-сайт с использованием Linode VPS.PHP не отправляет почту
Я использую 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 = "[email protected]";
$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);
, не сообщать о любых ошибках.
Вы использовали оператор «stfu» '@' ..., это предотвратит ошибки почты при ошибках печати – Marc
используйте почту вместо @mail. –
также прокомментировать // error_reporting (-1); – Noman