2013-07-22 3 views
0

Я написал код, используя php, html и css. Это контактная форма, полученная по электронной почте после отправки. Во время отправки нет ошибки, но я не получаю письмо. Здесь я включаю код. Это ссылка: http://complaintdesk.byethost15.com/contact.php. Также я предлагаю код здесь.как решить ситуацию, если электронная почта не получена?

contact.php

<?php 
if(isset($_POST['submit'])){ 
    $name = $_POST['fullname']; 
    $branch = $_POST['branch']; 
    $usn = $_POST['usn']; 
    $sem = $_POST['sem']; 
    $email = $_POST['email']; 
    $subject = $_POST['subject']; 
    $description = $_POST['comment']; 

    $to = '[email protected]'; 

    $display = 'From:</br>Name: $name</br>USN: $usn</br>Branch: $branch</br>Semester: $sem</br>Email: $email</br></br>$description'; 
    mail($to,$subject,$display); 
    echo "<script>alert('Your Complaint has been succesfully submitted, We will contact you soon.')</script>"; 
}; 

?> 

А остальные кода я не включая ...

+1

Кажется, хороший дизайн. Жалобы идут прямо в черную дыру. –

+0

'' Я не получаю электронную почту. '- Между почтовым сервером и почтовым ящиком может возникать множество проблем. Сервер активно отказывается от сообщения? Бесшумно ли игнорирует сообщение? Не удается ли отправить сообщение на ваш почтовый сервер? Отправляет ли ваш входящий почтовый сервер сообщение? Ваш почтовый клиент фильтрует сообщение? Тонкость вещей может помешать вам увидеть электронную почту в вашем почтовом ящике, и очень немногие из них имеют какое-либо отношение к вашему коду. Когда вы отлаживаете это, каков ответ с SMTP-сервера? – David

+3

Проверьте свои почтовые журналы на исходящем сервере, чтобы узнать, отправлено ли оно, а затем проверьте почтовые журналы на своем входящем сервере, чтобы узнать, получено ли оно. один из них скажет вам, что происходит. Также это может помочь, если вы действительно проверили возвращаемое значение команды mail, чтобы убедиться, что это сработало! – Anigel

ответ

0

Попробуйте это:

$to_address = "Your email address"; 
$subject = $_POST['subject']; 
$headers = "MIME-Version: 1.0\r\n"; 
$headers.= "Content-type: text/html; charset=iso-8859-1\r\n"; 
$headers.= "From: ".$email."\r\n"; 

if (mail($to_address,$subject,$description,$headers)){ 
    echo "Success"; 
} 
else{ 
    echo "<h2>Unable to submit the form, please recheck the details.</h2>" ; 
} 

Update: Если это не работает, то может ошибка в настройках электронной почты. Как было предложено другими пользователями в комментариях выше, вы, возможно, захотите также изучить эту часть. Этот ответ основан на предположении, что ваш почтовый сервер/PHP настроен правильно.

+0

Сообщение об ошибке несколько неоднозначно, поскольку оно вряд ли будет терпеть неудачу на основе полей формы, но да, если оно вернет значение для успеха/неудачи, как это делает почта, тогда вы всегда должны его проверять. – Anigel

+0

может кто-нибудь щелкнуть по указанному выше URL-адресу ... –

Смежные вопросы