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

20 марта 2019 в 13:27
Аватар пользователя I_D I_D 0 27 Решено

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

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

Комментарии

Аватар пользователя I_D I_D 0

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

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

20 марта 2019 в 15:35

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

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

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

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

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

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

21 марта 2019 в 10:36

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

21 марта 2019 в 11:55
Аватар пользователя I_D I_D 0

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

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

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

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

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

21 марта 2019 в 12:57

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

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

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

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

21 марта 2019 в 13:13

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

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

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

21 марта 2019 в 13:19

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

Logging: All messages, with backtrace information

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

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

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

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

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

<?phpif ($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

Баг?

21 марта 2019 в 18:30

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

21 марта 2019 в 18:41

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

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

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

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

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

22 марта 2019 в 10:14