Magento 1.9.1 - електронні листи, що надсилаються новою чергою електронної пошти?


9

Відповідно до приміток до випуску Magento 1.9.1 :

всі електронні листи Magento (включаючи підтвердження замовлення та трансакцію) тепер у черзі

Однак я не можу побачити, як будь-які електронні листи, окрім нових електронних листів про порядок замовлення та оновлення замовлень, ставлять у чергу.

У цій відповіді ви бачите лише два місця, які, як видається, використовують чергу.

Невже я пропускаю щось очевидне, у якому буде створена черга для електронних листів, таких як контактна форма POST Mage_Contacts_IndexController?

Я нічого не бачу, через що я думаю, що нотатки до випуску неправильні, хтось, будь ласка, покаже мені помилку моїх способів?

Відповіді:


2

Я перевірив його на чистій установці Magento 1.9.0.1 без роботи cron, і він надіслав мені контактний електронний лист. Тож це не контактні електронні листи з черги. А якщо ви подивитесь на код, то побачите те саме:

Mage_Contacts_IndexController-> public function postAction()-> sendTransactionalякі дзвінки:

Mage_Core_Model_Email_Template-> public function sendTransactional-> public function send-> $mail->send();.

На більш глибокому рівні він викликає Zend_Mail-> public function send-> $transport->send($this);-> Zend_Mail_Transport_Abstract-> public function send-> $this->_sendMail();-> Zend_Mail_Transport_Sendmail-> public function _sendMail()що нарешті безпосередньо викликає mail()функцію PHP :

    $result = mail(
        $this->recipients,
        $this->_mail->getSubject(),
        $this->body,
        $this->header);

У Magento 1.9.1.0 додано

if ($this->hasQueue() && $this->getQueue() instanceof Mage_Core_Model_Email_Queue) {
...
$emailQueue->addMessageToQueue();

в Mage_Core_Model_Email_Template-> public function sendякий слід встановити public function sendTransactional:

        if (is_numeric($templateId)) {
            $queue = $this->getQueue();
            $this->load($templateId);
            $this->setQueue($queue);
        }

але $templateIdмає бути рівним contacts_email_email_template(за замовчуванням), щоб не було числовим. Але якщо обраний спеціальний шаблон електронної пошти, він буде числовим, тому, можливо, тоді електронну пошту буде встановлено у чергу, але я не перевіряв її.


Я думаю, що OP згадував 1.9.1 випуск.
Джошуа34

Вибачте, але у мене немає встановлення 1.9.1 (і я не маю часу встановити його), і я подумав, що різниці немає (але явно помилявся). Я відредагував свою відповідь, але не перевірив її, щоб якийсь модератор міг видалити мою відповідь, якщо це не корисно.
Майкл

Я думаю, що тест is_numeric - це просто обробити відновлення черги до об’єкта шаблону після завантаження користувацького шаблону. Це все ще вимагає, щоб черга вже була встановлена, і я не бачу ніде цього, що відбувається, окрім функцій замовлення електронної пошти замовлення.
Ешлі Шродер
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.