Magento 1.9.1.0 Подтверждение электронной почты для заказов - не отправка

Недавно я обновился до Magento CE 1.9.1.0, и наши письма с подтверждением заказа не отправляются клиентам или сотрудникам, которые настроены на получение уведомлений.

Я проверил журналы электронной почты и не вижу, чтобы сообщения электронной почты попадали на сервер вообще.

Электронные письма проходят через контактную форму, новую учетную запись учетной записи пользователя и несколько тестовых сценариев, которые я создал на сервере. Я убедился, что для параметра "Отключить электронную почту" установлено значение "Нет".

Любые идеи? Они отлично работали в версии 1.7.0.2 до того, как мы обновились.

Ответ 1

Начиная с Magento 1.9, письма с подтверждением заказа не отправляются во время проверки, а отправляются с помощью Cron. Чтобы убедиться, что это работает правильно:

  • убедитесь, что ваша система Cron запущена (вы можете проверить журналы Cron: /var/log/cron, чтобы убедиться в этом).

  • убедитесь, что Magento Cron настроен правильно и работает каждые несколько минут. Вы должны увидеть что-то подобное в Crontab вашей системы:

    */5 * * * * /public_html/cron.sh

    Это расписание задачи для запуска cron.sh каждые пять минут. (Подробнее чтение)

Есть хорошие расширения, такие как AOE Scheduler в Magento, которые помогают вам контролировать и управлять заданиями Cron.


Альтернативный способ - отключить Cron для таких писем (подтверждение заказа). Для этого вы можете перейти по этому пути:

public_html/app/code/core/Mage/Sales/Model/Order.php

Скопируйте этот файл и доведите его до этого пути (если путь не существует, создайте его):

public_html/app/code/local/Mage/Sales/Model/Order.php

И затем измените эту строку:

$mailer->setQueue($emailQueue)->send();

To:

$mailer->send();

Однако я рекомендую потратить некоторое время на настройку Cron. Я думаю, если бы они хотели использовать Cron для этих писем по какой-то причине.

Ответ 2

Просто сделайте небольшое изменение в order.php(public_html/app/code/core/Mage/Sales/Model/Order.php)

С

$mailer->setQueue($emailQueue)->send();

Для

$mailer->send();

Ответ 3

Решение простое, что я нашел.

go to System -> Configuration -> ASCHRODER EXTENSIONS -> SMTP -> Queue Configuration -> Queue Usage -> Never

Готово!

Подтверждение заказа будет отправлено быстро.:)

Ответ 4

Быстрое решение:

Перейдите в следующее расположение: /app/code/core/Mage/Core/Model/Email/Template.php

Изменить строку 407

if ($this->hasQueue() && $this->getQueue() instanceof Mage_Core_Model_Email_Queue) {

To:

if (!($this->hasQueue() && $this->getQueue() instanceof Mage_Core_Model_Email_Queue)) {

Он будет работать.

Спасибо Pankaj

Ответ 5

Перейти к /app/code/core/Mage/Core/Model/Email/Template.php

Ниже изменений:

if ($this->hasQueue() && $this->getQueue() instanceof Mage_Core_Model_Email_Queue) {

Для

if (false){

Ответ 6

У меня была точно такая же проблема. Для меня это была локальная копия order.php, что я сделал некоторые изменения в прошлом и что я скопировал файл \app\code\local\Mage\Sales\Model\Order.php.

Таким образом, обновленный файл order.php Magento 1.9.1.0 в основной директории не использовался, в результате чего электронные письма с подтверждением заказа не отправляются автоматически через задание cron.

Я держу пальцы скрещенными, что вы страдаете от одной и той же проблемы.

Ответ 7

Просто добавьте cron в панель cpanel или plesk. Он будет доступен на cpanel → Advanced и щелкните папку cron. Затем выполните:

  • */5 в поле "минута" (может настроить это)
  • * в поле "час"
  • * в поле 'day'
  • * в поле "месяц"
  • * в поле "weekday".

комментарий: http://www.yoursite.com/absolute/path/to/magento/cron.php

Ответ 8

Есть много ответов, но никто не работал у меня. Как я решил, что, убедитесь, что если настройка шаблона по умолчанию находится в пурпуре или нет. Иногда при установке теряется и фактически "нет шаблона электронной почты по умолчанию в системе для отправки вашей электронной почты". Пожалуйста, перейдите на вкладку "Администратор", System->Transactional Email-> по умолчанию вы не найдете здесь шаблона. Поэтому добавьте его, нажав кнопку "Add new Email template. В панели Load default template выберите шаблон из раскрывающегося списка" Шаблон ", предположите, что забыл пароль, и нажмите и нажмите Load Template. Как ранее сообщалось, ни один шаблон электронной почты не связан с ним, поэтому он не будет показан ниже. Дело в том, что для установки новой копии magento в вашей локальной системе перейдите сюда и разместите здесь тот же контент и нажмите кнопку" Сохранить шаблон". Затем перейдите в System->Configuration->Customer Configuration ->Password Options->Change раскрывающийся список "Забыли шаблон для электронной почты", как указано выше. Привет. таким образом, то же самое, что вы также можете сделать для заказа, отправки, новой учетной записи и т.д.

Ответ 9

Чтобы отладить проблему с отправкой писем magento в отношении нового заказа, просто запустите yoursite.com/cron.php Если вы получаете почту, то ее проблема cron. Вы можете исправить проблему, установив cron в cpanel.

Ответ 10

Пожалуйста, ovewrite 'app/code/core/Mage/Sales/Model/Order.php' file.if вы не хотите никаких изменений в XML файле, поэтому просто скопируйте /app/code/core/Mage/Sales/Model/Order.php в/app/code/local/Mage/Sales/Model/Order.php и не забудьте обновить кеш. и измените

$mailer->setQueue($emailQueue)->send();

Для

$mailer->send();