2014-10-23 4 views
-2

Ниже приведен синтаксический код.PHP почта не работает. Confused

error_reporting(E_ALL); 

ini_set('display_errors', '1'); 



$formbtn = $_POST['formbtn']; 

$emails = $_POST['emails']; 



if(isset($formbtn)){ 



$to = "[email protected]"; 

$subject = $_POST["subject"]; 

$body = nl2br($_POST["message"]); 

$body .= "<br /><br /><br />If you wish to unsubscribe from these emails you must contact shiv via the alliance forums, clan chat, the supercell forums or by replying to this email."; 

$headers = 'MIME-Version: 1.0' . "\r\n"; 

$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 

$headers .= 'Reply-To: [email protected]' . "\r\n"; 

$headers .= "BCC: " . $emails . "\r"; 



if(mail($to, $subject, $body, $headers, "[email protected]")){ 

echo "Mail Sent!"; 

} 
else 
    echo "Mail not sent!"; 



}else{ 

    echo "Invalid form submission."; 

форма работает как задумано, и я могу повторить переменные: $ письма, $ formbtn, $ тела, $ при условии

Когда я отправить почту я получаю сообщение не отправлено сообщение.

Любые идеи, почему это происходит?

+0

Нет закрывающих тегов для 'if (isset ($ formbtn)) {'? – Idris

+0

Что вы используете для тестирования? Хостинг, ваш локальный хост или ...? – Cheery

+0

Похоже, сервер неправильно настроен для отправки писем с PHP. – Niko

ответ

0

какой у вас тип сервера ??? , если это localhost, вы должны настроить свою почтовую службу.

если это сервер у вас есть 2 ситуации:

  1. это виртуальный хостинг.
  2. это vps или выделенный сервер.

1:

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

2:

, если это VPS или выделить сервер, контакт в администрации сервера и сказать ему/ей ваша почта функция не работает, они решают эту проблему как можно скорее.

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