Il deux solutions comme suit:
Solution-01: Utilisation de cron
Système> Configuration> Avancé> Système> Cron
Les paramètres par défaut sont:
Tout d'abord, Magento 1.9+ s'appuie entièrement sur les tâches cron pour envoyer des emails transactionnels. Si vous n'avez pas configuré correctement les tâches cron auparavant, vous devez le faire maintenant.
Tout d’abord, assurez-vous d’avoir configuré les tâches cron dans l’administrateur Magento sous
Système> Configuration> Avancé> Système> Cron
Les paramètres par défaut sont:
Générer des calendriers tous les 15 calendriers à l'avance pour 20 manquants s'ils ne sont pas exécutés dans un délai de 15 historiques Nettoyage tous les 10 historiques de réussite Histoire à vie 60 Histoire à échec Durée de vie 600
Certaines personnes suggèrent de modifier ces paramètres, mais comme elles n'arrivent pas à s'entendre sur la meilleure combinaison, je préfère la laisser telle quelle.
Vous devez ensuite accéder à votre panneau de configuration d'hébergement et configurer des tâches cron. Dans cPanel, c'est sous Advanced> Cron Jobs. Configurez-les pour qu'ils s'exécutent toutes les cinq minutes et utilisez cette commande:
php -f /home/username/public_html/cron.php
Vérifiez que le chemin ci-dessus est correct et que le fichier cron.php se trouve bien à la racine de votre installation de Magento (si vous venez de mettre à niveau, cela devrait être le cas). Changez le nom d'utilisateur pour le bon compte.
Maintenant, j’ai au départ commis l’erreur de suivre les conseils des développeurs de xtento.com qui recommandaient d’utiliser une chaîne de commande wget: wget -O / dev / null -q http://www.YOURDOMAIN.com/PATH_TO_MAGENTO/cron. php
Solution-02: éviter le cron
Les emails transactionnels seront envoyés instantanément.
//app/code/core/Mage/Sales/Model/Order.php Line#1356,1450
//$mailer->setQueue($emailQueue)->send(); Change To
$mailer->send();
app/design/frontend/base/default/template/checkout/success.phtml
//add following line Top success page for sending mail direct
// Start Send Emai Here......
$order = Mage::getModel('sales/order');
$incrementId = Mage::getSingleton('checkout/session')->getLastRealOrderId();
$order->loadByIncrementId($incrementId);
try{ $order->sendNewOrderEmail();}
catch (Exception $ex) { echo "Email Not Sent..."; }
$customer = Mage::getSingleton('customer/session')->getCustomer();
$email = $customer->getEmail();//End Email Sending