Magento 1.9.1 - Email được gửi bởi hàng đợi email mới?


9

Theo ghi chú phát hành Magento 1.9.1 :

tất cả các email Magento (bao gồm xác nhận đơn hàng và giao dịch) hiện đang được xếp hàng

Tuy nhiên, tôi không thể thấy bất kỳ email nào ngoại trừ các email cập nhật đơn hàng và đơn hàng mới đang được xếp hàng.

Trong câu trả lời này, bạn có thể thấy hai nơi duy nhất xuất hiện để sử dụng hàng đợi.

Tôi có thiếu một cái gì đó rõ ràng sẽ khiến hàng đợi được tạo ngay lập tức cho các email như mẫu liên hệ POST trong Mage_Contacts_IndexControllerkhông?

Tôi không thể nhìn thấy bất cứ điều gì, điều đó khiến tôi nghĩ rằng các ghi chú phát hành là sai, ai đó làm ơn chỉ cho tôi lỗi của tôi?

Câu trả lời:


2

Tôi đã thử nghiệm nó trên bản cài đặt Magento 1.9.0.1 sạch mà không cần cài đặt cron job và nó đã gửi cho tôi một email liên hệ. Vì vậy, nó không xếp hàng email liên hệ. Và nếu bạn nhìn vào mã bạn sẽ thấy như vậy:

Mage_Contacts_IndexController-> public function postAction()-> sendTransactionalmà gọi:

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

Ở cấp độ sâu hơn, nó gọi Zend_Mail-> public function send-> $transport->send($this);-> Zend_Mail_Transport_Abstract-> public function send-> $this->_sendMail();-> Zend_Mail_Transport_Sendmail-> public function _sendMail()cuối cùng gọi mail()hàm PHP trực tiếp :

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

Trong Magento 1.9.1.0, nó được thêm vào

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

trong Mage_Core_Model_Email_Template-> public function sendnên được đặt trong public function sendTransactional:

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

nhưng $templateIdphải bằng contacts_email_email_template(theo mặc định) để nó không phải là số. Nhưng nếu mẫu email tùy chỉnh được chọn, nó sẽ là số nên có thể email sẽ được xếp hàng nhưng tôi đã không kiểm tra nó.


Tôi nghĩ OP đã đề cập đến phiên bản 1.9.1.
Joshua34

Tôi xin lỗi nhưng tôi không cài đặt 1.9.1 (và tôi không có thời gian để cài đặt nó) và tôi nghĩ rằng không có nhiều khác biệt (nhưng rõ ràng tôi đã sai). Tôi đã chỉnh sửa câu trả lời của mình nhưng tôi đã không kiểm tra nó để một số người điều hành có thể xóa câu trả lời của tôi nếu nó không hữu ích.
michael

Tôi nghĩ rằng thử nghiệm is_numeric chỉ để xử lý khôi phục hàng đợi cho đối tượng mẫu sau khi tải một mẫu tùy chỉnh. Nó vẫn yêu cầu Hàng đợi đã được đặt và tôi không thấy bất cứ nơi nào đang xảy ra ngoại trừ trong các chức năng gửi email Đặt hàng.
Ashley Schroder
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.