Сразу несколько проблем с работой сайта: почтовые уведомления и ошибка добавления топика

Добрый день.
Вылезли сразу несколько проблем с сайтом.
Первая — не приходят уведомления о создании топиков, комментариев и т.д. Уже как только не менял настройки в файле config. Кстате, подскажите пожалуйста, изменения в настройки надо вносить и конфиг файл и в панели администрирования? или можно только где-то в одном месте?
Почту использую noreply@zem-kadastr.ru. Если просто с этой почты письма отправить — приходят. В чем может быть проблема?

Вторая — при добавлении топика появляется ошибка:
SQL Error: MySQL server has gone away at /home/u22123/zem-kadastrru/www/classes/modules/stream/mapper/Stream.mapper.class.php line 50
Array ( [code] => 2006 [message] => MySQL server has gone away [query] => SELECT * FROM prefix_stream_event WHERE target_id = 3264 AND event_type = 'add_topic' [context] => /home/u22123/zem-kadastrru/www/classes/modules/stream/mapper/Stream.mapper.class.php line 50 )

но топик при этом появляется, если перезагрузить сайт.

И ещё одна проблема — сайт стал сильно тормозить, особенно при добавлении топиков. С чем это всё может быть связано?

9 комментариев

avatar
1) Очевидно не правильные настройки. Пример конфига под smtp

$config['sys']['mail']['type']             = 'smtp';                 // Какой тип отправки использовать
$config['sys']['mail']['from_email']       = 'noreply@zem-kadastr.ru';      // Мыло с которого отправляются все уведомления
$config['sys']['mail']['from_name']        = 'Site Name';  // Имя с которого отправляются все уведомления
$config['sys']['mail']['charset']          = 'UTF-8';                // Какую кодировку использовать в письмах
$config['sys']['mail']['smtp']['host']     = 'smtp.server.ru';            // Настройки SMTP - хост
$config['sys']['mail']['smtp']['port']     = 25;                     // Настройки SMTP - порт
$config['sys']['mail']['smtp']['user']     = 'noreply@zem-kadastr.ru';                     // Настройки SMTP - пользователь
$config['sys']['mail']['smtp']['password'] = '__PASSWORD__';                     // Настройки SMTP - пароль
$config['sys']['mail']['smtp']['secure']   = '';                     // Настройки SMTP - протокол шифрования: tls, ssl
$config['sys']['mail']['smtp']['auth']     = true;                   // Использовать авторизацию при отправке


Если у сервера есть tls или ssl нужно указать в ['secure'] и не забыть обратить внимание на порт, может быть не стандартный.

2) Если стоит админка, то в админке.

3) Скорее всего это www.it-rem.ru/kak-ispravit-mysql-server-has-gone-away-error-2006.html

4) Наверняка у блога в который публикуется пост, много подписчиков. Нужно включить отложенную рассылку. Вполне возможно что ошибка «3» из-за этого же.
avatar
Спасибо за ответ! Включил отложенную рассылку, и проблема с тормозами сайта и с ошибкой error-2006 при добавлении топика вроде пропала.
Но вот уведомления так и не приходят. Вопрос может глупый, но «отложенная рассылка» — это насколько отложенная? Когда должны приходить уведомления после публикации?
avatar
Я так понял, что помимо того что, чтобы в конфиге включить отложенную рассылку вот тут
$config['module']['notify']['delayed']        = true;  // Указывает на необходимость использовать режим отложенной рассылки сообщений на email
$config['module']['notify']['insert_single']  = true;  // Если опция установлена в true, систему будет собирать записи заданий удаленной публикации, для вставки их в базу единым INSERT
$config['module']['notify']['per_process']    = 10;

надо ещё задать команду в кроне. В панели управления хостингом добавил задание. Команда в задании: /usr/bin/php /home/u******/zem-kadastrru/www/include/cron/notify.php

Я правильно сделал? Или что-то не так?

Вот запись в лог файле:
[2016-06-17 23:20:02][16741][5861][NOTICE][NotifyCron: Cron process started]
[2016-06-17 23:21:02][16741][5861][NOTICE][NotifyCron: Send notify: 10]
[2016-06-17 23:21:02][16741][5861][NOTICE][NotifyCron: Cron process ended]
[2016-06-17 23:30:02][5130][5726][NOTICE][NotifyCron: Cron process started]
[2016-06-17 23:31:02][5130][5726][NOTICE][NotifyCron: Send notify: 10]
[2016-06-17 23:31:02][5130][5726][NOTICE][NotifyCron: Cron process ended]
avatar
уведомления так и не приходят
avatar
Крон судя по всему работает. У вас почта как работает? По smtp? Может простой mail? В админке настраивайте, если она стоит.

Когда должны приходить уведомления после публикации?

Они отсылаются пачками по 10 штук, а период рассылки одной пачки зависит от выставленного времени на кроне.

P.S. Проверьте спам на всякий случай.
avatar
Добрый день. Почта работает по smtp, так написано у хостера в инфе по настройке почтовых программ. Порт 25 или 2525.
Недавно обратился хостеру с этой проблемой, он мне сказал что с моего аккаунта рассылался спам и он ограничил отсылку почты из скриптов. После того как я проверил файлы на сервере на вредоносный код он снял ограничения. Но рассылка до сих пор не работает, а это значит не работает и регистрация(

Пробовал разные варианты настройки. В чем ещё может быть проблема? Буквально недавно ( в начале июня) всё работало, а сейчас нет.
avatar
Попробуйте отправить письмо не движком, а на прямую. Например:

1) Скачать и распаковать скрипт test.zip
2) Отредактировать к вашим настройкам test/index.php в самом начале:

$mail->Host = 'smtp.server.ru'; // Хост
$mail->Username = 'noreply@server.com'; // логин от почтового ящика
$mail->Password = ''; // пароль от почтового ящика
$mail->From = 'noreply@server.com'; // Адрес почты, с которой идет отправка
$mail->addAddress('your@server.ru', ''); // Почта куда отправить


3) Перейдите в браузере site.com/test/index.php

4) Заполните форму и отправьте, придет на «Почта куда отправить».

Если не приходит: или настройки неправильные, или чудит хостер, м.б. он забыл открыть порт когда блокировал вас, или система автоматически заблокировала т.к. пошел спам опять с вашего сайта.
avatar
P.S. Скрипт с локалки также отработает. Так что попробуйте отправить с локалки с вашими настройками, чтобы исключить «Неверные настройки почты».
avatar
Спасибо за ответ! Причина наверно была в этом:
или чудит хостер, м.б. он забыл открыть порт когда блокировал вас
После повторного обращения к хостеру с описанием проблемы, он предложил попробовать работу скриптов ещё раз и всё чудесным образом заработало)
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.