web-dev-qa-db-fra.com

Magento 1.9.1.0 E-mails de confirmation de commande - Envoi impossible

J'ai récemment effectué une mise à niveau vers Magento CE 1.9.1.0 et nos courriels de confirmation de commande ne sont pas envoyés aux clients ou aux employés ici configurés pour recevoir des notifications.

J'ai vérifié les journaux de courrier électronique et je ne vois pas du tout les courriels frapper le serveur.

Les courriels proviennent du formulaire de contact, de l’inscription d’un nouveau compte utilisateur et de quelques scripts de test que j’ai créés sur le serveur. Je me suis assuré que Disable Email Communications était réglé sur "Non".

Des idées? Ils ont très bien fonctionné en 1.7.0.2 avant la mise à niveau.

13
John Deszell

À partir de Magento 1.9 _, les courriels de confirmation de commande ne sont plus envoyés pendant paiement, mais sont envoyés avec le Cron. Pour vérifier que cela fonctionne correctement:

  • assurez-vous que votre système Cron est opérationnel et opérationnel (vous pouvez consulter les journaux Cron: /var/log/cron pour le vérifier).

  • assurez-vous que Magento Cron est correctement configuré et fonctionne toutes les quelques minutes. Vous devriez voir quelque chose comme ça dans la Crontab de votre système:

    */5 * * * * /public_html/cron.sh

    Ceci programme une tâche pour exécuter cron.sh toutes les cinq minutes. ( Plus de lecture )

Il existe de bonnes extensions telles que AOE Scheduler dans Magento qui vous aident à surveiller et à gérer les tâches Cron.


Une autre façon de procéder consiste à désactiver le Cron pour ce type de courrier électronique (confirmation de commande). Pour ce faire, vous pouvez aller sur ce chemin:

public_html/app/code/core/Mage/Sales/Model/Order.php

Copiez ce fichier et amenez-le dans ce chemin (si le chemin n'existe pas, créez-le):

public_html/app/code/local/Mage/Sales/Model/Order.php

Et puis changez cette ligne:

$mailer->setQueue($emailQueue)->send();

À:

$mailer->send();

Cependant, je recommande de passer un peu de temps pour installer le Cron à la place. Je pense que s'ils veulent utiliser Cron pour ces courriels, c'est pour une raison.

17
Hatef

Faites juste une petite modification dans order.php (public_html/app/code/core/Mage/Sales/Model/Order.php)

De

$mailer->setQueue($emailQueue)->send();

À

$mailer->send();
14
Gulshan Kumar

La solution est simple que j'ai trouvée.

go to System -> Configuration -> ASCHRODER EXTENSIONS -> SMTP -> Queue Configuration -> Queue Usage -> Never

Terminé!

La confirmation de commande sera envoyée rapidement. :)

7
Niraj

La solution rapide est:

Accédez à l'emplacement suivant: /app/code/core/Mage/Core/Model/Email/Template.php

Changer la ligne 407

if ($this->hasQueue() && $this->getQueue() instanceof Mage_Core_Model_Email_Queue) {

À:

if (!($this->hasQueue() && $this->getQueue() instanceof Mage_Core_Model_Email_Queue)) {

Ça va marcher.

Merci Pankaj

1
Pankaj

Aller à /app/code/core/Mage/Core/Model/Email/Template.php

Changements ci-dessous:

if ($this->hasQueue() && $this->getQueue() instanceof Mage_Core_Model_Email_Queue) {

À

if (false){
1
Pankaj Upadhyay

Merci de bien vouloir écrire le fichier 'app/code/core/Mage/Sales/Model/Order.php'. php dans /app/code/local/Mage/Sales/Model/Order.php et veillez à actualiser le cache. et changer 

$mailer->setQueue($emailQueue)->send();

À

$mailer->send();
1
purvi

Il y a beaucoup de réponses mais aucune n'a fonctionné pour moi. Comment ai-je résolu est que, Vérifie que si votre configuration de modèle par défaut est présente dans le magento ou non. Parfois, lors de l'installation, il est perdu et en réalité "il n'y a pas de modèle de courrier électronique par défaut dans le système pour envoyer votre courrier électronique". S'il vous plaît aller à côté de l'administrateur, System->Transactional Email-> par défaut vous ne trouverez pas de modèle ici. Ajoutez donc un en cliquant sur le bouton 'Add new Email template. Dans le panneau Load default template, sélectionnez un modèle dans la liste déroulante Modèle, supposez que vous avez oublié votre mot de passe, cliquez sur Load Template. Comme indiqué précédemment, aucun modèle de courrier électronique ne lui est associé, il ne sera donc pas présenté ci-dessous. La première chose à faire est d’installer une nouvelle copie de magento dans votre système local et de placer le même contenu ici, puis de cliquer sur le bouton Enregistrer le modèle . Ensuite, allez à System->Configuration->Customer Configuration ->Password Options->Change le menu déroulant "Modèle d’e-mail oublié" ajouté au précédent .Heureux . vous pouvez donc faire la même chose pour la commande, l'expédition, le nouveau compte, etc.

0
Mir Mumtaz

J'ai eu exactement le même problème. Pour moi, c’était une copie locale du fichier order.php que j’avais déjà modifié par le passé et que j’avais copié dans\app\code\local\Mage\Sales\Model\Order.php.

Ainsi, le fichier order.php mis à jour de Magento 1.9.1.0 dans le répertoire principal n’était pas utilisé, de sorte que les courriels de confirmation de commande ne sont pas envoyés automatiquement via le travail cron.

Je garde les doigts croisés sur le fait que vous souffrez du même problème.

0
DUI

Pour résoudre le problème de courrier lié à une commande magento concernant une nouvelle commande, exécutez simplement yoursite.com/cron.phpSi vous recevez un courrier maintenant, alors le problème qui se pose cron.

0
Jay Singh Rathore

Ajoutez simplement cron dans cpanel ou dans le panneau plesk. Il sera disponible sur cpanel -> Avancé et cliquez sur le dossier cron. Ensuite, procédez comme suit:

  • */5 dans le champ 'minute' (peut personnaliser ceci)
  • * dans le champ 'heure'
  • * dans le champ 'jour'
  • * dans le champ 'mois'
  • * dans le champ 'jour de la semaine'

commentaire: http://www.votresite.com/absolute/path/to/magento/cron.php

0
Rathna Kumar