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