Новый заказ подтверждение по электронной почте не отправляются

Я модернизировал свой сайт в 1.9.1 и теперь мои клиенты не получаете письмо с подтверждением заказа.

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

Комментарии к вопросу (1)
  1. Начиная с Magento 1.9.1 письма не отправляются непосредственно в ходе проверки, но вместо этого ставятся.
  2. Очередь обрабатывается через вашего Magento расписанию - пожалуйста, убедитесь, что это был создан и работает правильно.
  3. Расширение AOE_Scheduler может помочь вам в подтверждение того, что ваша задача cron в Magento был правильно настроен и работает.
Комментарии (6)

Существует 2 способа для отправки писем от наших на Magento 1 магазине.

  1. С помощью хрона
  2. Избегая хрон

Если вы хотите избежать хрона :

Открыть свой файл order.php в

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

Линия#1356,1450,

изменение

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

к:

$mailer-> send();

В приложение/дизайн/фронтэнда/базы/по умолчанию/шаблон/проверка/успех.phtml, который`: добавьте следующую страницу успеха линии для отправки Почтой

$order = Mage::getModel('sales/order');
$incrementId = Mage::getSingleton('checkout/session')->getLastRealOrderId(); 
$order->loadByIncrementId($incrementId);
try{ 
    $order->sendNewOrderEmail();
} catch (Exception $ex) { 
    echo "Email Not Sent..."; 
}
$customer = Mage::getSingleton('customer/session')->getCustomer();
$email = $customer->getEmail();
//End Email Sending
Комментарии (3)

я удалил следующий код очередей сообщений из Template.php тогда я начал получать по электронной почте, когда заказ будет размещен заказчиком или, когда я нажмите кнопку Отправить письмо из админки "в разделе продажи/заказы на".

В Magento была поставлена электронной почте, чтобы быть отправлены на работу графику, а не мгновенный по электронной почте... вероятно, по соображениям производительности?(я не знаю, почему, я очень новой для Magento)... однако я собираюсь поместить этот код обратно в Template.php и найти способ, чтобы установить и запустить выполнять задание каждые 5 минут...

Шаблон.РНР расположен в => /app/code/core/Mage/Core/Model/Email/Template.php

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

    /** @var $emailQueue Mage_Core_Model_Email_Queue */
        $emailQueue = $this->getQueue();
        $emailQueue->setMessageBody($text);
        $emailQueue->setMessageParameters(array(
                'subject'           => $subject,
                'return_path_email' => $returnPathEmail,
                'is_plain'          => $this->isPlain(),
                'from_email'        => $this->getSenderEmail(),
                'from_name'         => $this->getSenderName(),
                'reply_to'          => $this->getMail()->getReplyTo(),
                'return_to'         => $this->getMail()->getReturnPath(),
            ))
            ->addRecipients($emails, $names, Mage_Core_Model_Email_Queue::EMAIL_TYPE_TO)
            ->addRecipients($this->_bccEmails, array(), Mage_Core_Model_Email_Queue::EMAIL_TYPE_BCC);
        $emailQueue->addMessageToQueue();

        return true;
    }
Комментарии (1)

Есть два решения следующим образом:

Решение-01: с помощью cron

Системы и gt; Настройки и GT; дополнительно > система > хрон

Настройки по умолчанию:

Во-первых, в Magento 1.9+ полагается полностью на задания cron для отправки транзакционных писем. Если у вас не было заданий cron настроен правильно, прежде чем, вы собираетесь должны сделать это сейчас.

Прежде всего убедитесь, что вы настроили cron задачи в админ разделе

системы и gt; Настройки и GT; дополнительно > система > хрон

Настройки по умолчанию:

Создание графиков все впереди 15 расписание на 20 пропущенных, если не работать в течение 15 Очистка истории каждые 10 успех в жизни История 60 история провала жизни 600

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

Тогда вам нужно зайти в Панель управления хостингом и настроить cron задания. В cPanel это в разделе Advanced > хрон рабочих мест. Настройте их запуск каждые пять минут и используйте эту команду:

php -f /home/username/public_html/cron.php

Проверьте, что выше путь является правильным и что cron.php файл на самом деле есть в корневой папке вашей установки Magento (если у вас просто повышен, он должен быть). Изменить имя пользователя на правильный счет.

Теперь, я изначально сделал ошибку, следуя советам разработчиков xtento.com кто говорит, чтобы использовать команду wget строкой: команда wget -O в /dev/нуль -вопрос http://www.YOURDOMAIN.com/PATH_TO_MAGENTO/cron.php

раствор-02:избежать хрон

Транзакционные письма будут отправлены немедленно.

//app/code/core/Mage/Sales/Model/Order.php Line#1356,1450 
  //$mailer->setQueue($emailQueue)->send(); Change To 

          $mailer->send();

app/design/frontend/base/default/template/checkout/success.phtml
    //add following line Top success page for sending mail direct
    // Start Send Emai Here......
    $order = Mage::getModel('sales/order');
    $incrementId = Mage::getSingleton('checkout/session')->getLastRealOrderId(); 
    $order->loadByIncrementId($incrementId);

    try{ $order->sendNewOrderEmail();} 
    catch (Exception $ex) { echo "Email Not Sent..."; }
    $customer = Mage::getSingleton('customer/session')->getCustomer();
    $email = $customer->getEmail();//End Email Sending
Комментарии (0)

С Magento 1.9 все сообщения будут поставлены в очередь и потом отправить через хрон.

В Magento 1.9 Релиз Примечание

Если вы хотите, чтобы ваша сделка письма для отправки через cron, вы можете установить хрон от системы>конфигурация>системы в разделе хрона или создать cron в Панель направить его на свой cron.sh или cron.php расположенном в корневом каталога в Magento.

Комментарии (0)

Просто установите "по протоколу SMTP Pro электронная почта" и дополнения: http://www.magentocommerce.com/magento-connect/smtp-pro-email-free-custom-smtp-email.html

Заполнить с вашими изготовленный на заказ детали SMTP и сделал.


Это заняло у меня два полных дня, чтобы выяснить. Нет заданий cron нужен, хотя если вы хотите, заданий cron работает, и вы не'т хотите сделать выше, можно сделать следующее:

Правка cron.php в Magento корневой каталог

После:

$isShellDisabled = (stripos(PHP_OS, ‘win’) === false) ? $isShellDisabled : true;

добавьте эту строку кода:

$isShellDisabled = true;

Настройки задания cron

На C откройте Панель заданий cron разделе<БР> Создать задание cron, которое выполняет следующую команду каждые 15 минут:

php -f /home/USERNAME/public_html/domain.com/magento_folder/cron.php
Комментарии (1)

В Magento 1.9.1.0, Magento имеет добавили новую функцию: они сохраняют отправить заказ в core_email_queue столом, чтобы отправить по электронной почте заказов. Мы должны установить `cron.php в сервере

