|
|
24.09.2013, 02:03
|
|
Гость
Гость
|
подскажите ка сделать отправку письма? у меня выдает: ошибка в компоненте
Код:<?
$shop->SaveOrder($msgID);
while (ob_end_clean());
if ($isNaked) {
echo 'OK';
} else {
$EN = nc_Core::get_object()->sub_class->get_by_id($cc_settings['myorder_sub_id'], 'EnglishName');
$HU = nc_Core::get_object()->sub_class->get_by_id($cc_settings['myorder_sub_id'], 'Hidden_URL');
header("Location: {$HU}{$EN}_$msgID.html");
}
if (!$AUTH_USER_ID) {
$hash = md5((mt_rand(1, 1000) * mt_rand(1, 100) + mt_rand(1, 10000)) / mt_rand(1, 10));
$SQL = "update Message$classID set user_hash = '$hash' where Message_ID = " . $msgID;
$db->query($SQL);
$_SESSION['user_hash'] = $hash;
}
exit;
?>
|
|
|
24.09.2013, 18:24
|
|
Руслан Густокашин
Студия Вэлпис
Зарегистрирован: 2012-02-06
Сообщений: 962
|
С виду все правильно. Мне кажется, Вы привели не тот код, на который ругается, а какой-то другой.
И у вас здесь нет функции отправки письма.
SaveOrder, конечно, помимо всего прочего отправляет и письмо (админам + покупателю), но это ведь системная функция NetCat и должна работать без доработок.
|
|
|
24.09.2013, 19:53
|
|
Гость
Гость
|
почему она не работает? отправляет только менеджеру, а покупателю нет! где смотреть то?
|
|
|
24.09.2013, 21:35
|
|
Руслан Густокашин
Студия Вэлпис
Зарегистрирован: 2012-02-06
Сообщений: 962
|
Проверьте, чтобы в поле "Email, с которого высылаются письма" в настройках магазина был указан правильный емайл.
Также посмотрите логи почтового сервиса на хостинге - возможно, письма все-таки уходят, но не принимаются удаленным сервером по какой-то причине.
|
|
|
13.03.2019, 22:35
|
|
Pilot
Тех-Альянс
Зарегистрирован: 2007-02-20
Сообщений: 45
|
В стандартном компоненте заготовке Заказ
в поле "Действие после добавления объекта"
Ориентировочно на строке 50 есть строка
Код:$system_settings = $nc_core->get_settings('', 'auth');
После чего происходит отправка письма с регистрационными данными. Так вот, это письмо ни когда не уйдёт из-за отсутсвия $system_settings['SpamFromEmail']
Для того чтобы письмо ушло необходимо
Код:$system_settings = $nc_core->get_settings('', 'auth');
Заменить на
Код:$system_settings = $nc_core->get_settings('', 'system');
И письмо с авторизационными данными уйдёт.
Это починил. Далее... Зачем отправлять данное письмо если есть метод отправки письма с новым заказом и регистрационными данными? Опять таки, это письмо с новым заказом и регистрационными данными ни когда не уйдёт, потому далее есть вызов
Код:$netshop->place_order($order,$reg_data);
строка 877 в файле netcat/modules/netshop/nc_netshop.class.php имеет второй аргумент $reg_data = array()
Для сохранения заказа и прочих плюх. Методом дебага удалось понять, что в данном вызове не хватает второго аргумента, а именно сам вызов должен быть таким:
Код:
$reg_data['user_id'] = $user_id;
$reg_data['password'] = $password;
$netshop->place_order($order,$reg_data);
И чудо! Письмо с новым заказом и регистрационными данными успешно уходит! Прошу проверить и дать обратную связь.
pilot
|