Lo probé en una instalación limpia de Magento 1.9.0.1 sin configurar el trabajo cron y me envió un correo electrónico de contacto. Por lo tanto, no se trata de correos electrónicos de contacto en cola. Y si miras el código, verás lo mismo:
Mage_Contacts_IndexController
-> public function postAction()
-> sendTransactional
que llama:
Mage_Core_Model_Email_Template
-> public function sendTransactional
-> public function send
-> $mail->send();
.
En un nivel más profundo, llama Zend_Mail
-> public function send
-> $transport->send($this);
-> Zend_Mail_Transport_Abstract
-> public function send
-> $this->_sendMail();
-> Zend_Mail_Transport_Sendmail
-> public function _sendMail()
que finalmente llama directamente a la mail()
función PHP :
$result = mail(
$this->recipients,
$this->_mail->getSubject(),
$this->body,
$this->header);
En Magento 1.9.1.0 se agrega
if ($this->hasQueue() && $this->getQueue() instanceof Mage_Core_Model_Email_Queue) {
...
$emailQueue->addMessageToQueue();
en
Mage_Core_Model_Email_Template
-> public function send
que debe establecerse en public function sendTransactional
:
if (is_numeric($templateId)) {
$queue = $this->getQueue();
$this->load($templateId);
$this->setQueue($queue);
}
pero $templateId
debería ser igual a contacts_email_email_template
(por defecto) para que no sea numérico. Pero si se elige una plantilla de correo electrónico personalizada, será numérica, por lo que tal vez el correo electrónico se pondrá en cola, pero no lo probé.