Писать на форуме DIAFAN.CMS могут только зарегистрированные пользователи. Войдите или зарегистрируйтесь.

Форум Общие вопросы Ошибки DIAFAN.CMS Ошибка отправлении почты при заказе или отзыве


Anna M (hide.catalist) 111 августа, воскресенье, редакция 11 августа, воскресенье

Добрый день!
После установки обновлений CMS возникла ошибка при оформлении заказа
Fatal Error: Call to undefined function send_mail() custom/my/modules/cart/cart.action.php: 674
Также не приходят сообщения админу о новых отзывах, а в админке в уведомлениях появляется сообщение об ошибке отправления.
Доработки сайта в этот период не производились.
Код, где указана ошибка:

Код
$cart = $this->diafan->_cart->get();
if ($cart)
{
foreach ($cart as $good_id => $array)
{
foreach ($array as $param => $arr)
{
foreach ($arr as $additional_cost => $c)
{
$err = $this->diafan->_cart->set(0, $good_id, $param, $additional_cost, "count");

Показать весь код
}
}
}
}
$good_id = $this->diafan->filter($_POST, 'int', 'good_id');
$this->tag = 'shop'.$good_id;

$row = DB::query_fetch_array("SELECT id, is_file FROM {shop} WHERE id=%d AND trash='0' AND [act]='1' LIMIT 1", $good_id);

if (empty($row['id']))
{
$this->result["errors"][0] = 'ERROR';
return;
}

Заранее благодарю.

Андрей (R4W) 8711 августа, воскресенье

Попробуйте временно переименовать custom/my/modules/cart/cart.action.php чтобы работал дефолтный от новой версии и протестите хорошенечко ничего ли не отвалилось

Anna M (hide.catalist) 111 августа, воскресенье

Переименовала. При оформлении заказа ошибка уже не выводится, всё выглядит нормально, но письма всё равно не отправляются, ни админу, ни пользователю. С отзывами то же самое.

Владимир (german3w) 10811 августа, воскресенье

Многое зависит от того, с какой версии вы обновлялись.
До обновления, был ли у вас модуль "Уведомления"?

Anna M (hide.catalist) 111 августа, воскресенье

Не было, перед этим была версия конца 17 года.

Андрей (R4W) 8711 августа, воскресенье

Проверьте что там в модуле уведомления https://monosnap.com/file/ySr8HmCSxV2tOdNwBP0Um3qdyIdBiv
Поставьте эти 3 галочки https://monosnap.com/file/QMjLXvX991thANx5QjFLj1G76yXVN5
Потом прямо из этого модуля новое сообщение пошлите и посмотрите доставляется ли. Возможно проблема в SMTP

Anna M (hide.catalist) 111 августа, воскресенье

Галочки были установлены, из модуля сообщение не отправляется. SMTP у меня tls://smtp.mail.ru. Вроде всё правильно, в настройках mail.ru так и указано.

Владимир (german3w) 10811 августа, воскресенье

У меня, работает корректно, только если установлена одна первая птичка. А последняя - не даёт возможности отследить отправку. Её можно выставить, если не нужна статистика, и всё уже работает.

Anna M (hide.catalist) 111 августа, воскресенье, редакция 11 августа, воскресенье

У меня вообще выглядит немного иначе
https://monosnap.com/file/b0Y5mFpesVZt7sgM9iJ1Dd1wWkBCRJ
А галочка "Включить отложенную отправку почты" находится во вкладке почта.
Но не суть. Пробовала всё отключить кроме автоматической отправки, всё равно не работает.

Виталий (DIAFAN.CMS) 68211 августа, воскресенье

В последних обновлениях модуль уведомлений переехал из настроек сайта в модуль уведомлений как раз. Так что надо смотреть, что там в кастоме осталось от старого. И удалить.
Ну и smtp проверить

Anna M (hide.catalist) 111 августа, воскресенье

Это в коде нужно копаться или какую-то определенную папку удалить?

Александра (Alexa0105) 19312 августа, понедельник

Все измененные файлы должны лежать в папке custom.
По идее вам нужно в ней отключить тему (переименовать временно) и посмотреть, будут ли отправляться письма.
Если будут, значит в вашей теме что-то не так. Тут нужно будет смотреть предметно, какой файл у вас там лишний.
Если не будут, значит что-то где-то с настройками не так (вероятнее всего).

И кстати:
После обновления восстановление БД делали?

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

И покажите настройки SMTP.

Владимир (german3w) 10811 августа, воскресенье

На всех сайтах, работает отправка сообщений, без использования SMTP,. Только нужно указывать почтовый ящик, с которого идёт отправка сообщений, созданный на вашем сервере почты, для вашего домена. Например, ваш сайт: mysite.ru тогда почтовый ящик, должен быть вида offise@mysite.ru, к примеру.
В таком случае идёт отправка без проблем. Не существующий ящик - не поможет.

Anna M (hide.catalist) 111 августа, воскресенье

Не поняла, что Вы имеете в виду. У меня ящик вида offise@mysite.ru, До обновления всё отправлялось. При отключении SMTP-авторизации выдает ошибку.

Владимир (german3w) 10811 августа, воскресенье

Я имел в виду, в вашем случае my_post@replicarts.ru
И, то что я написал, это лишь один из вариантов.
Вообще, с этим вопросом, нужно смотреть и настройки хостинга, и сайта и пр.
Возможно, нужно откатить обновление, и затем, на тестовом сайте (поддомене) пробовать обновлять.

Александр (capitan) 10812 августа, понедельник

Посмотрите, чтобы в пароле не было символов типа % или <, >

Может выдавать ошибку, у меня так было, когда пароль не сам вводишь, а он генерируется сервером.

Павел (kpv77725) 2112 августа, понедельник

У Вас почта не делегированна яндексу?

Иван (9588434) Сайт в Diafan.Cloud12 августа, понедельник

У меня похожая проблема. Думаю не в настройках дело. После обновления перестал добавлять получателя и отправителя! В ручном режиме прописываешь адреса письмо уходит! Как решить знает кто?

Иван (9588434) Сайт в Diafan.Cloud12 августа, понедельник

После сегодняшнего обновления все заработало