Я протестировал его на чистой установке 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
(по умолчанию), чтобы оно не было числовым. Но если выбран собственный шаблон электронной почты, он будет числовым, поэтому, возможно, письмо будет помещено в очередь, но я не проверял его.