Как отключить вывод на экран результат отправки писем

Аватар пользователя I_D I_D 20 марта в 13:27

Добрый день!
В RULES настроил правило отправляющее письмо. Все замечательно работает, но есть одно "НО". Результат отправки письма выводится на сайт.
 так на экране

Как отключить вывод именно этой информации?
Спасибо.

0 Thanks

Лучший ответ

Аватар пользователя I_D I_D 22 марта в 10:14

Всем спасибо!!!! Проблема решена!!!
Отключил PHPMailer, включил (он был не активен) и настроил SMTP Authentication Support - работает без "флуда"
По поводу PHPMailer предполагаю что там баг в бета версии. Обновлять не стал, так как отключил его и активировал SMTP

Комментарии

Аватар пользователя I_D I_D 20 марта в 15:35

пробовал менять эту опцию - результата не дало. Предполагаю, что это касается записи в журнал.

У меня скорее всего общие настройки Drupal нужно изменить, так как кроме процесса отправки почты выводит сообщения о создании статьи и т.п. Но они одно строчные, короткие, проблем с ними нет. А вот процесс отправки письма - многострочен....

Аватар пользователя Semantics Semantics 20 марта в 18:44

Вы не понимаете, как работает система сообщений и чем сообщение отличается от ошибки.
Если отключение дебага в smtp-модуле не спасает, значит у вас там кто-то где-то наворотил, возможно, от недостатка ума даже изменил код модуля, чтобы отображение дебага включить

Аватар пользователя I_D I_D 21 марта в 10:40
Semantics wrote:

Вы не понимаете, как работает система сообщений и чем сообщение отличается от ошибки.

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

Аватар пользователя I_D I_D 21 марта в 10:36

есть версия, что установлен какой- то модуль, выводящий эти сообщения
P.S. проект мне достался на поддержку от других, кто что настраивал и устанавливал - не знаю :(

Аватар пользователя ivnish ivnish 21 марта в 11:40

Это плохая идея прибивать notices and warnings. Нужно найти где включен дебаг и отключить его.

Аватар пользователя sas@drupal.org sas@drupal.org 21 марта в 11:55

Не во всех модулях настраивается, конечно все прибивать не надо, но с помощью этого модуля можно настроить "Прибивать" то что не настраивается в "первоисточнике" и не трогать другое.

Аватар пользователя I_D I_D 21 марта в 13:00
adano wrote:

PHPMailer же в тегах, а не SMTP...
Тогда настройки тут - admin/config/system/phpmailer

В первую очередь пересмотрел эти модули на наличие опций включения дебага в интерфейсе PHPMailer, Mail System, SMTP Authentication Support - не нашел ничего, что бы прибило вывод на экран информации

Аватар пользователя I_D I_D 21 марта в 12:57

даже не знаю, за что зацепится.
Вы когда сохраняете измененную Views на страницу выводит результат - успешно сохранено?

У меня как в админке так и на сайте выводится всегда сообщение о результате действий - успешно сохранено, удалено, изменено и т.п.

Аватар пользователя marassa marassa 21 марта в 13:07

Данные сообщения точно не инициируются ядром Друпала.
Это делает какой-то модуль - может PHPMailer, может Rules, а может какой-то кастомный код. Надо прошерстить весь код проекта на текст выводимого сообщения.

Аватар пользователя I_D I_D 21 марта в 13:13

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

Блок вывода информации с результатом работы - штатное решение? Входит в ядро?

Аватар пользователя marassa marassa 21 марта в 13:19

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

I_D wrote:

Блок вывода информации с результатом работы - штатное решение? Входит в ядро?

Нет, как и понятие "результат работы". Какой-то модуль вызывает \Drupal::logger() (watchdog() в семерке). Не вызывал бы - не было бы никаких сообщений.

Аватар пользователя marassa marassa 21 марта в 13:24

Кстати, а почему бы не попробовать на время включить

Logging: All messages, with backtrace information

Тогда весь этот флуд будет писаться еще и в лог, и там будет более подробная информация о том, кто это делает.

Аватар пользователя I_D I_D 21 марта в 14:01

Поискал в коде
Выводимое сообщение есть в /opt/drupal/sites/all/modules/smtp/smtp.transport.inc
Выводится с помощью
drupal_set_message(t("SMTP -> FROM SERVER: @rply", array("@rply" => $rply)));

Аватар пользователя ivnish ivnish 21 марта в 14:27

Значит должно отключаться через админку, как изначально и предполагали

Аватар пользователя I_D I_D 21 марта в 18:30

Уже ближе к решению.
Сообщения выбрасывает /admin/config/system/phpmailer
в /opt/drupal/sites/all/modules/smtp/smtp.transport.inc есть

($this->do_debug >= 2) {
      
drupal_set_message(t("SMTP -> FROM SERVER: @announce", array("@announce" => $announce)));
    }
?>

Значение $this->do_debug в интерфейсе должно меняться этой настройкой

Но по факту если выбрать Full communication значение $this->do_debug принимает 4, во всех остальных случаях , что бы я не выбирал - 2

Баг?

Аватар пользователя marassa marassa 21 марта в 18:41

А какая версия модуля стоит, и точно ли она соответствует дистрибутиву с drupal.org? Я глянул бегло в 7.x-1.7 - там вообще какая-то бредотень: в smtp.phpmailer.inc есть такая строка:
$this->smtp->do_debug = $this->SMTPDebug;
при том, что do_debug - integer, а SMTPDebug - boolean ;)
И это единственное место, где присваивается smtp->do_debug, и я не очень себе представляю как она вообще может принимать какие-то значения кроме 0 или 1.
Может патчи какие стоят, или от руки правлено где?

Аватар пользователя marassa marassa 21 марта в 19:22

"Ничего не понимаю"©
SMTP и PHPMailer - два взаимоисключающих модуля, делающих одно и то же. Они оба что ли стоят и включены? Может один убрать?

Аватар пользователя I_D I_D 22 марта в 10:23

SMTP установлен но не активен (по внутренним настройкам модуля)
Перешел с PHPMailer на SMTP - заработало как я хотел
Спасибо!

Аватар пользователя I_D I_D 22 марта в 10:14

Всем спасибо!!!! Проблема решена!!!
Отключил PHPMailer, включил (он был не активен) и настроил SMTP Authentication Support - работает без "флуда"
По поводу PHPMailer предполагаю что там баг в бета версии. Обновлять не стал, так как отключил его и активировал SMTP