Losa 0 Опубликовано 14 октября, 2015 Жалоба Share Опубликовано 14 октября, 2015 День добрый. Как указать несколько получателей для копий писем с заказом? Этот вопрос я уже задавала и ответ даже был добавлен в FAQ В Админке в опции получатель копий указываете адреса через запятую. Затем в /app/Controller/OrdersController.php правьте: // Send to admin if($config['SEND_EXTRA_EMAIL'] != '') { // Set up mail $this->Email->init(); $this->Email->From = $config['NEW_ORDER_FROM_EMAIL']; $this->Email->FromName = __($config['NEW_ORDER_FROM_NAME'],true); $this->Email->AddAddress($config['SEND_EXTRA_EMAIL']); $this->Email->Subject = $subject; // Email Body $this->Email->Body = $body; // Sending mail $this->Email->send(); } на что-то вроде: // Send to admin if($config['SEND_EXTRA_EMAIL'] != '') { // Set up mail $this->Email->init(); $this->Email->From = $config['NEW_ORDER_FROM_EMAIL']; $this->Email->FromName = __($config['NEW_ORDER_FROM_NAME'],true); $recipients = explode(',',$config['SEND_EXTRA_EMAIL']); foreach($recipients as $key => $value) { $this->Email->AddAddress($value); } $this->Email->Subject = $subject; // Email Body $this->Email->Body = $body; // Sending mail $this->Email->send(); } Но после последних обновлений, подправить файл OrdersController.php уже не получается. Пожалуйста, подскажите как реализовать это на последней версии 2.38? Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 14 октября, 2015 Жалоба Share Опубликовано 14 октября, 2015 Почему не получается?! Код ведь особо не менялся. Ссылка на сообщение Поделиться на другие сайты
Losa 0 Опубликовано 14 октября, 2015 Автор Жалоба Share Опубликовано 14 октября, 2015 На сколько я понимаю, изменялась строка $this->Email->AddAddress($config['SEND_EXTRA_EMAIL']); Но в последней версии эта строка не активна // Email Subject $subject = $email_template['EmailTemplateDescription']['subject']; $subject = $config['SITE_NAME'] . ' - ' . $subject; $body = $email_template['EmailTemplateDescription']['content']; $body = str_replace('{$name}', $_POST['bill_name'], $body); $fio = explode(" ", $_POST['bill_name']); $body = str_replace('{$firstname}', isset($fio[0]) ? $fio[0] : $_POST['bill_name'], $body); $body = str_replace('{$lastname}', isset($fio[1]) ? $fio[1] : $_POST['bill_name'], $body); $body = str_replace('{$email}', $_POST['email'], $body); $body = str_replace('{$password}', $customer_password, $body); $this->Email->init(); $this->Email->From = $config['NEW_ORDER_FROM_EMAIL']; $this->Email->FromName = __($config['NEW_ORDER_FROM_NAME'],true); // Send to customer $this->Email->AddAddress($order['Order']['email']); // Send to admin //$this->Email->AddCC($config['SEND_EXTRA_EMAIL']); $this->Email->Subject = $subject; // Email Body $this->Email->Body = $body; // Sending mail $this->Email->send(); } } Пробовала вставлять условие $recipients = explode(',',$config['SEND_EXTRA_EMAIL']); foreach($recipients as $key => $value) { $this->Email->AddAddress($value); } после строки $this->Email->FromName = __($config['NEW_ORDER_FROM_NAME'],true); Не помогает. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 14 октября, 2015 Жалоба Share Опубликовано 14 октября, 2015 На сколько я понимаю, изменялась строка $this->Email->AddAddress($config['SEND_EXTRA_EMAIL']); Но в последней версии эта строка не активна Пробовала вставлять условие после строки $this->Email->FromName = __($config['NEW_ORDER_FROM_NAME'],true); Не помогает. Смотрите ниже в файле, это не тот код Вы привели. Начиная с 404 строки идёт нужный код, тот, что указан и faq. Вы просто код из faq копируйте и ищите поиском по этому коду в файле /app/Controller/OrdersController.php Ссылка на сообщение Поделиться на другие сайты
Losa 0 Опубликовано 14 октября, 2015 Автор Жалоба Share Опубликовано 14 октября, 2015 Спасибо, ошиблась. Нашла и заменила, но почему то не работает. Кеш почистила. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 14 октября, 2015 Жалоба Share Опубликовано 14 октября, 2015 Через запутяю указали получателей копий писем в Админке - Настройки - Магазин?! Должно работать, этот совет ведь проверялся на работающих магазинах. Ссылка на сообщение Поделиться на другие сайты
Losa 0 Опубликовано 14 октября, 2015 Автор Жалоба Share Опубликовано 14 октября, 2015 Все еще раз проверила. Два адреса через запятую указала. Не могу понять никак понять в чем дело. Письма не уходят ни на один из двух адресов. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 14 октября, 2015 Жалоба Share Опубликовано 14 октября, 2015 А покупатель получает письмо? На некоорых хостингах бывает проблема, что нельзя сразу несколько писем отправлять, надо ставить задержку между письмами. Ссылка на сообщение Поделиться на другие сайты
Losa 0 Опубликовано 14 октября, 2015 Автор Жалоба Share Опубликовано 14 октября, 2015 Да, покупателю письма приходят. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 14 октября, 2015 Жалоба Share Опубликовано 14 октября, 2015 Да, покупателю письма приходят. А когда был оригинальный код, т.е. с одним получаетелм копии письма. Админу приходило письмо или тоже не приходило!? Только покупателю приходило?! Попробуйте в /app/Controller/OrdersController.php поменять: // Sending mail $this->Email->send(); } // Send to admin if($config['SEND_EXTRA_EMAIL'] != '') { на: // Sending mail $this->Email->send(); } usleep(300000); // Send to admin if($config['SEND_EXTRA_EMAIL'] != '') { Ссылка на сообщение Поделиться на другие сайты
Losa 0 Опубликовано 14 октября, 2015 Автор Жалоба Share Опубликовано 14 октября, 2015 (изменено) Когда был оригинальный код, т.е. с одним получателем копии письма приходили. Изменение внесла, не помогло. Изменено 14 октября, 2015 пользователем Losa Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 14 октября, 2015 Жалоба Share Опубликовано 14 октября, 2015 Покажите свой исправленный файл /app/Controller/OrdersController.php и что у Вас указано в Админке - Настройки - Магазин - Настройка email - Получатель писем со страницы обратной связи Ссылка на сообщение Поделиться на другие сайты
Losa 0 Опубликовано 14 октября, 2015 Автор Жалоба Share Опубликовано 14 октября, 2015 В Админке - Настройки - Магазин - Настройка email - Отправлять копии писем с заказом на zakaz@globalhobby.ru,ravil@globalhobby.ru OrdersController.php Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 14 октября, 2015 Жалоба Share Опубликовано 14 октября, 2015 А если вот этот /app/Controller/OrdersController.php Попробуйте. OrdersController.php Ссылка на сообщение Поделиться на другие сайты
Losa 0 Опубликовано 14 октября, 2015 Автор Жалоба Share Опубликовано 14 октября, 2015 Попробовала, не работает. На один адрес все приходит без проблем. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 14 октября, 2015 Жалоба Share Опубликовано 14 октября, 2015 Я тогда даже и не знаю, что сказать, вариант из faq точно рабочий, он ведь делался по вопросу пользователя, проверялся. Может на хостинге какие-то ограничения на одномоментную отправку писем, т.е. клиенту письмо уходит, а следующее уже не отправляется из-за лимита какого-либо. Ссылка на сообщение Поделиться на другие сайты
Losa 0 Опубликовано 14 октября, 2015 Автор Жалоба Share Опубликовано 14 октября, 2015 Это мой запрос и был тогда. Все работало. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 14 октября, 2015 Жалоба Share Опубликовано 14 октября, 2015 Ну раз всё работало и Вы в коде ничего не правили, логично предположить, что каие-то лимиты на стороне хостинга появились. Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения