Отправка электронного письма с заказом от администратора не работает в Magento 1.8

После обновления моего сайта с 1.4 до 1.8 я не могу отправить электронное письмо с заказом из панели администратора.

Когда размещается новый заказ, клиент получает электронное письмо с заказом, но когда я пытаюсь повторно отправить электронное письмо с заказом из панели администратора, отображается The order email has been sent сообщение, но ни клиент, ни администратор не получают его.

Я включил ведение журнала и попытался отправить электронное письмо с заказом, но ничего не регистрируется. Кто-нибудь испытывал эту проблему или нашел какие-либо решения?


person James    schedule 13.05.2014    source источник


Ответы (2)


Я только что изучал это сам. Я проследил код и функции обратно к этой функции "public function sendNewOrderEmail ()" в:

приложение / код / ​​ядро ​​/ Маг / Продажи / Модель / Order.php

начиная со строки 1270 это следующий код:

$emailSentAttributeValue = $this->load($this->getId())->getData('email_sent');
    $this->setEmailSent((bool)$emailSentAttributeValue);
    if ($this->getEmailSent()) {
        return $this;
    }

Это проверяет таблицу базы данных sales_flat_order, чтобы увидеть, было ли электронное письмо уже отправлено клиенту, и если да, просто вернуть, но это не отправляет электронное письмо и должно вызывать ошибку. Так что я бы сказал, что это где-то ошибка. Чтобы исправить это, чтобы вы могли повторно отправлять электронные письма с заказом / счетом и т. Д.

Копировать

приложение / код / ​​ядро ​​/ Маг / Продажи / Модель / Order.php

to

приложение / код / ​​местный / Маг / Продажи / Модель / Order.php

и закомментировать строку 1273

if ($this->getEmailSent()) {
            //return $this;
        }

На меня действует оберег. Но буквально только эта секунда проверила это.

Проверено с использованием вер. 1.8.1

person ScarletRed    schedule 15.05.2014
comment
То же самое на CE 1.9.0. - person odd_duck; 15.07.2014
comment
+ 1 Для использования локальной папки. Спасибо, это вызывало головную боль. - person KPheasey; 21.11.2014

Я также боролся с проблемой отправки электронных писем в CE 1.9.1, но через некоторое время обнаружил проблему:

Начиная с Magento CE 1.9.1 Magento не отправляет электронные письма с заказами непосредственно во время процесса заказа. Вместо этого письма ставятся в очередь и отправляются cron. Поэтому не забудьте правильно настроить cronjob Magento.

Также обратитесь к:

http://www.magentocommerce.com/knowledge-base/entry/ee1141-ce191-responsive-email#cron http://www.magentocommerce.com/knowledge-base/entry/ce18-and-ee113-installing#install-cron

person Gerard de Visser    schedule 27.01.2015