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

Главные вкладки

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

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

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

Лучший ответ

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

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

Комментарии

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Logging: All messages, with backtrace information

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

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

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

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

Уже ближе к решению.
Сообщения выбрасывает /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

Баг?

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

А какая версия модуля стоит, и точно ли она соответствует дистрибутиву с 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.
Может патчи какие стоят, или от руки правлено где?

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

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

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

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

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

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