Всем добрый вечер! Коробочная версия Битрика установлена на сервере. OS: CentOS 7.6.1810; PHP 5.6.40; mysql Ver 15.1 Distrib 5.5.63-MariaDB, for Linux (x86_64) using readline 5.1 Bitrix virtual appliance version 7.3.4
В Битрикс привязаны две почты: яндекс почта со своим доменом и почта на mail.ru
Сломалась отправка писем! Приходящие письма отображаются. Битрикс использует sendmail (/etc/php.d/bitrixenv.ini sendmail_path = /usr/sbin/sendmail -t -i)
При попытке отправить письмо в CRM выдаёться ошибка:
Код
Mysql query error: (1136) Column count doesn't match value count at row 1
[Bitrix\Main\DB\SqlQueryException]
Mysql query error: (1136) Column count doesn't match value count at row 1 (400)
INS ERT IGNORE
b_mail_contact() VALUES(1,
'test test',
'a:2:{s:8:\"INITIALS\";s:1:\"T\";s:5:\"COLOR\";s:7:\"#af7e00\";}',
'testim@mail.ru',
'TO') /home/bitrix/www/bitrix/modules/main/lib/db/mysqliconnection.php:137
#0: Bitrix\Main\DB\MysqliConnection->queryInternal(string, array, NULL) /home/bitrix/www/bitrix/modules/main/lib/db/connection.php:330
#1: Bitrix\Main\DB\Connection->query(string) /home/bitrix/www/bitrix/modules/mail/lib/internals/mailcontact.php:119
#2: Bitrix\Mail\Internals\MailContactTable::addContactsBatch(array) /home/bitrix/www/bitrix/components/bitrix/mail.client/ajax.php:884
#3: CMailClientAjaxController->appendMailContacts(array, string) /home/bitrix/www/bitrix/components/bitrix/mail.client/ajax.php:469
#4: CMailClientAjaxController->sendMessageAction(array)
#5: ReflectionMethod->invokeArgs(object, array) /home/bitrix/www/bitrix/modules/main/lib/engine/autowire/binder.php:190
#6: Bitrix\Main\Engine\AutoWire\Binder->invoke() /home/bitrix/www/bitrix/modules/main/lib/engine/action.php:116
#7: Bitrix\Main\Engine\Action->runWithSourceParametersList() /home/bitrix/www/bitrix/modules/main/lib/engine/controller.php:298
#8: Bitrix\Main\Engine\Controller->run(string, array) /home/bitrix/www/bitrix/modules/main/lib/httpapplication.php:118
#9: Bitrix\Main\HttpApplication->run() /home/bitrix/www/bitrix/modules/main/services/ajax.php:17
#10: require(string) /home/bitrix/www/bitrix/services/main/ajax.php:1 ----------
--------------------------------------------------------------------------------
Но из за ошибки отсутствия файла libmysqlclient.so.18 установленные сайты не показывались вообще. sendmail не работал из-за этой ошибки также. Функция php mail() тоже не работала.
Устранив ошибку с libmysqlclient.so.18 - функция php mail() и sendmail заработали. Сайты Битрикс тоже начали определяться/создаваться.
php > var_dump(mail('testim@mail.ru', 'testovoe pismo ', 'Prishlo!')); bool(true)
(echo "Subject:Hi"; echo "Body contents";) | sendmail -F "test" testim@mail.ru Mail Delivery Status Report will be mailed to <root>.
Правда писем нет! Проверял входящие и спам. Пробовал слать на mail.ru, yandex.ru, hotmail.com
В CRM битрикса без изменений всё также ошибка выдаётся при попытке отправить письмо: Column count doesn't match value count at row 1...
Народ может у кого есть идеи как исправить? Какие можно логи посмотреть на сервере (Битрикса, sendmail, другие)?
1. запустите проверку системы 2. ошибка не в почте у вас на скрине, а в БД или чем-то подобном 3. ТП верно вам подсказала, настройте отправку писем через msmtp с авторизацией
Перезапустил я сервер. php mail() и sendmail заработали! Отлично, полдела сделаны!
Цитата
Денис Диденко написал: Дмитрий , для начала тестирование базы данных запустите
Провёл полное тестирование системы. При проверке "структуры базы данных" было выявлено 2 ошибки, с возможностью исправления. Я их исправил.
Но всё равно при отправки письма в битриксе, вылезает: Mysql query error: (1136) Column count doesn't match value count at row 1...
Цитата
Александр Гусев написал: 1. запустите проверку системы 2. ошибка не в почте у вас на скрине, а в БД или чем-то подобном 3. ТП верно вам подсказала, настройте отправку писем через msmtp с авторизацией
У меня тут идея появилась переустановить модуль "Почта" на сайте. Народ подскажите, если я удалю модуль(с сохранением таблиц) "Почта", а потом заново установлю, какие-нибудь важные данные не сотрутся?
Александр Медведев написал: Судя по коду при добавлении контакта до таблицы b_mail_contact не все поля доходят, к примеру обязательное USER_ID
И возникает вопрос почему не доходят и что делать. SQL я уже подзабыл если честно. Но если добавить ещё 2 значения в запрос, то он успешно выполняеться. Это поля: FILE_ID, USER_ID.
Была такая проблема. Когда хотим отправить сообщение на mail(страница /mail/message/new) выводит ошибку "mysql_query error column count doesn't match value count at row 1". Версия php была PHP 5.6.27. Через неделю общения с Тех. Поддержкой, посоветовали обновить php. После обновления стало, вроде, все нормально.