2015-02-27 1 views
1

Я запускаю свой загрузочный сайт на сервере Lasp Raspberry Pi, и я получаю сообщение «Ошибка!». При отправке сообщения, используя контактную форму, форма использует два файла с помощью PHP почты и контактную форму на домашней странице, вот код:PHP Mail не отправляется на веб-сайт с использованием сервера Ras Pi LAMP

Контактный формуляр на index.html:

<div class="col-sm-12"> 
<form class="form-horizontal" action="assets/php/contactForm.php" method="post" role="form" id="contactForm"> 
         <div class="form-group"> 
          <div class="col-sm-6"> 
           <input type="text" name="name" class="form-control" placeholder="Name"> 
          </div> 
          <div class="col-sm-6"> 
           <input type="text" name="contactEmail" class="form-control" placeholder="Email"> 
          </div> 
         </div> 
         <div class="form-group"> 
          <div class="col-sm-12"> 
           <textarea name="message" class="form-control" rows="8" placeholder="Message"></textarea> 
          </div> 
         </div> 
         <div class="form-group"> 
          <div class="col-sm-12"> 
           <button type="submit" class="btn btn-theme ladda-button" data-style="expand-left"> 
           <span class="ladda-label">Submit</span> 
           </button> 
          </div> 
         </div> 
        </form> 

ContactForm .php

<?php 
include("include/settings.php"); 

if(isset($_POST['name']) && isset($_POST['contactEmail']) && isset($_POST['message'])){ 
$name = $_POST['name']; 
$from = $_POST['contactEmail']; 
$message = $_POST['message']; 

$subject = "Message from " . $name; 

if (mail ($to, $subject, $message, $from)) { 
    $response = array('sent' => 1); 
    echo json_encode($response); 
} else { 
    $response = array('sent' => 0); 
    echo json_encode($response); 
} 
} 
?> 

settings.php

<?php 

// Contact 
$to = '[email protected]'; 
$subject = 'Contact Form from website'; 

?> 

(электронная почта объявления платье снято и заменено на xxxxxxx только для этого сообщения по соображениям конфиденциальности)

Любая идея, почему я получаю сообщение «Ошибка!». при использовании формы?

ответ

2

Из командной строки на вашем Pi, вы можете проверить следующее

mail -s "Test Email" [email protected] < /dev/null 

проверить Pi готов отправить почту. Если нет, вам может потребоваться установить какой-то почтовый сервер (большинство гидов указывают на постфикс, но есть и другие). Если вы хотите установить постфикс, используйте следующую

sudo apt-get install postfix 

Кроме того, в вашем /etc/php5/apache2/php.ini файл, проверьте, что опция sendmail_path также установлен.

0

Вы не указали какие-либо конкретные данные конфигурации, хотя выше код должен позволять отправлять электронное письмо.

Возможно, вы указали адрес электронной почты [email protected], поэтому попробуйте использовать адрес электронной почты любого другого провайдера и проверьте его. Код кажется прекрасным.