Рассылки - попытка добавить контакты - краш БД class и т.д. error

При попытке добавить дополнительные адреса в рассылку сначала возникла ошибка. Затем уменьшили кол-во добавляемых адресов до 1000. Добавились. отправить рассылку не получилось. Ранее все работало как часы. В код не лазили.

После все нормализовалось, но при нажатии на кнопку отправить происходит следующее.
Query Error
Query: INSERT INTO mailer_message_log (id, contact_id) VALUES (60359,4329),(60360,4330),(60361,4331),(60362,4332),(60363,4333),(60364,4334),(60365,4335),(60366,4336),(60367,4337),(60368,4338),(60369,4339),(60370,4340),(60371,4341),(60372,4342),(60373,4343),(60374,4344),(60375,4345),(60376,4346),(60377,4347),(60378,4348),(60379,4349),(60380,4350),(60381,4351),(60382,4352),(60383,4353),(60384,4354),(60385,4355),(60386,4356),(60387,4357),(60388,4358),(60389,4359),(60390,4360),(60391,4361),(60392,4362),(60393,4363),(60394,4364),(60395,4365),(60396,4366),(60397,4367),(60398,4368),(60399,4369),(60400,4370),(60401,4371),(60402,4372),(60403,4373),(60404,4374),(60405,4375),(60406,4376),(60407,4377),(60408,4378),(60409,4379) ON DUPLICATE KEY UPDATE contact_id=VALUES(contact_id)
Error: 1364
Message: Field 'message_id' doesn't have a default value
Error with code 1364 in '/var/www/shop/data/www/site.ru/wa-system/database/waModel.class.php' around line 248:

243 (isset($row['class']) ? $row['class'] : '').
244 (isset($row['type']) ? $row['type'] : '').
245 $row['function']."()\n";
246 }
247 waLog::log($error."\nStack:\n".$stack, 'db.log');
>>248 throw new waDbException($error, $this->adapter->errorCode());
249 }
250
251 return $result;
252 }
253

Call stack

#0 /var/www/shop/data/www/site.ru/wa-system/database/waModel.class.php(304): waModel->run('INSERT INTO mai...')
#1 /var/www/shop/data/www/site.ru/wa-apps/mailer/lib/classes/mailerHelper.class.php(255): waModel->exec('INSERT INTO mai...')
#2 /var/www/shop/data/www/site.ru/wa-apps/mailer/lib/actions/campaigns/mailerCampaignsPresend.action.php(44): mailerHelper::prepareRecipients(Array, Array)
#3 /var/www/shop/data/www/site.ru/wa-system/controller/waViewAction.class.php(159): mailerCampaignsPresendAction->execute()
#4 /var/www/shop/data/www/site.ru/wa-system/controller/waViewController.class.php(86): waViewAction->display()
#5 /var/www/shop/data/www/site.ru/wa-system/controller/waDefaultViewController.class.php(44): waViewController->executeAction(Object(mailerCampaignsPresendAction))
#6 /var/www/shop/data/www/site.ru/wa-system/controller/waController.class.php(21): waDefaultViewController->execute()
#7 /var/www/shop/data/www/site.ru/wa-system/controller/waViewController.class.php(46): waController->run(NULL)
#8 /var/www/shop/data/www/site.ru/wa-system/controller/waFrontController.class.php(142): waViewController->run()
#9 /var/www/shop/data/www/site.ru/wa-system/controller/waFrontController.class.php(58): waFrontController->execute('', 'campaigns', 'presend')
#10 /var/www/shop/data/www/site.ru/wa-system/waSystem.class.php(577): waFrontController->dispatch()
#11 /var/www/shop/data/www/site.ru/index.php(7): waSystem->dispatch()
#12 {main}

Request

array (
'module' => 'campaigns',
'action' => 'presend',
'campaign_id' => '30',
'send' => '1',
)

Params

array (
)
Webasyst Support Team
Сегодня 09:10
выполняет действие В работу
Webasyst Support Team
Сегодня 09:11

Судя по тексту сообщения об ошибке в вашей базе данных возникли некорректные записи.

Предлагаем вам воспользоваться услугой диагностики и внесения необходимых изменений специалистами нашей компании. Стоимость услуги — 1000 руб. После получения вашего согласия на выполнение работ мы сформируем для вас заказ. Наши специалисты приступят к выполнению заказа сразу после оплаты. В случае выявления ошибок в программных продуктах, разработанных нашей компанией, стоимость услуги будет возвращена в полном объеме.
userpic
Helen Helen
Сегодня 09:18
Вы сначала диагностируйте
userpic
Helen Helen
Сегодня 09:19
Вы сначала диагностируйте. Только тут и диагностировать нечего.
Рассылка с контактами, которые были до этого добавлены нормально пошла. Единственное, сейчас она идет, а у нее на вкладке исключения вот такая запись:

