Добрый день. По-моему, в сборке 2.0.2.0 есть ошибка. В файле модели catalog/model/account/customer.php, перед строкой №78: "$mail->setSubject($this->language->get('text_new_customer'));" не хватает строк: $mail->setTo($this->config->get('config_email')); $mail->setFrom($this->config->get('config_email')); $mail->setSender($this->config->get('config_name')); Ибо при регистрации клиента система ругается на то, что не хватает полей To, From и Sender. Если я не прав и значения этих полей должны браться из какого-то другого места, поправьте меня.
В 2.0.2.0 проблемы с почтой http://forum.opencart-russia.ru/threads/russkaja-sborka-opencart-2-0-2-x-reliz.317/#post-1765
На пяток строк выше не вижу, вижу на пару десятков строк выше: Код: $mail->setTo($data['email']); $mail->setFrom($this->config->get('config_email')); $mail->setSender($this->config->get('config_name')); $mail->setSubject($subject); $mail->setText($message); $mail->send(); // Send to main admin email if new account email is enabled if ($this->config->get('config_account_mail')) { $message = $this->language->get('text_signup') . "\n\n"; $message .= $this->language->get('text_website') . ' ' . $this->config->get('config_name') . "\n"; $message .= $this->language->get('text_firstname') . ' ' . $data['firstname'] . "\n"; $message .= $this->language->get('text_lastname') . ' ' . $data['lastname'] . "\n"; $message .= $this->language->get('text_customer_group') . ' ' . $customer_group_info['name'] . "\n"; $message .= $this->language->get('text_email') . ' ' . $data['email'] . "\n"; $message .= $this->language->get('text_telephone') . ' ' . $data['telephone'] . "\n"; $mail = new Mail(); $mail->protocol = $this->config->get('config_mail_protocol'); $mail->parameter = $this->config->get('config_mail_parameter'); $mail->smtp_hostname = $this->config->get('config_mail_smtp_host'); $mail->smtp_username = $this->config->get('config_mail_smtp_username'); $mail->smtp_password = html_entity_decode($this->config->get('config_mail_smtp_password'), ENT_QUOTES, 'UTF-8'); $mail->smtp_port = $this->config->get('config_mail_smtp_port'); $mail->smtp_timeout = $this->config->get('config_mail_smtp_timeout'); $mail->setSubject($this->language->get('text_new_customer')); $mail->setText($message); $mail->send(); ... } Вы об этом? Если да, то эти строки относятся к другому экземпляру объекта Mail.
Кстати еще одна ошибка, в файле catalog/controller/account/success.php, в строке 32: Код: $data['text_message'] = sprintf($this->language->get('text_message'), $this->url->link('information/contact')); А должно быть: Код: $data['text_message'] = sprintf($this->language->get('text_message'), $this->config->get('config_name'), $this->url->link('information/contact'));
нет не должно. Я уже писал @Romans и он исправил перевод для след версии, а там нет места для config_name т.е в языке будет так Код: $_['text_message'] = '<p>Поздравляем! Ваш Личный Кабинет был успешно создан.</p><p>Теперь вы можете воспользоваться дополнительными возможностями: просмотр истории заказов, печать счета, изменение своей контактной информации и адресов доставки и многое другое.</p><p>Если у Вас есть какие-либо вопросы, <a href="%s">напишите нам</a>.</p>';
Все верно написали, не хватает Код: $mail->setTo($this->config->get('config_email')); $mail->setFrom($this->config->get('config_email')); $mail->setSender(html_entity_decode($this->config->get('config_name'), ENT_QUOTES, 'UTF-8'));
А ну да, в третьей строке именно так: Код: $mail->setSender(html_entity_decode($this->config->get('config_name'), ENT_QUOTES, 'UTF-8'));
Я только что глянут в оригинальной версии 2.2 PHP: $mail = new Mail(); $mail->protocol = $this->config->get('config_mail_protocol'); $mail->parameter = $this->config->get('config_mail_parameter'); $mail->smtp_hostname = $this->config->get('config_mail_smtp_hostname'); $mail->smtp_username = $this->config->get('config_mail_smtp_username'); $mail->smtp_password = html_entity_decode($this->config->get('config_mail_smtp_password'), ENT_QUOTES, 'UTF-8'); $mail->smtp_port = $this->config->get('config_mail_smtp_port'); $mail->smtp_timeout = $this->config->get('config_mail_smtp_timeout'); $mail->setTo($data['email']); $mail->setFrom($this->config->get('config_email')); $mail->setSender(html_entity_decode($this->config->get('config_name'), ENT_QUOTES, 'UTF-8')); $mail->setSubject($subject); $mail->setText($message); $mail->send(); Вот там есть кусок кода