Este problema empezó a aparecer a partir de la versión 1.9.1 de Magento.
Hay 2 métodos para enviar estos correos:
1) A través de cron:
crontab -u apache-user-name -e
* * * * * /bin/sh /[your Magento install dir]/cron.sh
Por ejemplo, para CentOS:
* * * * * /bin/sh /var/www/html/magento/cron.sh
2) Evitar cron, si no puedes dispones de tareas programadas crontab en tu servidor, te ayudará hacerlo de esta forma:
Copiar el fichero:
app/code/core/Mage/Sales/Model/Order.php
Pegar el fichero en:
app/code/local/Mage/Sales/Model/Order.php
En las líneas número 1356 y 1450, sustituye:
$mailer->setQueue($emailQueue)->send();
por:
$mailer->send();
También edita este otro fichero:
app/design/frontend/base/default/template/checkout/success.phtml
Añade las siguientes líneas en la parte superior de la página para enviar el email directamente:
//EW INICIO ENVIAR EMAIL PEDIDO
$order = Mage::getModel(‘sales/order’);
$incrementId = Mage::getSingleton(‘checkout/session’)->getLastRealOrderId();
$order->loadByIncrementId($incrementId);
try{ $order->sendNewOrderEmail();}
catch (Exception $ex) { echo «Email No Enviado…»; }
$customer = Mage::getSingleton(‘customer/session’)->getCustomer();
$email = $customer->getEmail();
//EW FIN ENVIAR EMAIL PEDIDO