Файл cron.php установить core_email_queue_send_all в cron расписание. Когда карга выполнить и"Отправить" и метод, который вызывается из Mage_Core_Model_Email_Queue. Они посылают почту к клиенту.

Так что выше исправить работает без каких-либо изменений в основной файл.

Комментарии (0)

Используя n98-magerun я просто выполните следующие действия:

n98-magerun Сыс:хрон:запустить core_email_queue_send_all

Или время, если вы не'т хотите запустить его все время:

часы -Н 10 n98-magerun Сыс:хрон:запустить core_email_queue_send_all`

Это отправляет все письма в очереди каждые 10 секунд.

Комментарии (0)

Вобще настройка cron на вашем сервере, как показано ниже команду & после этого вы начнете получать продажи писем.

php -q /home/YOUR_USER_NAME/public_html/Path_to_cron.php

Использовать общие параметры, как " * и"

Нужно заменить имя_пользователя & Path_to_cron.php с уважением.

Комментарии (0)

для GoDaddy сервера использовать следующий код, в то время как настройка задач Cron:

*   *   *   *   *   /usr/local/bin/php -q /home/steelwa/public_html/project_name/cron.php

Это будет выполняться каждую минуту.

Комментарии (0)

У меня был тот же вопрос и узнал, что это было связано с расширением. Fooman вложения электронной почты обновилась с v0.10.4. Версии ниже версии v0.10.3 выиграл'т работать с Magento 1.9.

Комментарии (0)

Я последовал базы знаний, чтобы заставить его работать: на HTTP://www.magentocommerce.com/knowledge-base/entry/ee1141-ce191-responsive-email#contact-info

В части "по локализации транзакционные сообщения и",после выполнения приведенных выше инструкций, копирование /en_UK, наконец, получил письма на своем пути (в том числе ранее не отправлены), у нас тоже была проблема с подтверждением заказа страница не отображается, чтобы клиентов на доработку. Это было исправлено еще.

Например для локаль en_GB, вам нужно скопировать файлы, которые находятся по адресу:

приложение/язык/язык/шаблон/электронной почте

местоположение:

приложение/язык/en_GB/шаблон/электронной почте

Комментарии (1)

если только отправить заказ не отправляю, потому что очереди в Magento только сообщения и сохраняет их, чтобы отправить их в пакетах. Если вы Don'т иметь ваше сердцебиение хрон установки.. тогда они никогда не оставят в очереди на Magento.

Вы'вновь увидев друга в Magento письма идут, потому что те передаются непосредственно от Magento для вашего демона Мейлер. Те, в Magento очереди (как отправить заказ) разве'т даже протянул к демону Мейлер, пока стуком сердца, хрон работает.

Чтобы заставить их выйти... перейдите к http://yourmagentodomain.com/cron.php и продолжая обновлять эту страницу каждые пять минут, и вы'll увидеть в очереди сообщения начинают уходить. Сердцебиение хрон должен сделать это для вас. Ох, и когда вы переходите к этому файлу cron.php страница должна быть пустой, так Дон'т пугайтесь... это будет работать.

Комментарии (0)

Если ваша система электронной почты(SMTP, zend_mail) работает хорошо; выключение очередь почтовых сообщений может решить вашу проблему.

/app/code/core/Mage/Core/Model/Email/Template.php

Изменение Линии 407

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

для

if (false /\*$this->hasQueue() && $this->getQueue() instanceof Mage_Core_Model_Email_Queue\*/) {
Комментарии (3)

Если у вас есть расширение SMTPpro, чем попытаться отключить его. И снова проверяем. Все письма нормально работать и вам нужно только правильно настроить.

Комментарии (0)

Лучший способ сделать копию вашей app/code/core/Mage/Core/Model/Email/Template/Mailer.php

В локальную папку app/code/local/Mage/Core/Model/Email/Template/Mailer.php

Затем закомментируйте эту строку в строке 76

->setQueue($this->getQueue())

Затем вы'повторно сделано. Нет необходимости изменять успех.шаблон phtml, который. :Д

Комментарии (0)