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();