Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Ошибка отправки письма


btsyupilo

Recommended Posts

Здравствуйте.

Есть форма обратной связи на странице с контактами. При отправке данной формы получаю следующую ошибку:
 

Notice: Undefined index: message in /home/*host*/*domain.ru*/storage/modification/catalog/controller/information/contact.php on line 24
Fatal error: Uncaught Exception: Error: E-Mail message required! in /home/*host*/*domain.ru*/docs/system/library/mail.php:135 Stack trace: #0 /home/*host*/*domain.ru*/storage/modification/catalog/controller/information/contact.php(25): Mail->send() #1 /home/*host*/*domain.ru*/storage/modification/system/engine/action.php(79): ControllerInformationContact->index() #2 /home/*host*/*domain.ru*/docs/system/engine/router.php(67): Action->execute(Object(Registry)) #3 /home/*host*/*domain.ru*/docs/system/engine/router.php(56): Router->execute(Object(Action)) #4 /home/*host*/*domain.ru*/docs/system/framework.php(168): Router->dispatch(Object(Action), Object(Action)) #5 /home/*host*/*domain.ru*/docs/system/startup.php(104): require_once('/home/bazisener...') #6 /home/*host*/*domain.ru*/docs/index.php(19): start('catalog') #7 {main} thrown in /home/*host*/*domain.ru*/docs/system/library/mail.php on line 135

При этом остальные формы на других страницах и в модальных окнах работают корректно, выдавая сообщение об успешной отправке.

Отрывок кода из файла contact.php
 

		if (($this->request->server['REQUEST_METHOD'] == 'POST')) {
			$mail = new Mail($this->config->get('config_mail_engine'));
			$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($this->config->get('config_email'));
			$mail->setFrom($this->config->get('config_email'));
			//$mail->setReplyTo($this->request->post['email']);
			$mail->setSender(html_entity_decode($this->request->post['name'], ENT_QUOTES, 'UTF-8'));
			$mail->setSubject(html_entity_decode(sprintf($this->language->get('email_subject'), $this->request->post['name']), ENT_QUOTES, 'UTF-8'));
			$mail->setText($this->request->post['message']);
			$mail->send();

			$this->response->redirect($this->url->link('information/contact/success'));
		}


Отрывок кода из файла mail.php
 

		if ((!$this->text) && (!$this->html)) {
			throw new \Exception('Error: E-Mail message required!');
		}


В чем может быть проблема и как решить данную проблему?
Версия Opencart 3.0.2.0.

Надіслати
Поділитися на інших сайтах


нет поля message наверное.

в дефолтном шаблоне поле называется enquiry, значит нужно

$mail->setText($this->request->post['enquiry']);

в стандартном контроллере так и есть, видимо какой-то кривой модификатор "исправил" вам отправку

 

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.