bark4ss Опубліковано: 26 червня 2014 Share Опубліковано: 26 червня 2014 Кнопка подсвечивается,но отправка не происходит.Как это исправить?Кстати,у меня не приходят письма о заказе товаров на почту.Где,что посмотреть?Раньше,вроде работало.Особо ничего не редактировал нигде. Надіслати Поділитися на інших сайтах More sharing options...
riny Опубліковано: 26 червня 2014 Share Опубліковано: 26 червня 2014 ссылку на сайт. Надіслати Поділитися на інших сайтах More sharing options... bark4ss Опубліковано: 26 червня 2014 Автор Share Опубліковано: 26 червня 2014 ссылку на сайт. http://www.steep.by/contact Надіслати Поділитися на інших сайтах More sharing options... riny Опубліковано: 26 червня 2014 Share Опубліковано: 26 червня 2014 в файле catalog\view\theme\OPC070161-2\template\information\contact.tpl после <div class="content"> вставить <form action="<?php echo $action; ?>" method="post" enctype="multipart/form-data"> Надіслати Поділитися на інших сайтах More sharing options... bark4ss Опубліковано: 26 червня 2014 Автор Share Опубліковано: 26 червня 2014 в файле catalog\view\theme\OPC070161-2\template\information\contact.tpl после <div class="content"> вставить <form action="<?php echo $action; ?>" method="post" enctype="multipart/form-data"> письма отправляются.Спасибо.И на почту приходят.А вы не знаете в чем дело может быть:на почту заказы товаров не приходят? Надіслати Поділитися на інших сайтах More sharing options... riny Опубліковано: 26 червня 2014 Share Опубліковано: 26 червня 2014 письма отправляются.Спасибо.И на почту приходят.А вы не знаете в чем дело может быть:на почту заказы товаров не приходят? а в админке включена отправка уведомлений? Надіслати Поділитися на інших сайтах More sharing options... bark4ss Опубліковано: 26 червня 2014 Автор Share Опубліковано: 26 червня 2014 а в админке включена отправка уведомлений? извините меня глупого)))Что-то я не нашел где это включается в админке. Надіслати Поділитися на інших сайтах More sharing options... riny Опубліковано: 26 червня 2014 Share Опубліковано: 26 червня 2014 извините меня глупого)))Что-то я не нашел где это включается в админке. система - настройки - почта - Оповещение о заказе по E-mail: - да Надіслати Поділитися на інших сайтах More sharing options... bark4ss Опубліковано: 26 червня 2014 Автор Share Опубліковано: 26 червня 2014 система - настройки - почта - Оповещение о заказе по E-mail: - да это включено. Надіслати Поділитися на інших сайтах More sharing options... bark4ss Опубліковано: 26 червня 2014 Автор Share Опубліковано: 26 червня 2014 может здесь надо что заполнить? Надіслати Поділитися на інших сайтах More sharing options... riny Опубліковано: 26 червня 2014 Share Опубліковано: 26 червня 2014 может здесь надо что заполнить? здесь все как надо, а причин может быть масса. присьма с обратной связи приходят на мыло? Надіслати Поділитися на інших сайтах More sharing options... bark4ss Опубліковано: 27 червня 2014 Автор Share Опубліковано: 27 червня 2014 здесь все как надо, а причин может быть масса. присьма с обратной связи приходят на мыло? да Надіслати Поділитися на інших сайтах More sharing options... riny Опубліковано: 27 червня 2014 Share Опубліковано: 27 червня 2014 да Тогда наверно стоит глянуть в журнал ошибок после оформления заказа. Кстати, в админке заказы отображаются? Надіслати Поділитися на інших сайтах More sharing options... bark4ss Опубліковано: 27 червня 2014 Автор Share Опубліковано: 27 червня 2014 Тогда наверно стоит глянуть в журнал ошибок после оформления заказа. Кстати, в админке заказы отображаются? да.отображаются.В журнале ошибок нет. Надіслати Поділитися на інших сайтах More sharing options... riny Опубліковано: 27 червня 2014 Share Опубліковано: 27 червня 2014 Дальше действия примерно такие: https://opencartforum.com/topic/35812-%D0%B7%D0%B0%D0%BA%D0%B0%D0%B7-%D0%BD%D0%B5-%D0%BF%D1%80%D0%B8%D1%85%D0%BE%D0%B4%D0%B8%D1%82-%D0%BD%D0%B0-%D0%BF%D0%BE%D1%87%D1%82%D1%83-%D0%BA%D1%82%D0%BE-%D0%BC%D0%BE%D0%B6%D0%B5%D1%82-%D0%BF%D0%BE%D0%BC%D0%BE%D1%87%D1%8C/page-2?hl=%D0%BF%D0%BE%D1%87%D1%82%D0%B0 Т.е. По идее должно уведомление приходить, если из контактов приходит, и тут удаленно уже ничем не поможешь. Надіслати Поділитися на інших сайтах More sharing options... bark4ss Опубліковано: 27 червня 2014 Автор Share Опубліковано: 27 червня 2014 Дальше действия примерно такие: https://opencartforum.com/topic/35812-%D0%B7%D0%B0%D0%BA%D0%B0%D0%B7-%D0%BD%D0%B5-%D0%BF%D1%80%D0%B8%D1%85%D0%BE%D0%B4%D0%B8%D1%82-%D0%BD%D0%B0-%D0%BF%D0%BE%D1%87%D1%82%D1%83-%D0%BA%D1%82%D0%BE-%D0%BC%D0%BE%D0%B6%D0%B5%D1%82-%D0%BF%D0%BE%D0%BC%D0%BE%D1%87%D1%8C/page-2?hl=%D0%BF%D0%BE%D1%87%D1%82%D0%B0 Т.е. По идее должно уведомление приходить, если из контактов приходит, и тут удаленно уже ничем не поможешь. Там нет решения.Точнее тс решил проблему,но как не написал((( Надіслати Поділитися на інших сайтах More sharing options... riny Опубліковано: 27 червня 2014 Share Опубліковано: 27 червня 2014 Там нет решения.Точнее тс решил проблему,но как не написал((( именно, как видно по той теме даже опытный глаз поначалу не смог определить в чем проблема, потому можете разве что ссылку дать посмотреть на оформление. Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... bark4ss Опубліковано: 8 липня 2014 Автор Share Опубліковано: 8 липня 2014 Настроил через smtp.Приходит письмо с заказом.Но в журнале ошибок вот такие строки появляются: 2014-07-08 9:59:50 - PHP Notice: Undefined property: Mail::$form in /home/steepby/public_html/system/library/mail.php on line 276 2014-07-08 9:59:51 - PHP Notice: Undefined property: Mail::$form in /home/steepby/public_html/system/library/mail.php on line 276 а вот эти строки из файла: <?php class Mail { protected $to; protected $from; protected $sender; protected $subject; protected $text; protected $html; protected $attachments = array(); public $protocol = 'mail'; public $hostname; public $username; public $password; public $port = 25; public $timeout = 5; public $newline = "\n"; public $crlf = "\r\n"; public $verp = false; public $parameter = ''; public function setTo($to) { $this->to = $to; } public function setFrom($from) { $this->from = $from; } public function setSender($sender) { $this->sender = $sender; } public function setSubject($subject) { $this->subject = $subject; } public function setText($text) { $this->text = $text; } public function setHtml($html) { $this->html = $html; } public function addAttachment($filename) { $this->attachments[] = $filename; } public function send() { if (!$this->to) { trigger_error('Error: E-Mail to required!'); exit(); } if (!$this->from) { trigger_error('Error: E-Mail from required!'); exit(); } if (!$this->sender) { trigger_error('Error: E-Mail sender required!'); exit(); } if (!$this->subject) { trigger_error('Error: E-Mail subject required!'); exit(); } if ((!$this->text) && (!$this->html)) { trigger_error('Error: E-Mail message required!'); exit(); } if (is_array($this->to)) { $to = implode(',', $this->to); } else { $to = $this->to; } $boundary = '----=_NextPart_' . md5(time()); $header = ''; $header .= 'MIME-Version: 1.0' . $this->newline; if ($this->protocol != 'mail') { $header .= 'To: ' . $to . $this->newline; $header .= 'Subject: ' . $this->subject . $this->newline; } $header .= 'Date: ' . date('D, d M Y H:i:s O') . $this->newline; $header .= 'From: ' . '=?UTF-8?B?' . base64_encode($this->sender) . '?=' . '<' . $this->from . '>' . $this->newline; $header .= 'Reply-To: ' . '=?UTF-8?B?' . base64_encode($this->sender) . '?=' . '<' . $this->from . '>' . $this->newline; $header .= 'Return-Path: ' . $this->from . $this->newline; $header .= 'X-Mailer: PHP/' . phpversion() . $this->newline; $header .= 'Content-Type: multipart/related; boundary="' . $boundary . '"' . $this->newline . $this->newline; if (!$this->html) { $message = '--' . $boundary . $this->newline; $message .= 'Content-Type: text/plain; charset="utf-8"' . $this->newline; $message .= 'Content-Transfer-Encoding: 8bit' . $this->newline . $this->newline; $message .= $this->text . $this->newline; } else { $message = '--' . $boundary . $this->newline; $message .= 'Content-Type: multipart/alternative; boundary="' . $boundary . '_alt"' . $this->newline . $this->newline; $message .= '--' . $boundary . '_alt' . $this->newline; $message .= 'Content-Type: text/plain; charset="utf-8"' . $this->newline; $message .= 'Content-Transfer-Encoding: 8bit' . $this->newline . $this->newline; if ($this->text) { $message .= $this->text . $this->newline; } else { $message .= 'This is a HTML email and your email client software does not support HTML email!' . $this->newline; } $message .= '--' . $boundary . '_alt' . $this->newline; $message .= 'Content-Type: text/html; charset="utf-8"' . $this->newline; $message .= 'Content-Transfer-Encoding: 8bit' . $this->newline . $this->newline; $message .= $this->html . $this->newline; $message .= '--' . $boundary . '_alt--' . $this->newline; } foreach ($this->attachments as $attachment) { if (file_exists($attachment)) { $handle = fopen($attachment, 'r'); $content = fread($handle, filesize($attachment)); fclose($handle); $message .= '--' . $boundary . $this->newline; $message .= 'Content-Type: application/octet-stream; name="' . basename($attachment) . '"' . $this->newline; $message .= 'Content-Transfer-Encoding: base64' . $this->newline; $message .= 'Content-Disposition: attachment; filename="' . basename($attachment) . '"' . $this->newline; $message .= 'Content-ID: <' . basename(urlencode($attachment)) . '>' . $this->newline; $message .= 'X-Attachment-Id: ' . basename(urlencode($attachment)) . $this->newline . $this->newline; $message .= chunk_split(base64_encode($content)); } } $message .= '--' . $boundary . '--' . $this->newline; if ($this->protocol == 'mail') { ini_set('sendmail_from', $this->from); if ($this->parameter) { mail($to, '=?UTF-8?B?' . base64_encode($this->subject) . '?=', $message, $header, $this->parameter); } else { mail($to, '=?UTF-8?B?' . base64_encode($this->subject) . '?=', $message, $header); } } elseif ($this->protocol == 'smtp') { $handle = fsockopen($this->hostname, $this->port, $errno, $errstr, $this->timeout); if (!$handle) { trigger_error('Error: ' . $errstr . ' (' . $errno . ')'); exit(); } else { if (substr(PHP_OS, 0, 3) != 'WIN') { socket_set_timeout($handle, $this->timeout, 0); } while ($line = fgets($handle, 515)) { if (substr($line, 3, 1) == ' ') { break; } } if (substr($this->hostname, 0, 3) == 'tls') { fputs($handle, 'STARTTLS' . $this->crlf); while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 220) { trigger_error('Error: STARTTLS not accepted from server!'); exit(); } } if (!empty($this->username) && !empty($this->password)) { fputs($handle, 'EHLO ' . getenv('SERVER_NAME') . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 250) { trigger_error('Error: EHLO not accepted from server!'); exit(); } fputs($handle, 'AUTH LOGIN' . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 334) { trigger_error('Error: AUTH LOGIN not accepted from server!'); exit(); } fputs($handle, base64_encode($this->username) . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 334) { trigger_error('Error: Username not accepted from server!'); exit(); } fputs($handle, base64_encode($this->password) . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 235) { trigger_error('Error: Password not accepted from server!'); exit(); } } else { fputs($handle, 'HELO ' . getenv('SERVER_NAME') . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 250) { trigger_error('Error: HELO not accepted from server!'); exit(); } } if ($this->verp) { fputs($handle, 'MAIL FROM: <' . $this->form . '>XVERP' . $this->crlf); } else { fputs($handle, 'MAIL FROM: <' . $this->form . '>' . $this->crlf); } $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 250) { trigger_error('Error: MAIL FROM not accepted from server!'); exit(); } if (!is_array($this->to)) { fputs($handle, 'RCPT TO: <' . $this->to . '>' . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if ((substr($reply, 0, 3) != 250) && (substr($reply, 0, 3) != 251)) { trigger_error('Error: RCPT TO not accepted from server!'); exit(); } } else { foreach ($this->to as $recipient) { fputs($handle, 'RCPT TO: <' . $recipient . '>' . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if ((substr($reply, 0, 3) != 250) && (substr($reply, 0, 3) != 251)) { trigger_error('Error: RCPT TO not accepted from server!'); exit(); } } } fputs($handle, 'DATA' . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 354) { trigger_error('Error: DATA not accepted from server!'); exit(); } // According to rfc 821 we should not send more than 1000 including the CRLF $message = str_replace("\r\n", "\n", $header . $message); $message = str_replace("\r", "\n", $message); $lines = explode("\n", $message); foreach ($lines as $line) { $results = str_split($line, 998); foreach ($results as $result) { if (substr(PHP_OS, 0, 3) != 'WIN') { fputs($handle, $result . $this->crlf); } else { fputs($handle, str_replace("\n", "\r\n", $result) . $this->crlf); } } } fputs($handle, '.' . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 250) { trigger_error('Error: DATA not accepted from server!'); exit(); } fputs($handle, 'QUIT' . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 221) { trigger_error('Error: QUIT not accepted from server!'); exit(); } fclose($handle); } } } } ?> что эта за ошибка? Надіслати Поділитися на інших сайтах More sharing options... SquirrelGirl Опубліковано: 11 липня 2014 Share Опубліковано: 11 липня 2014 (змінено) в файле catalog\view\theme\OPC070161-2\template\information\contact.tpl после <div class="content"> вставить <form action="<?php echo $action; ?>" method="post" enctype="multipart/form-data"> Простите, а после какого именно div class=content это вставлять? у меня их почему-то два в указанном месте... Оба варианта не помогли. Письма всё равно не приходят. Змінено 11 липня 2014 користувачем SquirrelGirl Надіслати Поділитися на інших сайтах More sharing options... riny Опубліковано: 11 липня 2014 Share Опубліковано: 11 липня 2014 Простите, а после какого именно div class=content это вставлять? у меня их почему-то два в указанном месте... Оба варианта не помогли. Письма всё равно не приходят. не факт, что вам это надо. но если у вас этот же шаблон, то вроде после первого. Надіслати Поділитися на інших сайтах More sharing options... SquirrelGirl Опубліковано: 11 липня 2014 Share Опубліковано: 11 липня 2014 не факт, что вам это надо. но если у вас этот же шаблон, то вроде после первого. Ясно, сразу кинулась проверять, не посмотрев, что да как. :) Мне вообще нужна сейчас только отправка отзывов на почту, вот её и пыталась решить. Как поняла, вторая проблема автора темы решена тут: Все, что касается email-уведомлений о заказе правим в файле/catalog/model/checkout/order.php. Для того, чтобы сделать такое же уведомление админу магазина, как и покупателю ищем комментарий: // Send to additional alert emails Смотрим от него пару позиций вверх и видим такие строки (у меня они на 559-561): $mail->setSubject(html_entity_decode($subject, ENT_QUOTES, 'UTF-8')); $mail->setText(html_entity_decode($text, ENT_QUOTES, 'UTF-8')); $mail->send(); Между темой и текстом письма вставляем $mail->setHtml($html); Чтобы получилось вот так: $mail->setSubject(html_entity_decode($subject, ENT_QUOTES, 'UTF-8')); $mail->setHtml($html); $mail->setText(html_entity_decode($text, ENT_QUOTES, 'UTF-8')); $mail->send(); Все, администратору магазина теперь будет приходить точно такое же письмо о заказе, как и покупателю. Не моё, взято с http://web.warwolf.org/opencart-odinakovye-uvedomleniya-o-zakaze-adm/#comment-17146 (не реклама, просто нашла решение, как делать текст скрытым, не знаю). Надіслати Поділитися на інших сайтах More sharing options... 3 weeks later... Ivan77rus Опубліковано: 1 серпня 2014 Share Опубліковано: 1 серпня 2014 Привет ! У меня похожая история как только не настроил не отправляет письма не админу не покупателю ( как быть ? а также не показывает тех кто зарегистрировался. Показывает тодько что поступил заказ увед. на почту не приходит также не отсылаются письма покупателям Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Шаблони, дизайн та оформлення магазину Не отправляет письмо Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut Вибір категорій і виробників для "Знайшли дешевше" шаблону Upstore Автор: Flint2000 × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
bark4ss Опубліковано: 26 червня 2014 Автор Share Опубліковано: 26 червня 2014 ссылку на сайт. http://www.steep.by/contact Надіслати Поділитися на інших сайтах More sharing options...
riny Опубліковано: 26 червня 2014 Share Опубліковано: 26 червня 2014 в файле catalog\view\theme\OPC070161-2\template\information\contact.tpl после <div class="content"> вставить <form action="<?php echo $action; ?>" method="post" enctype="multipart/form-data"> Надіслати Поділитися на інших сайтах More sharing options... bark4ss Опубліковано: 26 червня 2014 Автор Share Опубліковано: 26 червня 2014 в файле catalog\view\theme\OPC070161-2\template\information\contact.tpl после <div class="content"> вставить <form action="<?php echo $action; ?>" method="post" enctype="multipart/form-data"> письма отправляются.Спасибо.И на почту приходят.А вы не знаете в чем дело может быть:на почту заказы товаров не приходят? Надіслати Поділитися на інших сайтах More sharing options... riny Опубліковано: 26 червня 2014 Share Опубліковано: 26 червня 2014 письма отправляются.Спасибо.И на почту приходят.А вы не знаете в чем дело может быть:на почту заказы товаров не приходят? а в админке включена отправка уведомлений? Надіслати Поділитися на інших сайтах More sharing options... bark4ss Опубліковано: 26 червня 2014 Автор Share Опубліковано: 26 червня 2014 а в админке включена отправка уведомлений? извините меня глупого)))Что-то я не нашел где это включается в админке. Надіслати Поділитися на інших сайтах More sharing options... riny Опубліковано: 26 червня 2014 Share Опубліковано: 26 червня 2014 извините меня глупого)))Что-то я не нашел где это включается в админке. система - настройки - почта - Оповещение о заказе по E-mail: - да Надіслати Поділитися на інших сайтах More sharing options... bark4ss Опубліковано: 26 червня 2014 Автор Share Опубліковано: 26 червня 2014 система - настройки - почта - Оповещение о заказе по E-mail: - да это включено. Надіслати Поділитися на інших сайтах More sharing options... bark4ss Опубліковано: 26 червня 2014 Автор Share Опубліковано: 26 червня 2014 может здесь надо что заполнить? Надіслати Поділитися на інших сайтах More sharing options... riny Опубліковано: 26 червня 2014 Share Опубліковано: 26 червня 2014 может здесь надо что заполнить? здесь все как надо, а причин может быть масса. присьма с обратной связи приходят на мыло? Надіслати Поділитися на інших сайтах More sharing options... bark4ss Опубліковано: 27 червня 2014 Автор Share Опубліковано: 27 червня 2014 здесь все как надо, а причин может быть масса. присьма с обратной связи приходят на мыло? да Надіслати Поділитися на інших сайтах More sharing options... riny Опубліковано: 27 червня 2014 Share Опубліковано: 27 червня 2014 да Тогда наверно стоит глянуть в журнал ошибок после оформления заказа. Кстати, в админке заказы отображаются? Надіслати Поділитися на інших сайтах More sharing options... bark4ss Опубліковано: 27 червня 2014 Автор Share Опубліковано: 27 червня 2014 Тогда наверно стоит глянуть в журнал ошибок после оформления заказа. Кстати, в админке заказы отображаются? да.отображаются.В журнале ошибок нет. Надіслати Поділитися на інших сайтах More sharing options... riny Опубліковано: 27 червня 2014 Share Опубліковано: 27 червня 2014 Дальше действия примерно такие: https://opencartforum.com/topic/35812-%D0%B7%D0%B0%D0%BA%D0%B0%D0%B7-%D0%BD%D0%B5-%D0%BF%D1%80%D0%B8%D1%85%D0%BE%D0%B4%D0%B8%D1%82-%D0%BD%D0%B0-%D0%BF%D0%BE%D1%87%D1%82%D1%83-%D0%BA%D1%82%D0%BE-%D0%BC%D0%BE%D0%B6%D0%B5%D1%82-%D0%BF%D0%BE%D0%BC%D0%BE%D1%87%D1%8C/page-2?hl=%D0%BF%D0%BE%D1%87%D1%82%D0%B0 Т.е. По идее должно уведомление приходить, если из контактов приходит, и тут удаленно уже ничем не поможешь. Надіслати Поділитися на інших сайтах More sharing options... bark4ss Опубліковано: 27 червня 2014 Автор Share Опубліковано: 27 червня 2014 Дальше действия примерно такие: https://opencartforum.com/topic/35812-%D0%B7%D0%B0%D0%BA%D0%B0%D0%B7-%D0%BD%D0%B5-%D0%BF%D1%80%D0%B8%D1%85%D0%BE%D0%B4%D0%B8%D1%82-%D0%BD%D0%B0-%D0%BF%D0%BE%D1%87%D1%82%D1%83-%D0%BA%D1%82%D0%BE-%D0%BC%D0%BE%D0%B6%D0%B5%D1%82-%D0%BF%D0%BE%D0%BC%D0%BE%D1%87%D1%8C/page-2?hl=%D0%BF%D0%BE%D1%87%D1%82%D0%B0 Т.е. По идее должно уведомление приходить, если из контактов приходит, и тут удаленно уже ничем не поможешь. Там нет решения.Точнее тс решил проблему,но как не написал((( Надіслати Поділитися на інших сайтах More sharing options... riny Опубліковано: 27 червня 2014 Share Опубліковано: 27 червня 2014 Там нет решения.Точнее тс решил проблему,но как не написал((( именно, как видно по той теме даже опытный глаз поначалу не смог определить в чем проблема, потому можете разве что ссылку дать посмотреть на оформление. Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... bark4ss Опубліковано: 8 липня 2014 Автор Share Опубліковано: 8 липня 2014 Настроил через smtp.Приходит письмо с заказом.Но в журнале ошибок вот такие строки появляются: 2014-07-08 9:59:50 - PHP Notice: Undefined property: Mail::$form in /home/steepby/public_html/system/library/mail.php on line 276 2014-07-08 9:59:51 - PHP Notice: Undefined property: Mail::$form in /home/steepby/public_html/system/library/mail.php on line 276 а вот эти строки из файла: <?php class Mail { protected $to; protected $from; protected $sender; protected $subject; protected $text; protected $html; protected $attachments = array(); public $protocol = 'mail'; public $hostname; public $username; public $password; public $port = 25; public $timeout = 5; public $newline = "\n"; public $crlf = "\r\n"; public $verp = false; public $parameter = ''; public function setTo($to) { $this->to = $to; } public function setFrom($from) { $this->from = $from; } public function setSender($sender) { $this->sender = $sender; } public function setSubject($subject) { $this->subject = $subject; } public function setText($text) { $this->text = $text; } public function setHtml($html) { $this->html = $html; } public function addAttachment($filename) { $this->attachments[] = $filename; } public function send() { if (!$this->to) { trigger_error('Error: E-Mail to required!'); exit(); } if (!$this->from) { trigger_error('Error: E-Mail from required!'); exit(); } if (!$this->sender) { trigger_error('Error: E-Mail sender required!'); exit(); } if (!$this->subject) { trigger_error('Error: E-Mail subject required!'); exit(); } if ((!$this->text) && (!$this->html)) { trigger_error('Error: E-Mail message required!'); exit(); } if (is_array($this->to)) { $to = implode(',', $this->to); } else { $to = $this->to; } $boundary = '----=_NextPart_' . md5(time()); $header = ''; $header .= 'MIME-Version: 1.0' . $this->newline; if ($this->protocol != 'mail') { $header .= 'To: ' . $to . $this->newline; $header .= 'Subject: ' . $this->subject . $this->newline; } $header .= 'Date: ' . date('D, d M Y H:i:s O') . $this->newline; $header .= 'From: ' . '=?UTF-8?B?' . base64_encode($this->sender) . '?=' . '<' . $this->from . '>' . $this->newline; $header .= 'Reply-To: ' . '=?UTF-8?B?' . base64_encode($this->sender) . '?=' . '<' . $this->from . '>' . $this->newline; $header .= 'Return-Path: ' . $this->from . $this->newline; $header .= 'X-Mailer: PHP/' . phpversion() . $this->newline; $header .= 'Content-Type: multipart/related; boundary="' . $boundary . '"' . $this->newline . $this->newline; if (!$this->html) { $message = '--' . $boundary . $this->newline; $message .= 'Content-Type: text/plain; charset="utf-8"' . $this->newline; $message .= 'Content-Transfer-Encoding: 8bit' . $this->newline . $this->newline; $message .= $this->text . $this->newline; } else { $message = '--' . $boundary . $this->newline; $message .= 'Content-Type: multipart/alternative; boundary="' . $boundary . '_alt"' . $this->newline . $this->newline; $message .= '--' . $boundary . '_alt' . $this->newline; $message .= 'Content-Type: text/plain; charset="utf-8"' . $this->newline; $message .= 'Content-Transfer-Encoding: 8bit' . $this->newline . $this->newline; if ($this->text) { $message .= $this->text . $this->newline; } else { $message .= 'This is a HTML email and your email client software does not support HTML email!' . $this->newline; } $message .= '--' . $boundary . '_alt' . $this->newline; $message .= 'Content-Type: text/html; charset="utf-8"' . $this->newline; $message .= 'Content-Transfer-Encoding: 8bit' . $this->newline . $this->newline; $message .= $this->html . $this->newline; $message .= '--' . $boundary . '_alt--' . $this->newline; } foreach ($this->attachments as $attachment) { if (file_exists($attachment)) { $handle = fopen($attachment, 'r'); $content = fread($handle, filesize($attachment)); fclose($handle); $message .= '--' . $boundary . $this->newline; $message .= 'Content-Type: application/octet-stream; name="' . basename($attachment) . '"' . $this->newline; $message .= 'Content-Transfer-Encoding: base64' . $this->newline; $message .= 'Content-Disposition: attachment; filename="' . basename($attachment) . '"' . $this->newline; $message .= 'Content-ID: <' . basename(urlencode($attachment)) . '>' . $this->newline; $message .= 'X-Attachment-Id: ' . basename(urlencode($attachment)) . $this->newline . $this->newline; $message .= chunk_split(base64_encode($content)); } } $message .= '--' . $boundary . '--' . $this->newline; if ($this->protocol == 'mail') { ini_set('sendmail_from', $this->from); if ($this->parameter) { mail($to, '=?UTF-8?B?' . base64_encode($this->subject) . '?=', $message, $header, $this->parameter); } else { mail($to, '=?UTF-8?B?' . base64_encode($this->subject) . '?=', $message, $header); } } elseif ($this->protocol == 'smtp') { $handle = fsockopen($this->hostname, $this->port, $errno, $errstr, $this->timeout); if (!$handle) { trigger_error('Error: ' . $errstr . ' (' . $errno . ')'); exit(); } else { if (substr(PHP_OS, 0, 3) != 'WIN') { socket_set_timeout($handle, $this->timeout, 0); } while ($line = fgets($handle, 515)) { if (substr($line, 3, 1) == ' ') { break; } } if (substr($this->hostname, 0, 3) == 'tls') { fputs($handle, 'STARTTLS' . $this->crlf); while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 220) { trigger_error('Error: STARTTLS not accepted from server!'); exit(); } } if (!empty($this->username) && !empty($this->password)) { fputs($handle, 'EHLO ' . getenv('SERVER_NAME') . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 250) { trigger_error('Error: EHLO not accepted from server!'); exit(); } fputs($handle, 'AUTH LOGIN' . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 334) { trigger_error('Error: AUTH LOGIN not accepted from server!'); exit(); } fputs($handle, base64_encode($this->username) . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 334) { trigger_error('Error: Username not accepted from server!'); exit(); } fputs($handle, base64_encode($this->password) . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 235) { trigger_error('Error: Password not accepted from server!'); exit(); } } else { fputs($handle, 'HELO ' . getenv('SERVER_NAME') . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 250) { trigger_error('Error: HELO not accepted from server!'); exit(); } } if ($this->verp) { fputs($handle, 'MAIL FROM: <' . $this->form . '>XVERP' . $this->crlf); } else { fputs($handle, 'MAIL FROM: <' . $this->form . '>' . $this->crlf); } $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 250) { trigger_error('Error: MAIL FROM not accepted from server!'); exit(); } if (!is_array($this->to)) { fputs($handle, 'RCPT TO: <' . $this->to . '>' . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if ((substr($reply, 0, 3) != 250) && (substr($reply, 0, 3) != 251)) { trigger_error('Error: RCPT TO not accepted from server!'); exit(); } } else { foreach ($this->to as $recipient) { fputs($handle, 'RCPT TO: <' . $recipient . '>' . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if ((substr($reply, 0, 3) != 250) && (substr($reply, 0, 3) != 251)) { trigger_error('Error: RCPT TO not accepted from server!'); exit(); } } } fputs($handle, 'DATA' . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 354) { trigger_error('Error: DATA not accepted from server!'); exit(); } // According to rfc 821 we should not send more than 1000 including the CRLF $message = str_replace("\r\n", "\n", $header . $message); $message = str_replace("\r", "\n", $message); $lines = explode("\n", $message); foreach ($lines as $line) { $results = str_split($line, 998); foreach ($results as $result) { if (substr(PHP_OS, 0, 3) != 'WIN') { fputs($handle, $result . $this->crlf); } else { fputs($handle, str_replace("\n", "\r\n", $result) . $this->crlf); } } } fputs($handle, '.' . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 250) { trigger_error('Error: DATA not accepted from server!'); exit(); } fputs($handle, 'QUIT' . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 221) { trigger_error('Error: QUIT not accepted from server!'); exit(); } fclose($handle); } } } } ?> что эта за ошибка? Надіслати Поділитися на інших сайтах More sharing options... SquirrelGirl Опубліковано: 11 липня 2014 Share Опубліковано: 11 липня 2014 (змінено) в файле catalog\view\theme\OPC070161-2\template\information\contact.tpl после <div class="content"> вставить <form action="<?php echo $action; ?>" method="post" enctype="multipart/form-data"> Простите, а после какого именно div class=content это вставлять? у меня их почему-то два в указанном месте... Оба варианта не помогли. Письма всё равно не приходят. Змінено 11 липня 2014 користувачем SquirrelGirl Надіслати Поділитися на інших сайтах More sharing options... riny Опубліковано: 11 липня 2014 Share Опубліковано: 11 липня 2014 Простите, а после какого именно div class=content это вставлять? у меня их почему-то два в указанном месте... Оба варианта не помогли. Письма всё равно не приходят. не факт, что вам это надо. но если у вас этот же шаблон, то вроде после первого. Надіслати Поділитися на інших сайтах More sharing options... SquirrelGirl Опубліковано: 11 липня 2014 Share Опубліковано: 11 липня 2014 не факт, что вам это надо. но если у вас этот же шаблон, то вроде после первого. Ясно, сразу кинулась проверять, не посмотрев, что да как. :) Мне вообще нужна сейчас только отправка отзывов на почту, вот её и пыталась решить. Как поняла, вторая проблема автора темы решена тут: Все, что касается email-уведомлений о заказе правим в файле/catalog/model/checkout/order.php. Для того, чтобы сделать такое же уведомление админу магазина, как и покупателю ищем комментарий: // Send to additional alert emails Смотрим от него пару позиций вверх и видим такие строки (у меня они на 559-561): $mail->setSubject(html_entity_decode($subject, ENT_QUOTES, 'UTF-8')); $mail->setText(html_entity_decode($text, ENT_QUOTES, 'UTF-8')); $mail->send(); Между темой и текстом письма вставляем $mail->setHtml($html); Чтобы получилось вот так: $mail->setSubject(html_entity_decode($subject, ENT_QUOTES, 'UTF-8')); $mail->setHtml($html); $mail->setText(html_entity_decode($text, ENT_QUOTES, 'UTF-8')); $mail->send(); Все, администратору магазина теперь будет приходить точно такое же письмо о заказе, как и покупателю. Не моё, взято с http://web.warwolf.org/opencart-odinakovye-uvedomleniya-o-zakaze-adm/#comment-17146 (не реклама, просто нашла решение, как делать текст скрытым, не знаю). Надіслати Поділитися на інших сайтах More sharing options... 3 weeks later... Ivan77rus Опубліковано: 1 серпня 2014 Share Опубліковано: 1 серпня 2014 Привет ! У меня похожая история как только не настроил не отправляет письма не админу не покупателю ( как быть ? а также не показывает тех кто зарегистрировался. Показывает тодько что поступил заказ увед. на почту не приходит также не отсылаются письма покупателям Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Шаблони, дизайн та оформлення магазину Не отправляет письмо Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut Вибір категорій і виробників для "Знайшли дешевше" шаблону Upstore Автор: Flint2000 × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
bark4ss Опубліковано: 26 червня 2014 Автор Share Опубліковано: 26 червня 2014 в файле catalog\view\theme\OPC070161-2\template\information\contact.tpl после <div class="content"> вставить <form action="<?php echo $action; ?>" method="post" enctype="multipart/form-data"> письма отправляются.Спасибо.И на почту приходят.А вы не знаете в чем дело может быть:на почту заказы товаров не приходят? Надіслати Поділитися на інших сайтах More sharing options...
riny Опубліковано: 26 червня 2014 Share Опубліковано: 26 червня 2014 письма отправляются.Спасибо.И на почту приходят.А вы не знаете в чем дело может быть:на почту заказы товаров не приходят? а в админке включена отправка уведомлений? Надіслати Поділитися на інших сайтах More sharing options... bark4ss Опубліковано: 26 червня 2014 Автор Share Опубліковано: 26 червня 2014 а в админке включена отправка уведомлений? извините меня глупого)))Что-то я не нашел где это включается в админке. Надіслати Поділитися на інших сайтах More sharing options... riny Опубліковано: 26 червня 2014 Share Опубліковано: 26 червня 2014 извините меня глупого)))Что-то я не нашел где это включается в админке. система - настройки - почта - Оповещение о заказе по E-mail: - да Надіслати Поділитися на інших сайтах More sharing options... bark4ss Опубліковано: 26 червня 2014 Автор Share Опубліковано: 26 червня 2014 система - настройки - почта - Оповещение о заказе по E-mail: - да это включено. Надіслати Поділитися на інших сайтах More sharing options... bark4ss Опубліковано: 26 червня 2014 Автор Share Опубліковано: 26 червня 2014 может здесь надо что заполнить? Надіслати Поділитися на інших сайтах More sharing options... riny Опубліковано: 26 червня 2014 Share Опубліковано: 26 червня 2014 может здесь надо что заполнить? здесь все как надо, а причин может быть масса. присьма с обратной связи приходят на мыло? Надіслати Поділитися на інших сайтах More sharing options... bark4ss Опубліковано: 27 червня 2014 Автор Share Опубліковано: 27 червня 2014 здесь все как надо, а причин может быть масса. присьма с обратной связи приходят на мыло? да Надіслати Поділитися на інших сайтах More sharing options... riny Опубліковано: 27 червня 2014 Share Опубліковано: 27 червня 2014 да Тогда наверно стоит глянуть в журнал ошибок после оформления заказа. Кстати, в админке заказы отображаются? Надіслати Поділитися на інших сайтах More sharing options... bark4ss Опубліковано: 27 червня 2014 Автор Share Опубліковано: 27 червня 2014 Тогда наверно стоит глянуть в журнал ошибок после оформления заказа. Кстати, в админке заказы отображаются? да.отображаются.В журнале ошибок нет. Надіслати Поділитися на інших сайтах More sharing options... riny Опубліковано: 27 червня 2014 Share Опубліковано: 27 червня 2014 Дальше действия примерно такие: https://opencartforum.com/topic/35812-%D0%B7%D0%B0%D0%BA%D0%B0%D0%B7-%D0%BD%D0%B5-%D0%BF%D1%80%D0%B8%D1%85%D0%BE%D0%B4%D0%B8%D1%82-%D0%BD%D0%B0-%D0%BF%D0%BE%D1%87%D1%82%D1%83-%D0%BA%D1%82%D0%BE-%D0%BC%D0%BE%D0%B6%D0%B5%D1%82-%D0%BF%D0%BE%D0%BC%D0%BE%D1%87%D1%8C/page-2?hl=%D0%BF%D0%BE%D1%87%D1%82%D0%B0 Т.е. По идее должно уведомление приходить, если из контактов приходит, и тут удаленно уже ничем не поможешь. Надіслати Поділитися на інших сайтах More sharing options... bark4ss Опубліковано: 27 червня 2014 Автор Share Опубліковано: 27 червня 2014 Дальше действия примерно такие: https://opencartforum.com/topic/35812-%D0%B7%D0%B0%D0%BA%D0%B0%D0%B7-%D0%BD%D0%B5-%D0%BF%D1%80%D0%B8%D1%85%D0%BE%D0%B4%D0%B8%D1%82-%D0%BD%D0%B0-%D0%BF%D0%BE%D1%87%D1%82%D1%83-%D0%BA%D1%82%D0%BE-%D0%BC%D0%BE%D0%B6%D0%B5%D1%82-%D0%BF%D0%BE%D0%BC%D0%BE%D1%87%D1%8C/page-2?hl=%D0%BF%D0%BE%D1%87%D1%82%D0%B0 Т.е. По идее должно уведомление приходить, если из контактов приходит, и тут удаленно уже ничем не поможешь. Там нет решения.Точнее тс решил проблему,но как не написал((( Надіслати Поділитися на інших сайтах More sharing options... riny Опубліковано: 27 червня 2014 Share Опубліковано: 27 червня 2014 Там нет решения.Точнее тс решил проблему,но как не написал((( именно, как видно по той теме даже опытный глаз поначалу не смог определить в чем проблема, потому можете разве что ссылку дать посмотреть на оформление. Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... bark4ss Опубліковано: 8 липня 2014 Автор Share Опубліковано: 8 липня 2014 Настроил через smtp.Приходит письмо с заказом.Но в журнале ошибок вот такие строки появляются: 2014-07-08 9:59:50 - PHP Notice: Undefined property: Mail::$form in /home/steepby/public_html/system/library/mail.php on line 276 2014-07-08 9:59:51 - PHP Notice: Undefined property: Mail::$form in /home/steepby/public_html/system/library/mail.php on line 276 а вот эти строки из файла: <?php class Mail { protected $to; protected $from; protected $sender; protected $subject; protected $text; protected $html; protected $attachments = array(); public $protocol = 'mail'; public $hostname; public $username; public $password; public $port = 25; public $timeout = 5; public $newline = "\n"; public $crlf = "\r\n"; public $verp = false; public $parameter = ''; public function setTo($to) { $this->to = $to; } public function setFrom($from) { $this->from = $from; } public function setSender($sender) { $this->sender = $sender; } public function setSubject($subject) { $this->subject = $subject; } public function setText($text) { $this->text = $text; } public function setHtml($html) { $this->html = $html; } public function addAttachment($filename) { $this->attachments[] = $filename; } public function send() { if (!$this->to) { trigger_error('Error: E-Mail to required!'); exit(); } if (!$this->from) { trigger_error('Error: E-Mail from required!'); exit(); } if (!$this->sender) { trigger_error('Error: E-Mail sender required!'); exit(); } if (!$this->subject) { trigger_error('Error: E-Mail subject required!'); exit(); } if ((!$this->text) && (!$this->html)) { trigger_error('Error: E-Mail message required!'); exit(); } if (is_array($this->to)) { $to = implode(',', $this->to); } else { $to = $this->to; } $boundary = '----=_NextPart_' . md5(time()); $header = ''; $header .= 'MIME-Version: 1.0' . $this->newline; if ($this->protocol != 'mail') { $header .= 'To: ' . $to . $this->newline; $header .= 'Subject: ' . $this->subject . $this->newline; } $header .= 'Date: ' . date('D, d M Y H:i:s O') . $this->newline; $header .= 'From: ' . '=?UTF-8?B?' . base64_encode($this->sender) . '?=' . '<' . $this->from . '>' . $this->newline; $header .= 'Reply-To: ' . '=?UTF-8?B?' . base64_encode($this->sender) . '?=' . '<' . $this->from . '>' . $this->newline; $header .= 'Return-Path: ' . $this->from . $this->newline; $header .= 'X-Mailer: PHP/' . phpversion() . $this->newline; $header .= 'Content-Type: multipart/related; boundary="' . $boundary . '"' . $this->newline . $this->newline; if (!$this->html) { $message = '--' . $boundary . $this->newline; $message .= 'Content-Type: text/plain; charset="utf-8"' . $this->newline; $message .= 'Content-Transfer-Encoding: 8bit' . $this->newline . $this->newline; $message .= $this->text . $this->newline; } else { $message = '--' . $boundary . $this->newline; $message .= 'Content-Type: multipart/alternative; boundary="' . $boundary . '_alt"' . $this->newline . $this->newline; $message .= '--' . $boundary . '_alt' . $this->newline; $message .= 'Content-Type: text/plain; charset="utf-8"' . $this->newline; $message .= 'Content-Transfer-Encoding: 8bit' . $this->newline . $this->newline; if ($this->text) { $message .= $this->text . $this->newline; } else { $message .= 'This is a HTML email and your email client software does not support HTML email!' . $this->newline; } $message .= '--' . $boundary . '_alt' . $this->newline; $message .= 'Content-Type: text/html; charset="utf-8"' . $this->newline; $message .= 'Content-Transfer-Encoding: 8bit' . $this->newline . $this->newline; $message .= $this->html . $this->newline; $message .= '--' . $boundary . '_alt--' . $this->newline; } foreach ($this->attachments as $attachment) { if (file_exists($attachment)) { $handle = fopen($attachment, 'r'); $content = fread($handle, filesize($attachment)); fclose($handle); $message .= '--' . $boundary . $this->newline; $message .= 'Content-Type: application/octet-stream; name="' . basename($attachment) . '"' . $this->newline; $message .= 'Content-Transfer-Encoding: base64' . $this->newline; $message .= 'Content-Disposition: attachment; filename="' . basename($attachment) . '"' . $this->newline; $message .= 'Content-ID: <' . basename(urlencode($attachment)) . '>' . $this->newline; $message .= 'X-Attachment-Id: ' . basename(urlencode($attachment)) . $this->newline . $this->newline; $message .= chunk_split(base64_encode($content)); } } $message .= '--' . $boundary . '--' . $this->newline; if ($this->protocol == 'mail') { ini_set('sendmail_from', $this->from); if ($this->parameter) { mail($to, '=?UTF-8?B?' . base64_encode($this->subject) . '?=', $message, $header, $this->parameter); } else { mail($to, '=?UTF-8?B?' . base64_encode($this->subject) . '?=', $message, $header); } } elseif ($this->protocol == 'smtp') { $handle = fsockopen($this->hostname, $this->port, $errno, $errstr, $this->timeout); if (!$handle) { trigger_error('Error: ' . $errstr . ' (' . $errno . ')'); exit(); } else { if (substr(PHP_OS, 0, 3) != 'WIN') { socket_set_timeout($handle, $this->timeout, 0); } while ($line = fgets($handle, 515)) { if (substr($line, 3, 1) == ' ') { break; } } if (substr($this->hostname, 0, 3) == 'tls') { fputs($handle, 'STARTTLS' . $this->crlf); while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 220) { trigger_error('Error: STARTTLS not accepted from server!'); exit(); } } if (!empty($this->username) && !empty($this->password)) { fputs($handle, 'EHLO ' . getenv('SERVER_NAME') . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 250) { trigger_error('Error: EHLO not accepted from server!'); exit(); } fputs($handle, 'AUTH LOGIN' . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 334) { trigger_error('Error: AUTH LOGIN not accepted from server!'); exit(); } fputs($handle, base64_encode($this->username) . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 334) { trigger_error('Error: Username not accepted from server!'); exit(); } fputs($handle, base64_encode($this->password) . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 235) { trigger_error('Error: Password not accepted from server!'); exit(); } } else { fputs($handle, 'HELO ' . getenv('SERVER_NAME') . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 250) { trigger_error('Error: HELO not accepted from server!'); exit(); } } if ($this->verp) { fputs($handle, 'MAIL FROM: <' . $this->form . '>XVERP' . $this->crlf); } else { fputs($handle, 'MAIL FROM: <' . $this->form . '>' . $this->crlf); } $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 250) { trigger_error('Error: MAIL FROM not accepted from server!'); exit(); } if (!is_array($this->to)) { fputs($handle, 'RCPT TO: <' . $this->to . '>' . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if ((substr($reply, 0, 3) != 250) && (substr($reply, 0, 3) != 251)) { trigger_error('Error: RCPT TO not accepted from server!'); exit(); } } else { foreach ($this->to as $recipient) { fputs($handle, 'RCPT TO: <' . $recipient . '>' . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if ((substr($reply, 0, 3) != 250) && (substr($reply, 0, 3) != 251)) { trigger_error('Error: RCPT TO not accepted from server!'); exit(); } } } fputs($handle, 'DATA' . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 354) { trigger_error('Error: DATA not accepted from server!'); exit(); } // According to rfc 821 we should not send more than 1000 including the CRLF $message = str_replace("\r\n", "\n", $header . $message); $message = str_replace("\r", "\n", $message); $lines = explode("\n", $message); foreach ($lines as $line) { $results = str_split($line, 998); foreach ($results as $result) { if (substr(PHP_OS, 0, 3) != 'WIN') { fputs($handle, $result . $this->crlf); } else { fputs($handle, str_replace("\n", "\r\n", $result) . $this->crlf); } } } fputs($handle, '.' . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 250) { trigger_error('Error: DATA not accepted from server!'); exit(); } fputs($handle, 'QUIT' . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 221) { trigger_error('Error: QUIT not accepted from server!'); exit(); } fclose($handle); } } } } ?> что эта за ошибка? Надіслати Поділитися на інших сайтах More sharing options... SquirrelGirl Опубліковано: 11 липня 2014 Share Опубліковано: 11 липня 2014 (змінено) в файле catalog\view\theme\OPC070161-2\template\information\contact.tpl после <div class="content"> вставить <form action="<?php echo $action; ?>" method="post" enctype="multipart/form-data"> Простите, а после какого именно div class=content это вставлять? у меня их почему-то два в указанном месте... Оба варианта не помогли. Письма всё равно не приходят. Змінено 11 липня 2014 користувачем SquirrelGirl Надіслати Поділитися на інших сайтах More sharing options... riny Опубліковано: 11 липня 2014 Share Опубліковано: 11 липня 2014 Простите, а после какого именно div class=content это вставлять? у меня их почему-то два в указанном месте... Оба варианта не помогли. Письма всё равно не приходят. не факт, что вам это надо. но если у вас этот же шаблон, то вроде после первого. Надіслати Поділитися на інших сайтах More sharing options... SquirrelGirl Опубліковано: 11 липня 2014 Share Опубліковано: 11 липня 2014 не факт, что вам это надо. но если у вас этот же шаблон, то вроде после первого. Ясно, сразу кинулась проверять, не посмотрев, что да как. :) Мне вообще нужна сейчас только отправка отзывов на почту, вот её и пыталась решить. Как поняла, вторая проблема автора темы решена тут: Все, что касается email-уведомлений о заказе правим в файле/catalog/model/checkout/order.php. Для того, чтобы сделать такое же уведомление админу магазина, как и покупателю ищем комментарий: // Send to additional alert emails Смотрим от него пару позиций вверх и видим такие строки (у меня они на 559-561): $mail->setSubject(html_entity_decode($subject, ENT_QUOTES, 'UTF-8')); $mail->setText(html_entity_decode($text, ENT_QUOTES, 'UTF-8')); $mail->send(); Между темой и текстом письма вставляем $mail->setHtml($html); Чтобы получилось вот так: $mail->setSubject(html_entity_decode($subject, ENT_QUOTES, 'UTF-8')); $mail->setHtml($html); $mail->setText(html_entity_decode($text, ENT_QUOTES, 'UTF-8')); $mail->send(); Все, администратору магазина теперь будет приходить точно такое же письмо о заказе, как и покупателю. Не моё, взято с http://web.warwolf.org/opencart-odinakovye-uvedomleniya-o-zakaze-adm/#comment-17146 (не реклама, просто нашла решение, как делать текст скрытым, не знаю). Надіслати Поділитися на інших сайтах More sharing options... 3 weeks later... Ivan77rus Опубліковано: 1 серпня 2014 Share Опубліковано: 1 серпня 2014 Привет ! У меня похожая история как только не настроил не отправляет письма не админу не покупателю ( как быть ? а также не показывает тех кто зарегистрировался. Показывает тодько что поступил заказ увед. на почту не приходит также не отсылаются письма покупателям Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Шаблони, дизайн та оформлення магазину Не отправляет письмо Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut Вибір категорій і виробників для "Знайшли дешевше" шаблону Upstore Автор: Flint2000 × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
bark4ss Опубліковано: 26 червня 2014 Автор Share Опубліковано: 26 червня 2014 а в админке включена отправка уведомлений? извините меня глупого)))Что-то я не нашел где это включается в админке. Надіслати Поділитися на інших сайтах More sharing options...
riny Опубліковано: 26 червня 2014 Share Опубліковано: 26 червня 2014 извините меня глупого)))Что-то я не нашел где это включается в админке. система - настройки - почта - Оповещение о заказе по E-mail: - да Надіслати Поділитися на інших сайтах More sharing options... bark4ss Опубліковано: 26 червня 2014 Автор Share Опубліковано: 26 червня 2014 система - настройки - почта - Оповещение о заказе по E-mail: - да это включено. Надіслати Поділитися на інших сайтах More sharing options... bark4ss Опубліковано: 26 червня 2014 Автор Share Опубліковано: 26 червня 2014 может здесь надо что заполнить? Надіслати Поділитися на інших сайтах More sharing options... riny Опубліковано: 26 червня 2014 Share Опубліковано: 26 червня 2014 может здесь надо что заполнить? здесь все как надо, а причин может быть масса. присьма с обратной связи приходят на мыло? Надіслати Поділитися на інших сайтах More sharing options... bark4ss Опубліковано: 27 червня 2014 Автор Share Опубліковано: 27 червня 2014 здесь все как надо, а причин может быть масса. присьма с обратной связи приходят на мыло? да Надіслати Поділитися на інших сайтах More sharing options... riny Опубліковано: 27 червня 2014 Share Опубліковано: 27 червня 2014 да Тогда наверно стоит глянуть в журнал ошибок после оформления заказа. Кстати, в админке заказы отображаются? Надіслати Поділитися на інших сайтах More sharing options... bark4ss Опубліковано: 27 червня 2014 Автор Share Опубліковано: 27 червня 2014 Тогда наверно стоит глянуть в журнал ошибок после оформления заказа. Кстати, в админке заказы отображаются? да.отображаются.В журнале ошибок нет. Надіслати Поділитися на інших сайтах More sharing options... riny Опубліковано: 27 червня 2014 Share Опубліковано: 27 червня 2014 Дальше действия примерно такие: https://opencartforum.com/topic/35812-%D0%B7%D0%B0%D0%BA%D0%B0%D0%B7-%D0%BD%D0%B5-%D0%BF%D1%80%D0%B8%D1%85%D0%BE%D0%B4%D0%B8%D1%82-%D0%BD%D0%B0-%D0%BF%D0%BE%D1%87%D1%82%D1%83-%D0%BA%D1%82%D0%BE-%D0%BC%D0%BE%D0%B6%D0%B5%D1%82-%D0%BF%D0%BE%D0%BC%D0%BE%D1%87%D1%8C/page-2?hl=%D0%BF%D0%BE%D1%87%D1%82%D0%B0 Т.е. По идее должно уведомление приходить, если из контактов приходит, и тут удаленно уже ничем не поможешь. Надіслати Поділитися на інших сайтах More sharing options... bark4ss Опубліковано: 27 червня 2014 Автор Share Опубліковано: 27 червня 2014 Дальше действия примерно такие: https://opencartforum.com/topic/35812-%D0%B7%D0%B0%D0%BA%D0%B0%D0%B7-%D0%BD%D0%B5-%D0%BF%D1%80%D0%B8%D1%85%D0%BE%D0%B4%D0%B8%D1%82-%D0%BD%D0%B0-%D0%BF%D0%BE%D1%87%D1%82%D1%83-%D0%BA%D1%82%D0%BE-%D0%BC%D0%BE%D0%B6%D0%B5%D1%82-%D0%BF%D0%BE%D0%BC%D0%BE%D1%87%D1%8C/page-2?hl=%D0%BF%D0%BE%D1%87%D1%82%D0%B0 Т.е. По идее должно уведомление приходить, если из контактов приходит, и тут удаленно уже ничем не поможешь. Там нет решения.Точнее тс решил проблему,но как не написал((( Надіслати Поділитися на інших сайтах More sharing options... riny Опубліковано: 27 червня 2014 Share Опубліковано: 27 червня 2014 Там нет решения.Точнее тс решил проблему,но как не написал((( именно, как видно по той теме даже опытный глаз поначалу не смог определить в чем проблема, потому можете разве что ссылку дать посмотреть на оформление. Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... bark4ss Опубліковано: 8 липня 2014 Автор Share Опубліковано: 8 липня 2014 Настроил через smtp.Приходит письмо с заказом.Но в журнале ошибок вот такие строки появляются: 2014-07-08 9:59:50 - PHP Notice: Undefined property: Mail::$form in /home/steepby/public_html/system/library/mail.php on line 276 2014-07-08 9:59:51 - PHP Notice: Undefined property: Mail::$form in /home/steepby/public_html/system/library/mail.php on line 276 а вот эти строки из файла: <?php class Mail { protected $to; protected $from; protected $sender; protected $subject; protected $text; protected $html; protected $attachments = array(); public $protocol = 'mail'; public $hostname; public $username; public $password; public $port = 25; public $timeout = 5; public $newline = "\n"; public $crlf = "\r\n"; public $verp = false; public $parameter = ''; public function setTo($to) { $this->to = $to; } public function setFrom($from) { $this->from = $from; } public function setSender($sender) { $this->sender = $sender; } public function setSubject($subject) { $this->subject = $subject; } public function setText($text) { $this->text = $text; } public function setHtml($html) { $this->html = $html; } public function addAttachment($filename) { $this->attachments[] = $filename; } public function send() { if (!$this->to) { trigger_error('Error: E-Mail to required!'); exit(); } if (!$this->from) { trigger_error('Error: E-Mail from required!'); exit(); } if (!$this->sender) { trigger_error('Error: E-Mail sender required!'); exit(); } if (!$this->subject) { trigger_error('Error: E-Mail subject required!'); exit(); } if ((!$this->text) && (!$this->html)) { trigger_error('Error: E-Mail message required!'); exit(); } if (is_array($this->to)) { $to = implode(',', $this->to); } else { $to = $this->to; } $boundary = '----=_NextPart_' . md5(time()); $header = ''; $header .= 'MIME-Version: 1.0' . $this->newline; if ($this->protocol != 'mail') { $header .= 'To: ' . $to . $this->newline; $header .= 'Subject: ' . $this->subject . $this->newline; } $header .= 'Date: ' . date('D, d M Y H:i:s O') . $this->newline; $header .= 'From: ' . '=?UTF-8?B?' . base64_encode($this->sender) . '?=' . '<' . $this->from . '>' . $this->newline; $header .= 'Reply-To: ' . '=?UTF-8?B?' . base64_encode($this->sender) . '?=' . '<' . $this->from . '>' . $this->newline; $header .= 'Return-Path: ' . $this->from . $this->newline; $header .= 'X-Mailer: PHP/' . phpversion() . $this->newline; $header .= 'Content-Type: multipart/related; boundary="' . $boundary . '"' . $this->newline . $this->newline; if (!$this->html) { $message = '--' . $boundary . $this->newline; $message .= 'Content-Type: text/plain; charset="utf-8"' . $this->newline; $message .= 'Content-Transfer-Encoding: 8bit' . $this->newline . $this->newline; $message .= $this->text . $this->newline; } else { $message = '--' . $boundary . $this->newline; $message .= 'Content-Type: multipart/alternative; boundary="' . $boundary . '_alt"' . $this->newline . $this->newline; $message .= '--' . $boundary . '_alt' . $this->newline; $message .= 'Content-Type: text/plain; charset="utf-8"' . $this->newline; $message .= 'Content-Transfer-Encoding: 8bit' . $this->newline . $this->newline; if ($this->text) { $message .= $this->text . $this->newline; } else { $message .= 'This is a HTML email and your email client software does not support HTML email!' . $this->newline; } $message .= '--' . $boundary . '_alt' . $this->newline; $message .= 'Content-Type: text/html; charset="utf-8"' . $this->newline; $message .= 'Content-Transfer-Encoding: 8bit' . $this->newline . $this->newline; $message .= $this->html . $this->newline; $message .= '--' . $boundary . '_alt--' . $this->newline; } foreach ($this->attachments as $attachment) { if (file_exists($attachment)) { $handle = fopen($attachment, 'r'); $content = fread($handle, filesize($attachment)); fclose($handle); $message .= '--' . $boundary . $this->newline; $message .= 'Content-Type: application/octet-stream; name="' . basename($attachment) . '"' . $this->newline; $message .= 'Content-Transfer-Encoding: base64' . $this->newline; $message .= 'Content-Disposition: attachment; filename="' . basename($attachment) . '"' . $this->newline; $message .= 'Content-ID: <' . basename(urlencode($attachment)) . '>' . $this->newline; $message .= 'X-Attachment-Id: ' . basename(urlencode($attachment)) . $this->newline . $this->newline; $message .= chunk_split(base64_encode($content)); } } $message .= '--' . $boundary . '--' . $this->newline; if ($this->protocol == 'mail') { ini_set('sendmail_from', $this->from); if ($this->parameter) { mail($to, '=?UTF-8?B?' . base64_encode($this->subject) . '?=', $message, $header, $this->parameter); } else { mail($to, '=?UTF-8?B?' . base64_encode($this->subject) . '?=', $message, $header); } } elseif ($this->protocol == 'smtp') { $handle = fsockopen($this->hostname, $this->port, $errno, $errstr, $this->timeout); if (!$handle) { trigger_error('Error: ' . $errstr . ' (' . $errno . ')'); exit(); } else { if (substr(PHP_OS, 0, 3) != 'WIN') { socket_set_timeout($handle, $this->timeout, 0); } while ($line = fgets($handle, 515)) { if (substr($line, 3, 1) == ' ') { break; } } if (substr($this->hostname, 0, 3) == 'tls') { fputs($handle, 'STARTTLS' . $this->crlf); while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 220) { trigger_error('Error: STARTTLS not accepted from server!'); exit(); } } if (!empty($this->username) && !empty($this->password)) { fputs($handle, 'EHLO ' . getenv('SERVER_NAME') . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 250) { trigger_error('Error: EHLO not accepted from server!'); exit(); } fputs($handle, 'AUTH LOGIN' . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 334) { trigger_error('Error: AUTH LOGIN not accepted from server!'); exit(); } fputs($handle, base64_encode($this->username) . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 334) { trigger_error('Error: Username not accepted from server!'); exit(); } fputs($handle, base64_encode($this->password) . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 235) { trigger_error('Error: Password not accepted from server!'); exit(); } } else { fputs($handle, 'HELO ' . getenv('SERVER_NAME') . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 250) { trigger_error('Error: HELO not accepted from server!'); exit(); } } if ($this->verp) { fputs($handle, 'MAIL FROM: <' . $this->form . '>XVERP' . $this->crlf); } else { fputs($handle, 'MAIL FROM: <' . $this->form . '>' . $this->crlf); } $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 250) { trigger_error('Error: MAIL FROM not accepted from server!'); exit(); } if (!is_array($this->to)) { fputs($handle, 'RCPT TO: <' . $this->to . '>' . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if ((substr($reply, 0, 3) != 250) && (substr($reply, 0, 3) != 251)) { trigger_error('Error: RCPT TO not accepted from server!'); exit(); } } else { foreach ($this->to as $recipient) { fputs($handle, 'RCPT TO: <' . $recipient . '>' . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if ((substr($reply, 0, 3) != 250) && (substr($reply, 0, 3) != 251)) { trigger_error('Error: RCPT TO not accepted from server!'); exit(); } } } fputs($handle, 'DATA' . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 354) { trigger_error('Error: DATA not accepted from server!'); exit(); } // According to rfc 821 we should not send more than 1000 including the CRLF $message = str_replace("\r\n", "\n", $header . $message); $message = str_replace("\r", "\n", $message); $lines = explode("\n", $message); foreach ($lines as $line) { $results = str_split($line, 998); foreach ($results as $result) { if (substr(PHP_OS, 0, 3) != 'WIN') { fputs($handle, $result . $this->crlf); } else { fputs($handle, str_replace("\n", "\r\n", $result) . $this->crlf); } } } fputs($handle, '.' . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 250) { trigger_error('Error: DATA not accepted from server!'); exit(); } fputs($handle, 'QUIT' . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 221) { trigger_error('Error: QUIT not accepted from server!'); exit(); } fclose($handle); } } } } ?> что эта за ошибка? Надіслати Поділитися на інших сайтах More sharing options... SquirrelGirl Опубліковано: 11 липня 2014 Share Опубліковано: 11 липня 2014 (змінено) в файле catalog\view\theme\OPC070161-2\template\information\contact.tpl после <div class="content"> вставить <form action="<?php echo $action; ?>" method="post" enctype="multipart/form-data"> Простите, а после какого именно div class=content это вставлять? у меня их почему-то два в указанном месте... Оба варианта не помогли. Письма всё равно не приходят. Змінено 11 липня 2014 користувачем SquirrelGirl Надіслати Поділитися на інших сайтах More sharing options... riny Опубліковано: 11 липня 2014 Share Опубліковано: 11 липня 2014 Простите, а после какого именно div class=content это вставлять? у меня их почему-то два в указанном месте... Оба варианта не помогли. Письма всё равно не приходят. не факт, что вам это надо. но если у вас этот же шаблон, то вроде после первого. Надіслати Поділитися на інших сайтах More sharing options... SquirrelGirl Опубліковано: 11 липня 2014 Share Опубліковано: 11 липня 2014 не факт, что вам это надо. но если у вас этот же шаблон, то вроде после первого. Ясно, сразу кинулась проверять, не посмотрев, что да как. :) Мне вообще нужна сейчас только отправка отзывов на почту, вот её и пыталась решить. Как поняла, вторая проблема автора темы решена тут: Все, что касается email-уведомлений о заказе правим в файле/catalog/model/checkout/order.php. Для того, чтобы сделать такое же уведомление админу магазина, как и покупателю ищем комментарий: // Send to additional alert emails Смотрим от него пару позиций вверх и видим такие строки (у меня они на 559-561): $mail->setSubject(html_entity_decode($subject, ENT_QUOTES, 'UTF-8')); $mail->setText(html_entity_decode($text, ENT_QUOTES, 'UTF-8')); $mail->send(); Между темой и текстом письма вставляем $mail->setHtml($html); Чтобы получилось вот так: $mail->setSubject(html_entity_decode($subject, ENT_QUOTES, 'UTF-8')); $mail->setHtml($html); $mail->setText(html_entity_decode($text, ENT_QUOTES, 'UTF-8')); $mail->send(); Все, администратору магазина теперь будет приходить точно такое же письмо о заказе, как и покупателю. Не моё, взято с http://web.warwolf.org/opencart-odinakovye-uvedomleniya-o-zakaze-adm/#comment-17146 (не реклама, просто нашла решение, как делать текст скрытым, не знаю). Надіслати Поділитися на інших сайтах More sharing options... 3 weeks later... Ivan77rus Опубліковано: 1 серпня 2014 Share Опубліковано: 1 серпня 2014 Привет ! У меня похожая история как только не настроил не отправляет письма не админу не покупателю ( как быть ? а также не показывает тех кто зарегистрировался. Показывает тодько что поступил заказ увед. на почту не приходит также не отсылаются письма покупателям Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Шаблони, дизайн та оформлення магазину Не отправляет письмо Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut Вибір категорій і виробників для "Знайшли дешевше" шаблону Upstore Автор: Flint2000 × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
bark4ss Опубліковано: 26 червня 2014 Автор Share Опубліковано: 26 червня 2014 система - настройки - почта - Оповещение о заказе по E-mail: - да это включено. Надіслати Поділитися на інших сайтах More sharing options...
bark4ss Опубліковано: 26 червня 2014 Автор Share Опубліковано: 26 червня 2014 может здесь надо что заполнить? Надіслати Поділитися на інших сайтах More sharing options...
riny Опубліковано: 26 червня 2014 Share Опубліковано: 26 червня 2014 может здесь надо что заполнить? здесь все как надо, а причин может быть масса. присьма с обратной связи приходят на мыло? Надіслати Поділитися на інших сайтах More sharing options... bark4ss Опубліковано: 27 червня 2014 Автор Share Опубліковано: 27 червня 2014 здесь все как надо, а причин может быть масса. присьма с обратной связи приходят на мыло? да Надіслати Поділитися на інших сайтах More sharing options... riny Опубліковано: 27 червня 2014 Share Опубліковано: 27 червня 2014 да Тогда наверно стоит глянуть в журнал ошибок после оформления заказа. Кстати, в админке заказы отображаются? Надіслати Поділитися на інших сайтах More sharing options... bark4ss Опубліковано: 27 червня 2014 Автор Share Опубліковано: 27 червня 2014 Тогда наверно стоит глянуть в журнал ошибок после оформления заказа. Кстати, в админке заказы отображаются? да.отображаются.В журнале ошибок нет. Надіслати Поділитися на інших сайтах More sharing options... riny Опубліковано: 27 червня 2014 Share Опубліковано: 27 червня 2014 Дальше действия примерно такие: https://opencartforum.com/topic/35812-%D0%B7%D0%B0%D0%BA%D0%B0%D0%B7-%D0%BD%D0%B5-%D0%BF%D1%80%D0%B8%D1%85%D0%BE%D0%B4%D0%B8%D1%82-%D0%BD%D0%B0-%D0%BF%D0%BE%D1%87%D1%82%D1%83-%D0%BA%D1%82%D0%BE-%D0%BC%D0%BE%D0%B6%D0%B5%D1%82-%D0%BF%D0%BE%D0%BC%D0%BE%D1%87%D1%8C/page-2?hl=%D0%BF%D0%BE%D1%87%D1%82%D0%B0 Т.е. По идее должно уведомление приходить, если из контактов приходит, и тут удаленно уже ничем не поможешь. Надіслати Поділитися на інших сайтах More sharing options... bark4ss Опубліковано: 27 червня 2014 Автор Share Опубліковано: 27 червня 2014 Дальше действия примерно такие: https://opencartforum.com/topic/35812-%D0%B7%D0%B0%D0%BA%D0%B0%D0%B7-%D0%BD%D0%B5-%D0%BF%D1%80%D0%B8%D1%85%D0%BE%D0%B4%D0%B8%D1%82-%D0%BD%D0%B0-%D0%BF%D0%BE%D1%87%D1%82%D1%83-%D0%BA%D1%82%D0%BE-%D0%BC%D0%BE%D0%B6%D0%B5%D1%82-%D0%BF%D0%BE%D0%BC%D0%BE%D1%87%D1%8C/page-2?hl=%D0%BF%D0%BE%D1%87%D1%82%D0%B0 Т.е. По идее должно уведомление приходить, если из контактов приходит, и тут удаленно уже ничем не поможешь. Там нет решения.Точнее тс решил проблему,но как не написал((( Надіслати Поділитися на інших сайтах More sharing options... riny Опубліковано: 27 червня 2014 Share Опубліковано: 27 червня 2014 Там нет решения.Точнее тс решил проблему,но как не написал((( именно, как видно по той теме даже опытный глаз поначалу не смог определить в чем проблема, потому можете разве что ссылку дать посмотреть на оформление. Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... bark4ss Опубліковано: 8 липня 2014 Автор Share Опубліковано: 8 липня 2014 Настроил через smtp.Приходит письмо с заказом.Но в журнале ошибок вот такие строки появляются: 2014-07-08 9:59:50 - PHP Notice: Undefined property: Mail::$form in /home/steepby/public_html/system/library/mail.php on line 276 2014-07-08 9:59:51 - PHP Notice: Undefined property: Mail::$form in /home/steepby/public_html/system/library/mail.php on line 276 а вот эти строки из файла: <?php class Mail { protected $to; protected $from; protected $sender; protected $subject; protected $text; protected $html; protected $attachments = array(); public $protocol = 'mail'; public $hostname; public $username; public $password; public $port = 25; public $timeout = 5; public $newline = "\n"; public $crlf = "\r\n"; public $verp = false; public $parameter = ''; public function setTo($to) { $this->to = $to; } public function setFrom($from) { $this->from = $from; } public function setSender($sender) { $this->sender = $sender; } public function setSubject($subject) { $this->subject = $subject; } public function setText($text) { $this->text = $text; } public function setHtml($html) { $this->html = $html; } public function addAttachment($filename) { $this->attachments[] = $filename; } public function send() { if (!$this->to) { trigger_error('Error: E-Mail to required!'); exit(); } if (!$this->from) { trigger_error('Error: E-Mail from required!'); exit(); } if (!$this->sender) { trigger_error('Error: E-Mail sender required!'); exit(); } if (!$this->subject) { trigger_error('Error: E-Mail subject required!'); exit(); } if ((!$this->text) && (!$this->html)) { trigger_error('Error: E-Mail message required!'); exit(); } if (is_array($this->to)) { $to = implode(',', $this->to); } else { $to = $this->to; } $boundary = '----=_NextPart_' . md5(time()); $header = ''; $header .= 'MIME-Version: 1.0' . $this->newline; if ($this->protocol != 'mail') { $header .= 'To: ' . $to . $this->newline; $header .= 'Subject: ' . $this->subject . $this->newline; } $header .= 'Date: ' . date('D, d M Y H:i:s O') . $this->newline; $header .= 'From: ' . '=?UTF-8?B?' . base64_encode($this->sender) . '?=' . '<' . $this->from . '>' . $this->newline; $header .= 'Reply-To: ' . '=?UTF-8?B?' . base64_encode($this->sender) . '?=' . '<' . $this->from . '>' . $this->newline; $header .= 'Return-Path: ' . $this->from . $this->newline; $header .= 'X-Mailer: PHP/' . phpversion() . $this->newline; $header .= 'Content-Type: multipart/related; boundary="' . $boundary . '"' . $this->newline . $this->newline; if (!$this->html) { $message = '--' . $boundary . $this->newline; $message .= 'Content-Type: text/plain; charset="utf-8"' . $this->newline; $message .= 'Content-Transfer-Encoding: 8bit' . $this->newline . $this->newline; $message .= $this->text . $this->newline; } else { $message = '--' . $boundary . $this->newline; $message .= 'Content-Type: multipart/alternative; boundary="' . $boundary . '_alt"' . $this->newline . $this->newline; $message .= '--' . $boundary . '_alt' . $this->newline; $message .= 'Content-Type: text/plain; charset="utf-8"' . $this->newline; $message .= 'Content-Transfer-Encoding: 8bit' . $this->newline . $this->newline; if ($this->text) { $message .= $this->text . $this->newline; } else { $message .= 'This is a HTML email and your email client software does not support HTML email!' . $this->newline; } $message .= '--' . $boundary . '_alt' . $this->newline; $message .= 'Content-Type: text/html; charset="utf-8"' . $this->newline; $message .= 'Content-Transfer-Encoding: 8bit' . $this->newline . $this->newline; $message .= $this->html . $this->newline; $message .= '--' . $boundary . '_alt--' . $this->newline; } foreach ($this->attachments as $attachment) { if (file_exists($attachment)) { $handle = fopen($attachment, 'r'); $content = fread($handle, filesize($attachment)); fclose($handle); $message .= '--' . $boundary . $this->newline; $message .= 'Content-Type: application/octet-stream; name="' . basename($attachment) . '"' . $this->newline; $message .= 'Content-Transfer-Encoding: base64' . $this->newline; $message .= 'Content-Disposition: attachment; filename="' . basename($attachment) . '"' . $this->newline; $message .= 'Content-ID: <' . basename(urlencode($attachment)) . '>' . $this->newline; $message .= 'X-Attachment-Id: ' . basename(urlencode($attachment)) . $this->newline . $this->newline; $message .= chunk_split(base64_encode($content)); } } $message .= '--' . $boundary . '--' . $this->newline; if ($this->protocol == 'mail') { ini_set('sendmail_from', $this->from); if ($this->parameter) { mail($to, '=?UTF-8?B?' . base64_encode($this->subject) . '?=', $message, $header, $this->parameter); } else { mail($to, '=?UTF-8?B?' . base64_encode($this->subject) . '?=', $message, $header); } } elseif ($this->protocol == 'smtp') { $handle = fsockopen($this->hostname, $this->port, $errno, $errstr, $this->timeout); if (!$handle) { trigger_error('Error: ' . $errstr . ' (' . $errno . ')'); exit(); } else { if (substr(PHP_OS, 0, 3) != 'WIN') { socket_set_timeout($handle, $this->timeout, 0); } while ($line = fgets($handle, 515)) { if (substr($line, 3, 1) == ' ') { break; } } if (substr($this->hostname, 0, 3) == 'tls') { fputs($handle, 'STARTTLS' . $this->crlf); while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 220) { trigger_error('Error: STARTTLS not accepted from server!'); exit(); } } if (!empty($this->username) && !empty($this->password)) { fputs($handle, 'EHLO ' . getenv('SERVER_NAME') . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 250) { trigger_error('Error: EHLO not accepted from server!'); exit(); } fputs($handle, 'AUTH LOGIN' . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 334) { trigger_error('Error: AUTH LOGIN not accepted from server!'); exit(); } fputs($handle, base64_encode($this->username) . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 334) { trigger_error('Error: Username not accepted from server!'); exit(); } fputs($handle, base64_encode($this->password) . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 235) { trigger_error('Error: Password not accepted from server!'); exit(); } } else { fputs($handle, 'HELO ' . getenv('SERVER_NAME') . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 250) { trigger_error('Error: HELO not accepted from server!'); exit(); } } if ($this->verp) { fputs($handle, 'MAIL FROM: <' . $this->form . '>XVERP' . $this->crlf); } else { fputs($handle, 'MAIL FROM: <' . $this->form . '>' . $this->crlf); } $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 250) { trigger_error('Error: MAIL FROM not accepted from server!'); exit(); } if (!is_array($this->to)) { fputs($handle, 'RCPT TO: <' . $this->to . '>' . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if ((substr($reply, 0, 3) != 250) && (substr($reply, 0, 3) != 251)) { trigger_error('Error: RCPT TO not accepted from server!'); exit(); } } else { foreach ($this->to as $recipient) { fputs($handle, 'RCPT TO: <' . $recipient . '>' . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if ((substr($reply, 0, 3) != 250) && (substr($reply, 0, 3) != 251)) { trigger_error('Error: RCPT TO not accepted from server!'); exit(); } } } fputs($handle, 'DATA' . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 354) { trigger_error('Error: DATA not accepted from server!'); exit(); } // According to rfc 821 we should not send more than 1000 including the CRLF $message = str_replace("\r\n", "\n", $header . $message); $message = str_replace("\r", "\n", $message); $lines = explode("\n", $message); foreach ($lines as $line) { $results = str_split($line, 998); foreach ($results as $result) { if (substr(PHP_OS, 0, 3) != 'WIN') { fputs($handle, $result . $this->crlf); } else { fputs($handle, str_replace("\n", "\r\n", $result) . $this->crlf); } } } fputs($handle, '.' . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 250) { trigger_error('Error: DATA not accepted from server!'); exit(); } fputs($handle, 'QUIT' . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 221) { trigger_error('Error: QUIT not accepted from server!'); exit(); } fclose($handle); } } } } ?> что эта за ошибка? Надіслати Поділитися на інших сайтах More sharing options... SquirrelGirl Опубліковано: 11 липня 2014 Share Опубліковано: 11 липня 2014 (змінено) в файле catalog\view\theme\OPC070161-2\template\information\contact.tpl после <div class="content"> вставить <form action="<?php echo $action; ?>" method="post" enctype="multipart/form-data"> Простите, а после какого именно div class=content это вставлять? у меня их почему-то два в указанном месте... Оба варианта не помогли. Письма всё равно не приходят. Змінено 11 липня 2014 користувачем SquirrelGirl Надіслати Поділитися на інших сайтах More sharing options... riny Опубліковано: 11 липня 2014 Share Опубліковано: 11 липня 2014 Простите, а после какого именно div class=content это вставлять? у меня их почему-то два в указанном месте... Оба варианта не помогли. Письма всё равно не приходят. не факт, что вам это надо. но если у вас этот же шаблон, то вроде после первого. Надіслати Поділитися на інших сайтах More sharing options... SquirrelGirl Опубліковано: 11 липня 2014 Share Опубліковано: 11 липня 2014 не факт, что вам это надо. но если у вас этот же шаблон, то вроде после первого. Ясно, сразу кинулась проверять, не посмотрев, что да как. :) Мне вообще нужна сейчас только отправка отзывов на почту, вот её и пыталась решить. Как поняла, вторая проблема автора темы решена тут: Все, что касается email-уведомлений о заказе правим в файле/catalog/model/checkout/order.php. Для того, чтобы сделать такое же уведомление админу магазина, как и покупателю ищем комментарий: // Send to additional alert emails Смотрим от него пару позиций вверх и видим такие строки (у меня они на 559-561): $mail->setSubject(html_entity_decode($subject, ENT_QUOTES, 'UTF-8')); $mail->setText(html_entity_decode($text, ENT_QUOTES, 'UTF-8')); $mail->send(); Между темой и текстом письма вставляем $mail->setHtml($html); Чтобы получилось вот так: $mail->setSubject(html_entity_decode($subject, ENT_QUOTES, 'UTF-8')); $mail->setHtml($html); $mail->setText(html_entity_decode($text, ENT_QUOTES, 'UTF-8')); $mail->send(); Все, администратору магазина теперь будет приходить точно такое же письмо о заказе, как и покупателю. Не моё, взято с http://web.warwolf.org/opencart-odinakovye-uvedomleniya-o-zakaze-adm/#comment-17146 (не реклама, просто нашла решение, как делать текст скрытым, не знаю). Надіслати Поділитися на інших сайтах More sharing options... 3 weeks later... Ivan77rus Опубліковано: 1 серпня 2014 Share Опубліковано: 1 серпня 2014 Привет ! У меня похожая история как только не настроил не отправляет письма не админу не покупателю ( как быть ? а также не показывает тех кто зарегистрировался. Показывает тодько что поступил заказ увед. на почту не приходит также не отсылаются письма покупателям Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Шаблони, дизайн та оформлення магазину Не отправляет письмо Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut Вибір категорій і виробників для "Знайшли дешевше" шаблону Upstore Автор: Flint2000 × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
bark4ss Опубліковано: 27 червня 2014 Автор Share Опубліковано: 27 червня 2014 здесь все как надо, а причин может быть масса. присьма с обратной связи приходят на мыло? да Надіслати Поділитися на інших сайтах More sharing options...
riny Опубліковано: 27 червня 2014 Share Опубліковано: 27 червня 2014 да Тогда наверно стоит глянуть в журнал ошибок после оформления заказа. Кстати, в админке заказы отображаются? Надіслати Поділитися на інших сайтах More sharing options... bark4ss Опубліковано: 27 червня 2014 Автор Share Опубліковано: 27 червня 2014 Тогда наверно стоит глянуть в журнал ошибок после оформления заказа. Кстати, в админке заказы отображаются? да.отображаются.В журнале ошибок нет. Надіслати Поділитися на інших сайтах More sharing options... riny Опубліковано: 27 червня 2014 Share Опубліковано: 27 червня 2014 Дальше действия примерно такие: https://opencartforum.com/topic/35812-%D0%B7%D0%B0%D0%BA%D0%B0%D0%B7-%D0%BD%D0%B5-%D0%BF%D1%80%D0%B8%D1%85%D0%BE%D0%B4%D0%B8%D1%82-%D0%BD%D0%B0-%D0%BF%D0%BE%D1%87%D1%82%D1%83-%D0%BA%D1%82%D0%BE-%D0%BC%D0%BE%D0%B6%D0%B5%D1%82-%D0%BF%D0%BE%D0%BC%D0%BE%D1%87%D1%8C/page-2?hl=%D0%BF%D0%BE%D1%87%D1%82%D0%B0 Т.е. По идее должно уведомление приходить, если из контактов приходит, и тут удаленно уже ничем не поможешь. Надіслати Поділитися на інших сайтах More sharing options... bark4ss Опубліковано: 27 червня 2014 Автор Share Опубліковано: 27 червня 2014 Дальше действия примерно такие: https://opencartforum.com/topic/35812-%D0%B7%D0%B0%D0%BA%D0%B0%D0%B7-%D0%BD%D0%B5-%D0%BF%D1%80%D0%B8%D1%85%D0%BE%D0%B4%D0%B8%D1%82-%D0%BD%D0%B0-%D0%BF%D0%BE%D1%87%D1%82%D1%83-%D0%BA%D1%82%D0%BE-%D0%BC%D0%BE%D0%B6%D0%B5%D1%82-%D0%BF%D0%BE%D0%BC%D0%BE%D1%87%D1%8C/page-2?hl=%D0%BF%D0%BE%D1%87%D1%82%D0%B0 Т.е. По идее должно уведомление приходить, если из контактов приходит, и тут удаленно уже ничем не поможешь. Там нет решения.Точнее тс решил проблему,но как не написал((( Надіслати Поділитися на інших сайтах More sharing options... riny Опубліковано: 27 червня 2014 Share Опубліковано: 27 червня 2014 Там нет решения.Точнее тс решил проблему,но как не написал((( именно, как видно по той теме даже опытный глаз поначалу не смог определить в чем проблема, потому можете разве что ссылку дать посмотреть на оформление. Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... bark4ss Опубліковано: 8 липня 2014 Автор Share Опубліковано: 8 липня 2014 Настроил через smtp.Приходит письмо с заказом.Но в журнале ошибок вот такие строки появляются: 2014-07-08 9:59:50 - PHP Notice: Undefined property: Mail::$form in /home/steepby/public_html/system/library/mail.php on line 276 2014-07-08 9:59:51 - PHP Notice: Undefined property: Mail::$form in /home/steepby/public_html/system/library/mail.php on line 276 а вот эти строки из файла: <?php class Mail { protected $to; protected $from; protected $sender; protected $subject; protected $text; protected $html; protected $attachments = array(); public $protocol = 'mail'; public $hostname; public $username; public $password; public $port = 25; public $timeout = 5; public $newline = "\n"; public $crlf = "\r\n"; public $verp = false; public $parameter = ''; public function setTo($to) { $this->to = $to; } public function setFrom($from) { $this->from = $from; } public function setSender($sender) { $this->sender = $sender; } public function setSubject($subject) { $this->subject = $subject; } public function setText($text) { $this->text = $text; } public function setHtml($html) { $this->html = $html; } public function addAttachment($filename) { $this->attachments[] = $filename; } public function send() { if (!$this->to) { trigger_error('Error: E-Mail to required!'); exit(); } if (!$this->from) { trigger_error('Error: E-Mail from required!'); exit(); } if (!$this->sender) { trigger_error('Error: E-Mail sender required!'); exit(); } if (!$this->subject) { trigger_error('Error: E-Mail subject required!'); exit(); } if ((!$this->text) && (!$this->html)) { trigger_error('Error: E-Mail message required!'); exit(); } if (is_array($this->to)) { $to = implode(',', $this->to); } else { $to = $this->to; } $boundary = '----=_NextPart_' . md5(time()); $header = ''; $header .= 'MIME-Version: 1.0' . $this->newline; if ($this->protocol != 'mail') { $header .= 'To: ' . $to . $this->newline; $header .= 'Subject: ' . $this->subject . $this->newline; } $header .= 'Date: ' . date('D, d M Y H:i:s O') . $this->newline; $header .= 'From: ' . '=?UTF-8?B?' . base64_encode($this->sender) . '?=' . '<' . $this->from . '>' . $this->newline; $header .= 'Reply-To: ' . '=?UTF-8?B?' . base64_encode($this->sender) . '?=' . '<' . $this->from . '>' . $this->newline; $header .= 'Return-Path: ' . $this->from . $this->newline; $header .= 'X-Mailer: PHP/' . phpversion() . $this->newline; $header .= 'Content-Type: multipart/related; boundary="' . $boundary . '"' . $this->newline . $this->newline; if (!$this->html) { $message = '--' . $boundary . $this->newline; $message .= 'Content-Type: text/plain; charset="utf-8"' . $this->newline; $message .= 'Content-Transfer-Encoding: 8bit' . $this->newline . $this->newline; $message .= $this->text . $this->newline; } else { $message = '--' . $boundary . $this->newline; $message .= 'Content-Type: multipart/alternative; boundary="' . $boundary . '_alt"' . $this->newline . $this->newline; $message .= '--' . $boundary . '_alt' . $this->newline; $message .= 'Content-Type: text/plain; charset="utf-8"' . $this->newline; $message .= 'Content-Transfer-Encoding: 8bit' . $this->newline . $this->newline; if ($this->text) { $message .= $this->text . $this->newline; } else { $message .= 'This is a HTML email and your email client software does not support HTML email!' . $this->newline; } $message .= '--' . $boundary . '_alt' . $this->newline; $message .= 'Content-Type: text/html; charset="utf-8"' . $this->newline; $message .= 'Content-Transfer-Encoding: 8bit' . $this->newline . $this->newline; $message .= $this->html . $this->newline; $message .= '--' . $boundary . '_alt--' . $this->newline; } foreach ($this->attachments as $attachment) { if (file_exists($attachment)) { $handle = fopen($attachment, 'r'); $content = fread($handle, filesize($attachment)); fclose($handle); $message .= '--' . $boundary . $this->newline; $message .= 'Content-Type: application/octet-stream; name="' . basename($attachment) . '"' . $this->newline; $message .= 'Content-Transfer-Encoding: base64' . $this->newline; $message .= 'Content-Disposition: attachment; filename="' . basename($attachment) . '"' . $this->newline; $message .= 'Content-ID: <' . basename(urlencode($attachment)) . '>' . $this->newline; $message .= 'X-Attachment-Id: ' . basename(urlencode($attachment)) . $this->newline . $this->newline; $message .= chunk_split(base64_encode($content)); } } $message .= '--' . $boundary . '--' . $this->newline; if ($this->protocol == 'mail') { ini_set('sendmail_from', $this->from); if ($this->parameter) { mail($to, '=?UTF-8?B?' . base64_encode($this->subject) . '?=', $message, $header, $this->parameter); } else { mail($to, '=?UTF-8?B?' . base64_encode($this->subject) . '?=', $message, $header); } } elseif ($this->protocol == 'smtp') { $handle = fsockopen($this->hostname, $this->port, $errno, $errstr, $this->timeout); if (!$handle) { trigger_error('Error: ' . $errstr . ' (' . $errno . ')'); exit(); } else { if (substr(PHP_OS, 0, 3) != 'WIN') { socket_set_timeout($handle, $this->timeout, 0); } while ($line = fgets($handle, 515)) { if (substr($line, 3, 1) == ' ') { break; } } if (substr($this->hostname, 0, 3) == 'tls') { fputs($handle, 'STARTTLS' . $this->crlf); while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 220) { trigger_error('Error: STARTTLS not accepted from server!'); exit(); } } if (!empty($this->username) && !empty($this->password)) { fputs($handle, 'EHLO ' . getenv('SERVER_NAME') . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 250) { trigger_error('Error: EHLO not accepted from server!'); exit(); } fputs($handle, 'AUTH LOGIN' . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 334) { trigger_error('Error: AUTH LOGIN not accepted from server!'); exit(); } fputs($handle, base64_encode($this->username) . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 334) { trigger_error('Error: Username not accepted from server!'); exit(); } fputs($handle, base64_encode($this->password) . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 235) { trigger_error('Error: Password not accepted from server!'); exit(); } } else { fputs($handle, 'HELO ' . getenv('SERVER_NAME') . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 250) { trigger_error('Error: HELO not accepted from server!'); exit(); } } if ($this->verp) { fputs($handle, 'MAIL FROM: <' . $this->form . '>XVERP' . $this->crlf); } else { fputs($handle, 'MAIL FROM: <' . $this->form . '>' . $this->crlf); } $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 250) { trigger_error('Error: MAIL FROM not accepted from server!'); exit(); } if (!is_array($this->to)) { fputs($handle, 'RCPT TO: <' . $this->to . '>' . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if ((substr($reply, 0, 3) != 250) && (substr($reply, 0, 3) != 251)) { trigger_error('Error: RCPT TO not accepted from server!'); exit(); } } else { foreach ($this->to as $recipient) { fputs($handle, 'RCPT TO: <' . $recipient . '>' . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if ((substr($reply, 0, 3) != 250) && (substr($reply, 0, 3) != 251)) { trigger_error('Error: RCPT TO not accepted from server!'); exit(); } } } fputs($handle, 'DATA' . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 354) { trigger_error('Error: DATA not accepted from server!'); exit(); } // According to rfc 821 we should not send more than 1000 including the CRLF $message = str_replace("\r\n", "\n", $header . $message); $message = str_replace("\r", "\n", $message); $lines = explode("\n", $message); foreach ($lines as $line) { $results = str_split($line, 998); foreach ($results as $result) { if (substr(PHP_OS, 0, 3) != 'WIN') { fputs($handle, $result . $this->crlf); } else { fputs($handle, str_replace("\n", "\r\n", $result) . $this->crlf); } } } fputs($handle, '.' . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 250) { trigger_error('Error: DATA not accepted from server!'); exit(); } fputs($handle, 'QUIT' . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 221) { trigger_error('Error: QUIT not accepted from server!'); exit(); } fclose($handle); } } } } ?> что эта за ошибка? Надіслати Поділитися на інших сайтах More sharing options... SquirrelGirl Опубліковано: 11 липня 2014 Share Опубліковано: 11 липня 2014 (змінено) в файле catalog\view\theme\OPC070161-2\template\information\contact.tpl после <div class="content"> вставить <form action="<?php echo $action; ?>" method="post" enctype="multipart/form-data"> Простите, а после какого именно div class=content это вставлять? у меня их почему-то два в указанном месте... Оба варианта не помогли. Письма всё равно не приходят. Змінено 11 липня 2014 користувачем SquirrelGirl Надіслати Поділитися на інших сайтах More sharing options... riny Опубліковано: 11 липня 2014 Share Опубліковано: 11 липня 2014 Простите, а после какого именно div class=content это вставлять? у меня их почему-то два в указанном месте... Оба варианта не помогли. Письма всё равно не приходят. не факт, что вам это надо. но если у вас этот же шаблон, то вроде после первого. Надіслати Поділитися на інших сайтах More sharing options... SquirrelGirl Опубліковано: 11 липня 2014 Share Опубліковано: 11 липня 2014 не факт, что вам это надо. но если у вас этот же шаблон, то вроде после первого. Ясно, сразу кинулась проверять, не посмотрев, что да как. :) Мне вообще нужна сейчас только отправка отзывов на почту, вот её и пыталась решить. Как поняла, вторая проблема автора темы решена тут: Все, что касается email-уведомлений о заказе правим в файле/catalog/model/checkout/order.php. Для того, чтобы сделать такое же уведомление админу магазина, как и покупателю ищем комментарий: // Send to additional alert emails Смотрим от него пару позиций вверх и видим такие строки (у меня они на 559-561): $mail->setSubject(html_entity_decode($subject, ENT_QUOTES, 'UTF-8')); $mail->setText(html_entity_decode($text, ENT_QUOTES, 'UTF-8')); $mail->send(); Между темой и текстом письма вставляем $mail->setHtml($html); Чтобы получилось вот так: $mail->setSubject(html_entity_decode($subject, ENT_QUOTES, 'UTF-8')); $mail->setHtml($html); $mail->setText(html_entity_decode($text, ENT_QUOTES, 'UTF-8')); $mail->send(); Все, администратору магазина теперь будет приходить точно такое же письмо о заказе, как и покупателю. Не моё, взято с http://web.warwolf.org/opencart-odinakovye-uvedomleniya-o-zakaze-adm/#comment-17146 (не реклама, просто нашла решение, как делать текст скрытым, не знаю). Надіслати Поділитися на інших сайтах More sharing options... 3 weeks later... Ivan77rus Опубліковано: 1 серпня 2014 Share Опубліковано: 1 серпня 2014 Привет ! У меня похожая история как только не настроил не отправляет письма не админу не покупателю ( как быть ? а также не показывает тех кто зарегистрировался. Показывает тодько что поступил заказ увед. на почту не приходит также не отсылаются письма покупателям Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Шаблони, дизайн та оформлення магазину Не отправляет письмо Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut Вибір категорій і виробників для "Знайшли дешевше" шаблону Upstore Автор: Flint2000
bark4ss Опубліковано: 27 червня 2014 Автор Share Опубліковано: 27 червня 2014 Тогда наверно стоит глянуть в журнал ошибок после оформления заказа. Кстати, в админке заказы отображаются? да.отображаются.В журнале ошибок нет. Надіслати Поділитися на інших сайтах More sharing options...
riny Опубліковано: 27 червня 2014 Share Опубліковано: 27 червня 2014 Дальше действия примерно такие: https://opencartforum.com/topic/35812-%D0%B7%D0%B0%D0%BA%D0%B0%D0%B7-%D0%BD%D0%B5-%D0%BF%D1%80%D0%B8%D1%85%D0%BE%D0%B4%D0%B8%D1%82-%D0%BD%D0%B0-%D0%BF%D0%BE%D1%87%D1%82%D1%83-%D0%BA%D1%82%D0%BE-%D0%BC%D0%BE%D0%B6%D0%B5%D1%82-%D0%BF%D0%BE%D0%BC%D0%BE%D1%87%D1%8C/page-2?hl=%D0%BF%D0%BE%D1%87%D1%82%D0%B0 Т.е. По идее должно уведомление приходить, если из контактов приходит, и тут удаленно уже ничем не поможешь. Надіслати Поділитися на інших сайтах More sharing options... bark4ss Опубліковано: 27 червня 2014 Автор Share Опубліковано: 27 червня 2014 Дальше действия примерно такие: https://opencartforum.com/topic/35812-%D0%B7%D0%B0%D0%BA%D0%B0%D0%B7-%D0%BD%D0%B5-%D0%BF%D1%80%D0%B8%D1%85%D0%BE%D0%B4%D0%B8%D1%82-%D0%BD%D0%B0-%D0%BF%D0%BE%D1%87%D1%82%D1%83-%D0%BA%D1%82%D0%BE-%D0%BC%D0%BE%D0%B6%D0%B5%D1%82-%D0%BF%D0%BE%D0%BC%D0%BE%D1%87%D1%8C/page-2?hl=%D0%BF%D0%BE%D1%87%D1%82%D0%B0 Т.е. По идее должно уведомление приходить, если из контактов приходит, и тут удаленно уже ничем не поможешь. Там нет решения.Точнее тс решил проблему,но как не написал((( Надіслати Поділитися на інших сайтах More sharing options... riny Опубліковано: 27 червня 2014 Share Опубліковано: 27 червня 2014 Там нет решения.Точнее тс решил проблему,но как не написал((( именно, как видно по той теме даже опытный глаз поначалу не смог определить в чем проблема, потому можете разве что ссылку дать посмотреть на оформление. Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... bark4ss Опубліковано: 8 липня 2014 Автор Share Опубліковано: 8 липня 2014 Настроил через smtp.Приходит письмо с заказом.Но в журнале ошибок вот такие строки появляются: 2014-07-08 9:59:50 - PHP Notice: Undefined property: Mail::$form in /home/steepby/public_html/system/library/mail.php on line 276 2014-07-08 9:59:51 - PHP Notice: Undefined property: Mail::$form in /home/steepby/public_html/system/library/mail.php on line 276 а вот эти строки из файла: <?php class Mail { protected $to; protected $from; protected $sender; protected $subject; protected $text; protected $html; protected $attachments = array(); public $protocol = 'mail'; public $hostname; public $username; public $password; public $port = 25; public $timeout = 5; public $newline = "\n"; public $crlf = "\r\n"; public $verp = false; public $parameter = ''; public function setTo($to) { $this->to = $to; } public function setFrom($from) { $this->from = $from; } public function setSender($sender) { $this->sender = $sender; } public function setSubject($subject) { $this->subject = $subject; } public function setText($text) { $this->text = $text; } public function setHtml($html) { $this->html = $html; } public function addAttachment($filename) { $this->attachments[] = $filename; } public function send() { if (!$this->to) { trigger_error('Error: E-Mail to required!'); exit(); } if (!$this->from) { trigger_error('Error: E-Mail from required!'); exit(); } if (!$this->sender) { trigger_error('Error: E-Mail sender required!'); exit(); } if (!$this->subject) { trigger_error('Error: E-Mail subject required!'); exit(); } if ((!$this->text) && (!$this->html)) { trigger_error('Error: E-Mail message required!'); exit(); } if (is_array($this->to)) { $to = implode(',', $this->to); } else { $to = $this->to; } $boundary = '----=_NextPart_' . md5(time()); $header = ''; $header .= 'MIME-Version: 1.0' . $this->newline; if ($this->protocol != 'mail') { $header .= 'To: ' . $to . $this->newline; $header .= 'Subject: ' . $this->subject . $this->newline; } $header .= 'Date: ' . date('D, d M Y H:i:s O') . $this->newline; $header .= 'From: ' . '=?UTF-8?B?' . base64_encode($this->sender) . '?=' . '<' . $this->from . '>' . $this->newline; $header .= 'Reply-To: ' . '=?UTF-8?B?' . base64_encode($this->sender) . '?=' . '<' . $this->from . '>' . $this->newline; $header .= 'Return-Path: ' . $this->from . $this->newline; $header .= 'X-Mailer: PHP/' . phpversion() . $this->newline; $header .= 'Content-Type: multipart/related; boundary="' . $boundary . '"' . $this->newline . $this->newline; if (!$this->html) { $message = '--' . $boundary . $this->newline; $message .= 'Content-Type: text/plain; charset="utf-8"' . $this->newline; $message .= 'Content-Transfer-Encoding: 8bit' . $this->newline . $this->newline; $message .= $this->text . $this->newline; } else { $message = '--' . $boundary . $this->newline; $message .= 'Content-Type: multipart/alternative; boundary="' . $boundary . '_alt"' . $this->newline . $this->newline; $message .= '--' . $boundary . '_alt' . $this->newline; $message .= 'Content-Type: text/plain; charset="utf-8"' . $this->newline; $message .= 'Content-Transfer-Encoding: 8bit' . $this->newline . $this->newline; if ($this->text) { $message .= $this->text . $this->newline; } else { $message .= 'This is a HTML email and your email client software does not support HTML email!' . $this->newline; } $message .= '--' . $boundary . '_alt' . $this->newline; $message .= 'Content-Type: text/html; charset="utf-8"' . $this->newline; $message .= 'Content-Transfer-Encoding: 8bit' . $this->newline . $this->newline; $message .= $this->html . $this->newline; $message .= '--' . $boundary . '_alt--' . $this->newline; } foreach ($this->attachments as $attachment) { if (file_exists($attachment)) { $handle = fopen($attachment, 'r'); $content = fread($handle, filesize($attachment)); fclose($handle); $message .= '--' . $boundary . $this->newline; $message .= 'Content-Type: application/octet-stream; name="' . basename($attachment) . '"' . $this->newline; $message .= 'Content-Transfer-Encoding: base64' . $this->newline; $message .= 'Content-Disposition: attachment; filename="' . basename($attachment) . '"' . $this->newline; $message .= 'Content-ID: <' . basename(urlencode($attachment)) . '>' . $this->newline; $message .= 'X-Attachment-Id: ' . basename(urlencode($attachment)) . $this->newline . $this->newline; $message .= chunk_split(base64_encode($content)); } } $message .= '--' . $boundary . '--' . $this->newline; if ($this->protocol == 'mail') { ini_set('sendmail_from', $this->from); if ($this->parameter) { mail($to, '=?UTF-8?B?' . base64_encode($this->subject) . '?=', $message, $header, $this->parameter); } else { mail($to, '=?UTF-8?B?' . base64_encode($this->subject) . '?=', $message, $header); } } elseif ($this->protocol == 'smtp') { $handle = fsockopen($this->hostname, $this->port, $errno, $errstr, $this->timeout); if (!$handle) { trigger_error('Error: ' . $errstr . ' (' . $errno . ')'); exit(); } else { if (substr(PHP_OS, 0, 3) != 'WIN') { socket_set_timeout($handle, $this->timeout, 0); } while ($line = fgets($handle, 515)) { if (substr($line, 3, 1) == ' ') { break; } } if (substr($this->hostname, 0, 3) == 'tls') { fputs($handle, 'STARTTLS' . $this->crlf); while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 220) { trigger_error('Error: STARTTLS not accepted from server!'); exit(); } } if (!empty($this->username) && !empty($this->password)) { fputs($handle, 'EHLO ' . getenv('SERVER_NAME') . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 250) { trigger_error('Error: EHLO not accepted from server!'); exit(); } fputs($handle, 'AUTH LOGIN' . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 334) { trigger_error('Error: AUTH LOGIN not accepted from server!'); exit(); } fputs($handle, base64_encode($this->username) . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 334) { trigger_error('Error: Username not accepted from server!'); exit(); } fputs($handle, base64_encode($this->password) . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 235) { trigger_error('Error: Password not accepted from server!'); exit(); } } else { fputs($handle, 'HELO ' . getenv('SERVER_NAME') . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 250) { trigger_error('Error: HELO not accepted from server!'); exit(); } } if ($this->verp) { fputs($handle, 'MAIL FROM: <' . $this->form . '>XVERP' . $this->crlf); } else { fputs($handle, 'MAIL FROM: <' . $this->form . '>' . $this->crlf); } $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 250) { trigger_error('Error: MAIL FROM not accepted from server!'); exit(); } if (!is_array($this->to)) { fputs($handle, 'RCPT TO: <' . $this->to . '>' . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if ((substr($reply, 0, 3) != 250) && (substr($reply, 0, 3) != 251)) { trigger_error('Error: RCPT TO not accepted from server!'); exit(); } } else { foreach ($this->to as $recipient) { fputs($handle, 'RCPT TO: <' . $recipient . '>' . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if ((substr($reply, 0, 3) != 250) && (substr($reply, 0, 3) != 251)) { trigger_error('Error: RCPT TO not accepted from server!'); exit(); } } } fputs($handle, 'DATA' . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 354) { trigger_error('Error: DATA not accepted from server!'); exit(); } // According to rfc 821 we should not send more than 1000 including the CRLF $message = str_replace("\r\n", "\n", $header . $message); $message = str_replace("\r", "\n", $message); $lines = explode("\n", $message); foreach ($lines as $line) { $results = str_split($line, 998); foreach ($results as $result) { if (substr(PHP_OS, 0, 3) != 'WIN') { fputs($handle, $result . $this->crlf); } else { fputs($handle, str_replace("\n", "\r\n", $result) . $this->crlf); } } } fputs($handle, '.' . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 250) { trigger_error('Error: DATA not accepted from server!'); exit(); } fputs($handle, 'QUIT' . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 221) { trigger_error('Error: QUIT not accepted from server!'); exit(); } fclose($handle); } } } } ?> что эта за ошибка? Надіслати Поділитися на інших сайтах More sharing options... SquirrelGirl Опубліковано: 11 липня 2014 Share Опубліковано: 11 липня 2014 (змінено) в файле catalog\view\theme\OPC070161-2\template\information\contact.tpl после <div class="content"> вставить <form action="<?php echo $action; ?>" method="post" enctype="multipart/form-data"> Простите, а после какого именно div class=content это вставлять? у меня их почему-то два в указанном месте... Оба варианта не помогли. Письма всё равно не приходят. Змінено 11 липня 2014 користувачем SquirrelGirl Надіслати Поділитися на інших сайтах More sharing options... riny Опубліковано: 11 липня 2014 Share Опубліковано: 11 липня 2014 Простите, а после какого именно div class=content это вставлять? у меня их почему-то два в указанном месте... Оба варианта не помогли. Письма всё равно не приходят. не факт, что вам это надо. но если у вас этот же шаблон, то вроде после первого. Надіслати Поділитися на інших сайтах More sharing options... SquirrelGirl Опубліковано: 11 липня 2014 Share Опубліковано: 11 липня 2014 не факт, что вам это надо. но если у вас этот же шаблон, то вроде после первого. Ясно, сразу кинулась проверять, не посмотрев, что да как. :) Мне вообще нужна сейчас только отправка отзывов на почту, вот её и пыталась решить. Как поняла, вторая проблема автора темы решена тут: Все, что касается email-уведомлений о заказе правим в файле/catalog/model/checkout/order.php. Для того, чтобы сделать такое же уведомление админу магазина, как и покупателю ищем комментарий: // Send to additional alert emails Смотрим от него пару позиций вверх и видим такие строки (у меня они на 559-561): $mail->setSubject(html_entity_decode($subject, ENT_QUOTES, 'UTF-8')); $mail->setText(html_entity_decode($text, ENT_QUOTES, 'UTF-8')); $mail->send(); Между темой и текстом письма вставляем $mail->setHtml($html); Чтобы получилось вот так: $mail->setSubject(html_entity_decode($subject, ENT_QUOTES, 'UTF-8')); $mail->setHtml($html); $mail->setText(html_entity_decode($text, ENT_QUOTES, 'UTF-8')); $mail->send(); Все, администратору магазина теперь будет приходить точно такое же письмо о заказе, как и покупателю. Не моё, взято с http://web.warwolf.org/opencart-odinakovye-uvedomleniya-o-zakaze-adm/#comment-17146 (не реклама, просто нашла решение, как делать текст скрытым, не знаю). Надіслати Поділитися на інших сайтах More sharing options... 3 weeks later... Ivan77rus Опубліковано: 1 серпня 2014 Share Опубліковано: 1 серпня 2014 Привет ! У меня похожая история как только не настроил не отправляет письма не админу не покупателю ( как быть ? а также не показывает тех кто зарегистрировался. Показывает тодько что поступил заказ увед. на почту не приходит также не отсылаются письма покупателям Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Шаблони, дизайн та оформлення магазину Не отправляет письмо
bark4ss Опубліковано: 27 червня 2014 Автор Share Опубліковано: 27 червня 2014 Дальше действия примерно такие: https://opencartforum.com/topic/35812-%D0%B7%D0%B0%D0%BA%D0%B0%D0%B7-%D0%BD%D0%B5-%D0%BF%D1%80%D0%B8%D1%85%D0%BE%D0%B4%D0%B8%D1%82-%D0%BD%D0%B0-%D0%BF%D0%BE%D1%87%D1%82%D1%83-%D0%BA%D1%82%D0%BE-%D0%BC%D0%BE%D0%B6%D0%B5%D1%82-%D0%BF%D0%BE%D0%BC%D0%BE%D1%87%D1%8C/page-2?hl=%D0%BF%D0%BE%D1%87%D1%82%D0%B0 Т.е. По идее должно уведомление приходить, если из контактов приходит, и тут удаленно уже ничем не поможешь. Там нет решения.Точнее тс решил проблему,но как не написал((( Надіслати Поділитися на інших сайтах More sharing options...
riny Опубліковано: 27 червня 2014 Share Опубліковано: 27 червня 2014 Там нет решения.Точнее тс решил проблему,но как не написал((( именно, как видно по той теме даже опытный глаз поначалу не смог определить в чем проблема, потому можете разве что ссылку дать посмотреть на оформление. Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... bark4ss Опубліковано: 8 липня 2014 Автор Share Опубліковано: 8 липня 2014 Настроил через smtp.Приходит письмо с заказом.Но в журнале ошибок вот такие строки появляются: 2014-07-08 9:59:50 - PHP Notice: Undefined property: Mail::$form in /home/steepby/public_html/system/library/mail.php on line 276 2014-07-08 9:59:51 - PHP Notice: Undefined property: Mail::$form in /home/steepby/public_html/system/library/mail.php on line 276 а вот эти строки из файла: <?php class Mail { protected $to; protected $from; protected $sender; protected $subject; protected $text; protected $html; protected $attachments = array(); public $protocol = 'mail'; public $hostname; public $username; public $password; public $port = 25; public $timeout = 5; public $newline = "\n"; public $crlf = "\r\n"; public $verp = false; public $parameter = ''; public function setTo($to) { $this->to = $to; } public function setFrom($from) { $this->from = $from; } public function setSender($sender) { $this->sender = $sender; } public function setSubject($subject) { $this->subject = $subject; } public function setText($text) { $this->text = $text; } public function setHtml($html) { $this->html = $html; } public function addAttachment($filename) { $this->attachments[] = $filename; } public function send() { if (!$this->to) { trigger_error('Error: E-Mail to required!'); exit(); } if (!$this->from) { trigger_error('Error: E-Mail from required!'); exit(); } if (!$this->sender) { trigger_error('Error: E-Mail sender required!'); exit(); } if (!$this->subject) { trigger_error('Error: E-Mail subject required!'); exit(); } if ((!$this->text) && (!$this->html)) { trigger_error('Error: E-Mail message required!'); exit(); } if (is_array($this->to)) { $to = implode(',', $this->to); } else { $to = $this->to; } $boundary = '----=_NextPart_' . md5(time()); $header = ''; $header .= 'MIME-Version: 1.0' . $this->newline; if ($this->protocol != 'mail') { $header .= 'To: ' . $to . $this->newline; $header .= 'Subject: ' . $this->subject . $this->newline; } $header .= 'Date: ' . date('D, d M Y H:i:s O') . $this->newline; $header .= 'From: ' . '=?UTF-8?B?' . base64_encode($this->sender) . '?=' . '<' . $this->from . '>' . $this->newline; $header .= 'Reply-To: ' . '=?UTF-8?B?' . base64_encode($this->sender) . '?=' . '<' . $this->from . '>' . $this->newline; $header .= 'Return-Path: ' . $this->from . $this->newline; $header .= 'X-Mailer: PHP/' . phpversion() . $this->newline; $header .= 'Content-Type: multipart/related; boundary="' . $boundary . '"' . $this->newline . $this->newline; if (!$this->html) { $message = '--' . $boundary . $this->newline; $message .= 'Content-Type: text/plain; charset="utf-8"' . $this->newline; $message .= 'Content-Transfer-Encoding: 8bit' . $this->newline . $this->newline; $message .= $this->text . $this->newline; } else { $message = '--' . $boundary . $this->newline; $message .= 'Content-Type: multipart/alternative; boundary="' . $boundary . '_alt"' . $this->newline . $this->newline; $message .= '--' . $boundary . '_alt' . $this->newline; $message .= 'Content-Type: text/plain; charset="utf-8"' . $this->newline; $message .= 'Content-Transfer-Encoding: 8bit' . $this->newline . $this->newline; if ($this->text) { $message .= $this->text . $this->newline; } else { $message .= 'This is a HTML email and your email client software does not support HTML email!' . $this->newline; } $message .= '--' . $boundary . '_alt' . $this->newline; $message .= 'Content-Type: text/html; charset="utf-8"' . $this->newline; $message .= 'Content-Transfer-Encoding: 8bit' . $this->newline . $this->newline; $message .= $this->html . $this->newline; $message .= '--' . $boundary . '_alt--' . $this->newline; } foreach ($this->attachments as $attachment) { if (file_exists($attachment)) { $handle = fopen($attachment, 'r'); $content = fread($handle, filesize($attachment)); fclose($handle); $message .= '--' . $boundary . $this->newline; $message .= 'Content-Type: application/octet-stream; name="' . basename($attachment) . '"' . $this->newline; $message .= 'Content-Transfer-Encoding: base64' . $this->newline; $message .= 'Content-Disposition: attachment; filename="' . basename($attachment) . '"' . $this->newline; $message .= 'Content-ID: <' . basename(urlencode($attachment)) . '>' . $this->newline; $message .= 'X-Attachment-Id: ' . basename(urlencode($attachment)) . $this->newline . $this->newline; $message .= chunk_split(base64_encode($content)); } } $message .= '--' . $boundary . '--' . $this->newline; if ($this->protocol == 'mail') { ini_set('sendmail_from', $this->from); if ($this->parameter) { mail($to, '=?UTF-8?B?' . base64_encode($this->subject) . '?=', $message, $header, $this->parameter); } else { mail($to, '=?UTF-8?B?' . base64_encode($this->subject) . '?=', $message, $header); } } elseif ($this->protocol == 'smtp') { $handle = fsockopen($this->hostname, $this->port, $errno, $errstr, $this->timeout); if (!$handle) { trigger_error('Error: ' . $errstr . ' (' . $errno . ')'); exit(); } else { if (substr(PHP_OS, 0, 3) != 'WIN') { socket_set_timeout($handle, $this->timeout, 0); } while ($line = fgets($handle, 515)) { if (substr($line, 3, 1) == ' ') { break; } } if (substr($this->hostname, 0, 3) == 'tls') { fputs($handle, 'STARTTLS' . $this->crlf); while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 220) { trigger_error('Error: STARTTLS not accepted from server!'); exit(); } } if (!empty($this->username) && !empty($this->password)) { fputs($handle, 'EHLO ' . getenv('SERVER_NAME') . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 250) { trigger_error('Error: EHLO not accepted from server!'); exit(); } fputs($handle, 'AUTH LOGIN' . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 334) { trigger_error('Error: AUTH LOGIN not accepted from server!'); exit(); } fputs($handle, base64_encode($this->username) . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 334) { trigger_error('Error: Username not accepted from server!'); exit(); } fputs($handle, base64_encode($this->password) . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 235) { trigger_error('Error: Password not accepted from server!'); exit(); } } else { fputs($handle, 'HELO ' . getenv('SERVER_NAME') . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 250) { trigger_error('Error: HELO not accepted from server!'); exit(); } } if ($this->verp) { fputs($handle, 'MAIL FROM: <' . $this->form . '>XVERP' . $this->crlf); } else { fputs($handle, 'MAIL FROM: <' . $this->form . '>' . $this->crlf); } $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 250) { trigger_error('Error: MAIL FROM not accepted from server!'); exit(); } if (!is_array($this->to)) { fputs($handle, 'RCPT TO: <' . $this->to . '>' . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if ((substr($reply, 0, 3) != 250) && (substr($reply, 0, 3) != 251)) { trigger_error('Error: RCPT TO not accepted from server!'); exit(); } } else { foreach ($this->to as $recipient) { fputs($handle, 'RCPT TO: <' . $recipient . '>' . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if ((substr($reply, 0, 3) != 250) && (substr($reply, 0, 3) != 251)) { trigger_error('Error: RCPT TO not accepted from server!'); exit(); } } } fputs($handle, 'DATA' . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 354) { trigger_error('Error: DATA not accepted from server!'); exit(); } // According to rfc 821 we should not send more than 1000 including the CRLF $message = str_replace("\r\n", "\n", $header . $message); $message = str_replace("\r", "\n", $message); $lines = explode("\n", $message); foreach ($lines as $line) { $results = str_split($line, 998); foreach ($results as $result) { if (substr(PHP_OS, 0, 3) != 'WIN') { fputs($handle, $result . $this->crlf); } else { fputs($handle, str_replace("\n", "\r\n", $result) . $this->crlf); } } } fputs($handle, '.' . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 250) { trigger_error('Error: DATA not accepted from server!'); exit(); } fputs($handle, 'QUIT' . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 221) { trigger_error('Error: QUIT not accepted from server!'); exit(); } fclose($handle); } } } } ?> что эта за ошибка? Надіслати Поділитися на інших сайтах More sharing options... SquirrelGirl Опубліковано: 11 липня 2014 Share Опубліковано: 11 липня 2014 (змінено) в файле catalog\view\theme\OPC070161-2\template\information\contact.tpl после <div class="content"> вставить <form action="<?php echo $action; ?>" method="post" enctype="multipart/form-data"> Простите, а после какого именно div class=content это вставлять? у меня их почему-то два в указанном месте... Оба варианта не помогли. Письма всё равно не приходят. Змінено 11 липня 2014 користувачем SquirrelGirl Надіслати Поділитися на інших сайтах More sharing options... riny Опубліковано: 11 липня 2014 Share Опубліковано: 11 липня 2014 Простите, а после какого именно div class=content это вставлять? у меня их почему-то два в указанном месте... Оба варианта не помогли. Письма всё равно не приходят. не факт, что вам это надо. но если у вас этот же шаблон, то вроде после первого. Надіслати Поділитися на інших сайтах More sharing options... SquirrelGirl Опубліковано: 11 липня 2014 Share Опубліковано: 11 липня 2014 не факт, что вам это надо. но если у вас этот же шаблон, то вроде после первого. Ясно, сразу кинулась проверять, не посмотрев, что да как. :) Мне вообще нужна сейчас только отправка отзывов на почту, вот её и пыталась решить. Как поняла, вторая проблема автора темы решена тут: Все, что касается email-уведомлений о заказе правим в файле/catalog/model/checkout/order.php. Для того, чтобы сделать такое же уведомление админу магазина, как и покупателю ищем комментарий: // Send to additional alert emails Смотрим от него пару позиций вверх и видим такие строки (у меня они на 559-561): $mail->setSubject(html_entity_decode($subject, ENT_QUOTES, 'UTF-8')); $mail->setText(html_entity_decode($text, ENT_QUOTES, 'UTF-8')); $mail->send(); Между темой и текстом письма вставляем $mail->setHtml($html); Чтобы получилось вот так: $mail->setSubject(html_entity_decode($subject, ENT_QUOTES, 'UTF-8')); $mail->setHtml($html); $mail->setText(html_entity_decode($text, ENT_QUOTES, 'UTF-8')); $mail->send(); Все, администратору магазина теперь будет приходить точно такое же письмо о заказе, как и покупателю. Не моё, взято с http://web.warwolf.org/opencart-odinakovye-uvedomleniya-o-zakaze-adm/#comment-17146 (не реклама, просто нашла решение, как делать текст скрытым, не знаю). Надіслати Поділитися на інших сайтах More sharing options... 3 weeks later... Ivan77rus Опубліковано: 1 серпня 2014 Share Опубліковано: 1 серпня 2014 Привет ! У меня похожая история как только не настроил не отправляет письма не админу не покупателю ( как быть ? а также не показывает тех кто зарегистрировался. Показывает тодько что поступил заказ увед. на почту не приходит также не отсылаются письма покупателям Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку
bark4ss Опубліковано: 8 липня 2014 Автор Share Опубліковано: 8 липня 2014 Настроил через smtp.Приходит письмо с заказом.Но в журнале ошибок вот такие строки появляются: 2014-07-08 9:59:50 - PHP Notice: Undefined property: Mail::$form in /home/steepby/public_html/system/library/mail.php on line 276 2014-07-08 9:59:51 - PHP Notice: Undefined property: Mail::$form in /home/steepby/public_html/system/library/mail.php on line 276 а вот эти строки из файла: <?php class Mail { protected $to; protected $from; protected $sender; protected $subject; protected $text; protected $html; protected $attachments = array(); public $protocol = 'mail'; public $hostname; public $username; public $password; public $port = 25; public $timeout = 5; public $newline = "\n"; public $crlf = "\r\n"; public $verp = false; public $parameter = ''; public function setTo($to) { $this->to = $to; } public function setFrom($from) { $this->from = $from; } public function setSender($sender) { $this->sender = $sender; } public function setSubject($subject) { $this->subject = $subject; } public function setText($text) { $this->text = $text; } public function setHtml($html) { $this->html = $html; } public function addAttachment($filename) { $this->attachments[] = $filename; } public function send() { if (!$this->to) { trigger_error('Error: E-Mail to required!'); exit(); } if (!$this->from) { trigger_error('Error: E-Mail from required!'); exit(); } if (!$this->sender) { trigger_error('Error: E-Mail sender required!'); exit(); } if (!$this->subject) { trigger_error('Error: E-Mail subject required!'); exit(); } if ((!$this->text) && (!$this->html)) { trigger_error('Error: E-Mail message required!'); exit(); } if (is_array($this->to)) { $to = implode(',', $this->to); } else { $to = $this->to; } $boundary = '----=_NextPart_' . md5(time()); $header = ''; $header .= 'MIME-Version: 1.0' . $this->newline; if ($this->protocol != 'mail') { $header .= 'To: ' . $to . $this->newline; $header .= 'Subject: ' . $this->subject . $this->newline; } $header .= 'Date: ' . date('D, d M Y H:i:s O') . $this->newline; $header .= 'From: ' . '=?UTF-8?B?' . base64_encode($this->sender) . '?=' . '<' . $this->from . '>' . $this->newline; $header .= 'Reply-To: ' . '=?UTF-8?B?' . base64_encode($this->sender) . '?=' . '<' . $this->from . '>' . $this->newline; $header .= 'Return-Path: ' . $this->from . $this->newline; $header .= 'X-Mailer: PHP/' . phpversion() . $this->newline; $header .= 'Content-Type: multipart/related; boundary="' . $boundary . '"' . $this->newline . $this->newline; if (!$this->html) { $message = '--' . $boundary . $this->newline; $message .= 'Content-Type: text/plain; charset="utf-8"' . $this->newline; $message .= 'Content-Transfer-Encoding: 8bit' . $this->newline . $this->newline; $message .= $this->text . $this->newline; } else { $message = '--' . $boundary . $this->newline; $message .= 'Content-Type: multipart/alternative; boundary="' . $boundary . '_alt"' . $this->newline . $this->newline; $message .= '--' . $boundary . '_alt' . $this->newline; $message .= 'Content-Type: text/plain; charset="utf-8"' . $this->newline; $message .= 'Content-Transfer-Encoding: 8bit' . $this->newline . $this->newline; if ($this->text) { $message .= $this->text . $this->newline; } else { $message .= 'This is a HTML email and your email client software does not support HTML email!' . $this->newline; } $message .= '--' . $boundary . '_alt' . $this->newline; $message .= 'Content-Type: text/html; charset="utf-8"' . $this->newline; $message .= 'Content-Transfer-Encoding: 8bit' . $this->newline . $this->newline; $message .= $this->html . $this->newline; $message .= '--' . $boundary . '_alt--' . $this->newline; } foreach ($this->attachments as $attachment) { if (file_exists($attachment)) { $handle = fopen($attachment, 'r'); $content = fread($handle, filesize($attachment)); fclose($handle); $message .= '--' . $boundary . $this->newline; $message .= 'Content-Type: application/octet-stream; name="' . basename($attachment) . '"' . $this->newline; $message .= 'Content-Transfer-Encoding: base64' . $this->newline; $message .= 'Content-Disposition: attachment; filename="' . basename($attachment) . '"' . $this->newline; $message .= 'Content-ID: <' . basename(urlencode($attachment)) . '>' . $this->newline; $message .= 'X-Attachment-Id: ' . basename(urlencode($attachment)) . $this->newline . $this->newline; $message .= chunk_split(base64_encode($content)); } } $message .= '--' . $boundary . '--' . $this->newline; if ($this->protocol == 'mail') { ini_set('sendmail_from', $this->from); if ($this->parameter) { mail($to, '=?UTF-8?B?' . base64_encode($this->subject) . '?=', $message, $header, $this->parameter); } else { mail($to, '=?UTF-8?B?' . base64_encode($this->subject) . '?=', $message, $header); } } elseif ($this->protocol == 'smtp') { $handle = fsockopen($this->hostname, $this->port, $errno, $errstr, $this->timeout); if (!$handle) { trigger_error('Error: ' . $errstr . ' (' . $errno . ')'); exit(); } else { if (substr(PHP_OS, 0, 3) != 'WIN') { socket_set_timeout($handle, $this->timeout, 0); } while ($line = fgets($handle, 515)) { if (substr($line, 3, 1) == ' ') { break; } } if (substr($this->hostname, 0, 3) == 'tls') { fputs($handle, 'STARTTLS' . $this->crlf); while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 220) { trigger_error('Error: STARTTLS not accepted from server!'); exit(); } } if (!empty($this->username) && !empty($this->password)) { fputs($handle, 'EHLO ' . getenv('SERVER_NAME') . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 250) { trigger_error('Error: EHLO not accepted from server!'); exit(); } fputs($handle, 'AUTH LOGIN' . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 334) { trigger_error('Error: AUTH LOGIN not accepted from server!'); exit(); } fputs($handle, base64_encode($this->username) . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 334) { trigger_error('Error: Username not accepted from server!'); exit(); } fputs($handle, base64_encode($this->password) . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 235) { trigger_error('Error: Password not accepted from server!'); exit(); } } else { fputs($handle, 'HELO ' . getenv('SERVER_NAME') . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 250) { trigger_error('Error: HELO not accepted from server!'); exit(); } } if ($this->verp) { fputs($handle, 'MAIL FROM: <' . $this->form . '>XVERP' . $this->crlf); } else { fputs($handle, 'MAIL FROM: <' . $this->form . '>' . $this->crlf); } $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 250) { trigger_error('Error: MAIL FROM not accepted from server!'); exit(); } if (!is_array($this->to)) { fputs($handle, 'RCPT TO: <' . $this->to . '>' . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if ((substr($reply, 0, 3) != 250) && (substr($reply, 0, 3) != 251)) { trigger_error('Error: RCPT TO not accepted from server!'); exit(); } } else { foreach ($this->to as $recipient) { fputs($handle, 'RCPT TO: <' . $recipient . '>' . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if ((substr($reply, 0, 3) != 250) && (substr($reply, 0, 3) != 251)) { trigger_error('Error: RCPT TO not accepted from server!'); exit(); } } } fputs($handle, 'DATA' . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 354) { trigger_error('Error: DATA not accepted from server!'); exit(); } // According to rfc 821 we should not send more than 1000 including the CRLF $message = str_replace("\r\n", "\n", $header . $message); $message = str_replace("\r", "\n", $message); $lines = explode("\n", $message); foreach ($lines as $line) { $results = str_split($line, 998); foreach ($results as $result) { if (substr(PHP_OS, 0, 3) != 'WIN') { fputs($handle, $result . $this->crlf); } else { fputs($handle, str_replace("\n", "\r\n", $result) . $this->crlf); } } } fputs($handle, '.' . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 250) { trigger_error('Error: DATA not accepted from server!'); exit(); } fputs($handle, 'QUIT' . $this->crlf); $reply = ''; while ($line = fgets($handle, 515)) { $reply .= $line; if (substr($line, 3, 1) == ' ') { break; } } if (substr($reply, 0, 3) != 221) { trigger_error('Error: QUIT not accepted from server!'); exit(); } fclose($handle); } } } } ?> что эта за ошибка? Надіслати Поділитися на інших сайтах More sharing options...
SquirrelGirl Опубліковано: 11 липня 2014 Share Опубліковано: 11 липня 2014 (змінено) в файле catalog\view\theme\OPC070161-2\template\information\contact.tpl после <div class="content"> вставить <form action="<?php echo $action; ?>" method="post" enctype="multipart/form-data"> Простите, а после какого именно div class=content это вставлять? у меня их почему-то два в указанном месте... Оба варианта не помогли. Письма всё равно не приходят. Змінено 11 липня 2014 користувачем SquirrelGirl Надіслати Поділитися на інших сайтах More sharing options...
riny Опубліковано: 11 липня 2014 Share Опубліковано: 11 липня 2014 Простите, а после какого именно div class=content это вставлять? у меня их почему-то два в указанном месте... Оба варианта не помогли. Письма всё равно не приходят. не факт, что вам это надо. но если у вас этот же шаблон, то вроде после первого. Надіслати Поділитися на інших сайтах More sharing options... SquirrelGirl Опубліковано: 11 липня 2014 Share Опубліковано: 11 липня 2014 не факт, что вам это надо. но если у вас этот же шаблон, то вроде после первого. Ясно, сразу кинулась проверять, не посмотрев, что да как. :) Мне вообще нужна сейчас только отправка отзывов на почту, вот её и пыталась решить. Как поняла, вторая проблема автора темы решена тут: Все, что касается email-уведомлений о заказе правим в файле/catalog/model/checkout/order.php. Для того, чтобы сделать такое же уведомление админу магазина, как и покупателю ищем комментарий: // Send to additional alert emails Смотрим от него пару позиций вверх и видим такие строки (у меня они на 559-561): $mail->setSubject(html_entity_decode($subject, ENT_QUOTES, 'UTF-8')); $mail->setText(html_entity_decode($text, ENT_QUOTES, 'UTF-8')); $mail->send(); Между темой и текстом письма вставляем $mail->setHtml($html); Чтобы получилось вот так: $mail->setSubject(html_entity_decode($subject, ENT_QUOTES, 'UTF-8')); $mail->setHtml($html); $mail->setText(html_entity_decode($text, ENT_QUOTES, 'UTF-8')); $mail->send(); Все, администратору магазина теперь будет приходить точно такое же письмо о заказе, как и покупателю. Не моё, взято с http://web.warwolf.org/opencart-odinakovye-uvedomleniya-o-zakaze-adm/#comment-17146 (не реклама, просто нашла решение, как делать текст скрытым, не знаю). Надіслати Поділитися на інших сайтах More sharing options... 3 weeks later... Ivan77rus Опубліковано: 1 серпня 2014 Share Опубліковано: 1 серпня 2014 Привет ! У меня похожая история как только не настроил не отправляет письма не админу не покупателю ( как быть ? а также не показывает тех кто зарегистрировался. Показывает тодько что поступил заказ увед. на почту не приходит также не отсылаются письма покупателям Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0
SquirrelGirl Опубліковано: 11 липня 2014 Share Опубліковано: 11 липня 2014 не факт, что вам это надо. но если у вас этот же шаблон, то вроде после первого. Ясно, сразу кинулась проверять, не посмотрев, что да как. :) Мне вообще нужна сейчас только отправка отзывов на почту, вот её и пыталась решить. Как поняла, вторая проблема автора темы решена тут: Все, что касается email-уведомлений о заказе правим в файле/catalog/model/checkout/order.php. Для того, чтобы сделать такое же уведомление админу магазина, как и покупателю ищем комментарий: // Send to additional alert emails Смотрим от него пару позиций вверх и видим такие строки (у меня они на 559-561): $mail->setSubject(html_entity_decode($subject, ENT_QUOTES, 'UTF-8')); $mail->setText(html_entity_decode($text, ENT_QUOTES, 'UTF-8')); $mail->send(); Между темой и текстом письма вставляем $mail->setHtml($html); Чтобы получилось вот так: $mail->setSubject(html_entity_decode($subject, ENT_QUOTES, 'UTF-8')); $mail->setHtml($html); $mail->setText(html_entity_decode($text, ENT_QUOTES, 'UTF-8')); $mail->send(); Все, администратору магазина теперь будет приходить точно такое же письмо о заказе, как и покупателю. Не моё, взято с http://web.warwolf.org/opencart-odinakovye-uvedomleniya-o-zakaze-adm/#comment-17146 (не реклама, просто нашла решение, как делать текст скрытым, не знаю). Надіслати Поділитися на інших сайтах More sharing options...
Ivan77rus Опубліковано: 1 серпня 2014 Share Опубліковано: 1 серпня 2014 Привет ! У меня похожая история как только не настроил не отправляет письма не админу не покупателю ( как быть ? а также не показывает тех кто зарегистрировался. Показывает тодько что поступил заказ увед. на почту не приходит также не отсылаются письма покупателям Надіслати Поділитися на інших сайтах More sharing options...
Recommended Posts