Исключения: 220

Из рассылки были исключены ранее отписавшиеся, а также те адреса, почтовый сервер которых вернул в прошлых рассылках сообщение о постоянной ошибке в адресе получателя. Такие адреса либо не существуют, либо не могут по какой-либо причине получать от вас сообщения. Попытки повторных рассылок на эти адреса могут привести к тому, что ваш сервер отправителя попадет в «черный список». По этой причине данные адреса исключаются по умолчанию из списков получателей ваших рассылок.
Call to undefined method getErrorClass
Error with code 0 in '/var/www/shop/data/www/site.ru/wa-system/controller/waController.class.php' around line 231:

226 return $path.'/';
227 }
228
229 public function __call($name, $arguments)
230 {
- Показать оригинальное сообщение -
232 }
233 }

Call stack

#0 /var/www/shop/data/www/site.ru/wa-apps/mailer/lib/actions/campaigns/mailerCampaignsRecipientsReport.action.php(108): waController->__call('getErrorClass', Array)
#1 /var/www/shop/data/www/site.ru/wa-apps/mailer/lib/actions/campaigns/mailerCampaignsRecipientsReport.action.php(108): mailerCampaignsRecipientsReportAction->getErrorClass('-3', NULL)
#2 /var/www/shop/data/www/site.ru/wa-apps/mailer/lib/actions/campaigns/mailerCampaignsRecipientsReport.action.php(40): mailerCampaignsRecipientsReportAction->getRecipientsSent(31)
#3 /var/www/shop/data/www/site.ru/wa-system/controller/waViewAction.class.php(159): mailerCampaignsRecipientsReportAction->execute()
#4 /var/www/shop/data/www/site.ru/wa-system/controller/waViewController.class.php(86): waViewAction->display()
#5 /var/www/shop/data/www/site.ru/wa-system/controller/waDefaultViewController.class.php(44): waViewController->executeAction(Object(mailerCampaignsRecipientsReportAction))
#6 /var/www/shop/data/www/site.ru/wa-system/controller/waController.class.php(21): waDefaultViewController->execute()
#7 /var/www/shop/data/www/site.ru/wa-system/controller/waViewController.class.php(46): waController->run(NULL)
#8 /var/www/shop/data/www/site.ru/wa-system/controller/waFrontController.class.php(142): waViewController->run()
#9 /var/www/shop/data/www/site.ru/wa-system/controller/waFrontController.class.php(58): waFrontController->execute('', 'campaigns', 'recipientsRepor...')
#10 /var/www/shop/data/www/site.ru/wa-system/waSystem.class.php(577): waFrontController->dispatch()
#11 /var/www/shop/data/www/site.ru/index.php(7): waSystem->dispatch()
#12 {main}

Request

array (
'module' => 'campaigns',
'action' => 'recipientsReport',
'campaign_id' => '31',
'status' => '-3,-4',
'_' => '1437110034692',
)

Params

array (
)
userpic
Helen Helen
Сегодня 09:25
+ ответили на хостинге

Судя по ошибке, проблема в структуре БД. Нет значения по умолчанию для поля message_id.
Ваш скрипт пытается внести запись, но не выставляет значение для этого поля, а по умолчанию оно не заполняется.
Если вы знаете структуру, можно задать значение по умолчанию для поля.


================
возможно это произошло из-за того, что имяпробел<email@>
вставлялось из эксель
имяTAB<email@>

???

2 ответа

  • 1

    Ваше сообщение передали разработчикам для анализа — постараемся выяснить, чем могла быть вызвана ошибка.

    * Замечание по использованию функции ввода дополнительных адресов при отправке рассылки: эта функия изначально не предназначена для ввода очень большого количества адресов. Использование Рассылок предполагает, что вы отправляете сообщения/новости существующим контактам-клиентам, а не на любые адреса, скопированные из каких-то внешних источников (такое поведение наводит на мысль о рассылке вами спама).

    • +2
      Helen Helen Helen Helen 17 июля 2015 10:24 #

      Спасибо за ответ и за передачу обращения, Михаил!

      Как вариант, вы не рассматриваете переход с платных сервисов на свой почтовый сервис и импорт-экспорт базы?

      Спам шлют за 3 т.р. куда ни посмотри)

      И тем не менее, ранее эта функция поддерживала 8000 строчек

  • 1
    Михаил Ушенин Webasyst 24 августа 2015 05:02 #

    Установили ли вы все доступные обновления для приложения "Рассылки"? Посмотрите, пожалуйста, в Инсталлере, какая версия этого приложения у вас сейчас установлена.

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите