Xpert,Xpert писал(а):Кстати, на тему Undisclosed-recipients. Я с этой проблемой промучался 3 дня. Вопрос в том, что у хостеров обычно довольно своеобразное понимание вопроса обработки ошибок. Т.е. если спам-фильтр что-то режет, ф-я mail все равно отрабатывается и не возвращает ошибку. А вот если бы она ее возвратила, тогда форум бы понял, что To должно быть другим... собственно, вот код из emailer.phpСимптом, собственно говоря, такой: с форума приходит вся почта, кроме уведомлений об ответах.Код: Выделить всё
$empty_to_header = ($to == '') ? TRUE : FALSE; $to = ($to == '') ? (($board_config['sendmail_fix']) ? ' ' : 'Undisclosed-recipients:;') : $to; $result = @mail($to, $this->subject, preg_replace("#(?<!\r)\n#s", "\n", $this->msg), $this->extra_headers); if (!$result && !$board_config['sendmail_fix'] && $empty_to_header) { $to = ' '; $sql = "UPDATE " . CONFIG_TABLE . " SET config_value = '1' WHERE config_name = 'sendmail_fix'"; if (!$db->sql_query($sql)) { message_die(GENERAL_ERROR, 'Unable to update config table', '', __LINE__, __FILE__, $sql); } $board_config['sendmail_fix'] = 1; $result = @mail($to, $this->subject, preg_replace("#(?<!\r)\n#s", "\n", $this->msg), $this->extra_headers); } }
Решение: выставить sendmail_fix = 1 в phpbb_config вручную.
Добавлено спустя 1 минуту 23 секунды:
Столкнулся с данной проблемой на хостинге 310.ru
Обращаю внимание: просите логи отсылки почты... в моем случае письма даже не уходили, т.е. резались непосредственно хостером.
на сколько я сейчас понял ты привёл код, который мне поможет?
дело в том, что в настоящее вермя у меня на форуме почта личная работает, регистрация тоже, но уведомления о новых темах, ответах в темах не приходят пользователям вообще!
Добавлено спустя 17 минут 14 секунд:
у меня я посмотрел вот, что подчеркнул чёрным
Код: Выделить всё
$empty_to_header = ($to == '') ? TRUE : FALSE;
$to = ($to == '') ? (($board_config['sendmail_fix']) ? ' ' : 'Undisclosed-recipients:;') : $to;
$result = @mail($to, $this->subject, preg_replace("#(?<!\r)\n#s", "\n", $this->msg), $this->extra_headers, "-f{$board_config['board_email']}");
if (!$result && !$board_config['sendmail_fix'] && $empty_to_header)
{
$to = ' ';
$sql = "UPDATE " . CONFIG_TABLE . "
SET config_value = '1'
WHERE config_name = 'sendmail_fix'";
if (!$db->sql_query($sql))
{
message_die(GENERAL_ERROR, 'Unable to update config table', '', __LINE__, __FILE__, $sql);
}
$board_config['sendmail_fix'] = 1;
$result = @mail($to, $this->subject, preg_replace("#(?<!\r)\n#s", "\n", $this->msg), $this->extra_headers, "-f{$board_config['board_email']}");
}
}
$this->extra_headers, "-f{$board_config['board_email']}");