Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: функция mail()
Форумы портала PHP.SU » » Вопросы новичков » функция mail()

Страниц (1): [1]
 

1. AdeL1ne - 18 Сентября, 2011 - 12:51:02 - перейти к сообщению
Вопрос такой, есть php-код отправки почты пользователю:
PHP:
скопировать код в буфер обмена
  1.  
  2.         $checksum = base64_encode(substr($_POST['user'],0,3).$email_cnx[0]);
  3.         $email = 'test1@mail.com';
  4.         $from = 'test2@mail.com';
  5.         $subject = 'Регистрация на сайте!';
  6.         $subject = "=?utf-8?b?".base64_encode($subject)."?=";
  7.         $headers = "Content-Type: text/plain; charset=\"utf-8\"\r\n";
  8.         $headers .= "MIME-Version: 1.0\r\n";
  9.         $headers .= "From: <".$from.">\r\n";
  10.         $headers .= "Reply-To: ".$from."\r\n";
  11.         $headers .= "Date: ". date('D, d M Y H:i:s O') ."\r\n";
  12.        
  13.         $message = "Вы зарегестрировались на сайте под именем: user1!\r\n";
  14.         $message .= "Для активации вашего аккаунта пожалуйста пройдите по ссылке, указанной ниже!\r\n";
  15.         $message .= "<br><a href='http://test.ru/activate.php?checksum=".$checksum."&email=".$email."'><b>Активировать аккаунт!</b></a>\r\n";
  16.  
  17.         if (mail($email,$subject,$message,$headers,'-f'.$from)) {echo "ПОЧТА ОТПРАВЛЕНА!!!";}
  18.         else {echo "Отправка почты НЕ удалась!!!";}

ну обычная такая отправка почты. И суть в том, что на локальном сервере (Denwer) все отправляется, и выдается сообщение 'Мы отправили вам письмо для подтверждения регистрации!'. То есть функция mail() возвращает значение true. Проверяю этот же код на реальном хостинге и выдается сообщение 'Отправка почты не получилась!'. Соответственно mail() выдает false. Попытался пообщаться с техподдержкой хостинга, они сказали, что у них все должно работать, функция mail() не запрещена и sendmail настроен верно. В чем может быть проблема?
2. netoro - 19 Сентября, 2011 - 21:41:13 - перейти к сообщению
AdeL1ne пишет:
Вопрос такой, есть php-код отправки почты пользователю:
PHP:
скопировать код в буфер обмена
  1.  
  2.         $checksum = base64_encode(substr($_POST['user'],0,3).$email_cnx[0]);
  3.         $email = 'test1@mail.com';
  4.         $from = 'test2@mail.com';
  5.         $subject = 'Регистрация на сайте!';
  6.         $subject = "=?utf-8?b?".base64_encode($subject)."?=";
  7.         $headers = "Content-Type: text/plain; charset=\"utf-8\"\r\n";
  8.         $headers .= "MIME-Version: 1.0\r\n";
  9.         $headers .= "From: <".$from.">\r\n";
  10.         $headers .= "Reply-To: ".$from."\r\n";
  11.         $headers .= "Date: ". date('D, d M Y H:i:s O') ."\r\n";
  12.        
  13.         $message = "Вы зарегестрировались на сайте под именем: user1!\r\n";
  14.         $message .= "Для активации вашего аккаунта пожалуйста пройдите по ссылке, указанной ниже!\r\n";
  15.         $message .= "<br><a href='http://test.ru/activate.php?checksum=".$checksum."&email=".$email."'><b>Активировать аккаунт!</b></a>\r\n";
  16.  
  17.         if (mail($email,$subject,$message,$headers,'-f'.$from)) {echo "ПОЧТА ОТПРАВЛЕНА!!!";}
  18.         else {echo "Отправка почты НЕ удалась!!!";}

ну обычная такая отправка почты. И суть в том, что на локальном сервере (Denwer) все отправляется, и выдается сообщение 'Мы отправили вам письмо для подтверждения регистрации!'. То есть функция mail() возвращает значение true. Проверяю этот же код на реальном хостинге и выдается сообщение 'Отправка почты не получилась!'. Соответственно mail() выдает false. Попытался пообщаться с техподдержкой хостинга, они сказали, что у них все должно работать, функция mail() не запрещена и sendmail настроен верно. В чем может быть проблема?



Я раньше тоже думал что Denver , Xampp это круто пока не поимел всякие проблемы.
Поставь Apache http://www[dot]bizdirusa[dot]com/mirrors[dot][dot][dot]enssl-0[dot]9[dot]8r[dot]msi и php 5.3
http://windows.php.net/downloads...in32-VC9-x86.zip
именно ZIP не инсталятор и тогда ты увидишь что именно происходит, какие фигни выдает php где ошибку допустил.
как устанавливать подробнейшим образом написано тут http://www[dot]tmanager[dot]ru/russian/apache[dot]html
После этого всего уже можно нормально читать логи apache

 

Powered by ExBB FM 1.0 RC1