Задать вопрос
Razorvin
@Razorvin
Распи...й

Перестал работать скрипт, отправки почты, В чем может быть проблема ?

недавно заметил что перестали приходить письма, в чем может быть проблема ?
$nick = $_POST['nick'];
	$age = $_POST['age'];
	$idPage = $_POST['idPage'];
	$clan = $_POST['clan'];
	if($_POST['clan?'] == false){
		$clanWhat = " ".'Пуста :(';
	}
	else{
		$clanWhat = " ".$_POST['clan?'];
	}
	$clockDays = $_POST['clockDays'];
	$gp = $_POST['gp'];
	$lvl = $_POST['lvl'];
	$to = "mazekaka@ukr.net"; //кому отправляем  
	$message = "Ник: $nick\nВозраст: $age\nСтраница вк: $idPage\nСостояли ли в клане:$clan\n - Название клана:$clanWhat\nВремя игры в день:$clockDays\nГотов дать голды или серы:$gp\nlvl Перса:$lvl";
	$from = "bofg@c-w.pp.ua"; //от кого
	$subject = "Кандидат в клан bofg"; //тема
	$subject= "=?utf-8?B?".base64_decode($subject) ."?=";
	$headers = "From: $from\r\nReply-to: $from\r\nContent-type: text/plain; charset='utf8'";
	mail($to, $subject, $message, $headers);
	//редирект
	$redir = $_SERVER['HTTP_REFERER'];
	if(strpos($redir,"page=1") === false) $redir .= "?page=1";
	header("Location:$redir");
  • Вопрос задан
  • 2461 просмотр
Подписаться 3 Оценить 1 комментарий
Решения вопроса 1
Виноват хостинг. Такое же было вчера
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 4
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Смотреть надо логи вашего сервера, если на поможет, то протокол обмена с почтовым сервером при отправке письма (tcpdump или wireshark). По скрипту вряд-ли что-то определить получится.
Проблема может быть, например, в изменении политики безопасности на ukr.net или параметров спам-детектора или ещё в чём нибудь.
Ответ написан
Комментировать
Если скрипт работал ранее, вероятно может быть с хостингом. Отключили работу скриптов.
Попробуйте узнать у хостера, была похожая проблема.

Прежде чем ковырять ранее рабочий скрипт)
Ответ написан
Комментировать
sabramovskikh
@sabramovskikh
Проверьте что возвращает код mail($to, $subject, $message, $headers);
Попробуйте написать простую отправку, проверить работает ли вообще mail
Возможно с вашего сервера была сильная спам-активность и хостер заблокировал (было такое)
Ответ написан
Комментировать
anton_slim
@anton_slim
web разработчик
Попробуйте воспользоваться вместо функции mail, напрямую на sendmail через сокеты :
$headers="To: $to\nFrom: $from\nSubject: $subject\n$headers";
    $fp = fsockopen($server, 25, &$errno, &$errstr, 30);
    if (!$fp)
       die("Server $server. Connection failed: $errno, $errstr");
    fputs($fp,"HELO $server\n");
    fputs($fp,"MAIL FROM: $from\n");
    fputs($fp,"RCPT TO: $to\n");
    fputs($fp,"DATA\n");
    fputs($fp,$headers."\n");
    fputs($fp,$this->mime);
    fputs($fp,"\n.\nQUIT\n");
    while(!feof($fp))
      $resp.=fgets($fp,1024);
    fclose($fp);

в качетсве сервера используйте localhost или 127.0.0.1, если конечно на хостинге настроен sendmail.
Почитайте на phpclub, там подробно все описано.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы