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()
-> sendTransactional
mà 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 send
nên được đặt trong public function sendTransactional
:
if (is_numeric($templateId)) {
$queue = $this->getQueue();
$this->load($templateId);
$this->setQueue($queue);
}
nhưng $templateId
phả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ó.