1

I am facing an issue in receiving email. I configured the sales email setting properly in Magento 1.9.2.0 and it was working good. But When I upgraded it to Magento 1.9.2.2 the emails are not being sent. I also checked the Cron, it is also set.

Is there any way to set it from admin panel? Or any way to get emails in my email box?

  • Check if you are using some custom variables in your emails in admin. Latest 1.x version requires you to white-list them first. – Prateek Dec 2 '15 at 8:49
  • No I am not using any custom variable – Muhammad Abdul Hadi Qureshi Dec 2 '15 at 9:20
  • Can you share how you have setup your cron job. 1.9.2.2 doesn't support wget, if that's the case, as per my understanding. – Prateek Dec 2 '15 at 9:42
  • I Made the following changes Generate Schedules Every : 1 Schedule Ahead for : 1 Missed if Not Run Within : 15 History Cleanup Every : 120 Success History Lifetime : 120 Failure History Lifetime : 120 – Muhammad Abdul Hadi Qureshi Dec 2 '15 at 10:09
  • 1
    Possible duplicate of New order email confirmation not being sent – Teja Bhagavan Kollepara Apr 19 at 6:29
1

After weeks of research and troubleshooting cron jobs in magento 1.9.2.2, i have finally found a solution from another forum. It worked without having to edit any coding.

From magento connect manager install ASCHRODER SMTP plugin and configure appropriately by going to;

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

Order Confirmation will be sent quickly.

0

Well if you really want to go around the cron setting and get emails by code-patching(which IMHO is not a good idea, but can be temporary patch), then you've to override Mage_Core_Model_Email_Template class as depicted here in the answer.

New order email confirmation not being sent

Just put the class file in same path in local codepool(app/code/local/Mage/Core/Model/Email/Template.php), then open this file and find and comment out the if condition as below:

//if ($this->hasQueue() && $this->getQueue() instanceof Mage_Core_Model_Email_Queue) {
            /** @var $emailQueue Mage_Core_Model_Email_Queue */
            $emailQueue = $this->getQueue();
            $emailQueue->setMessageBody($text);
            $emailQueue->setMessageParameters(array(
                    'subject'           => $subject,
                    'return_path_email' => $returnPathEmail,
                    'is_plain'          => $this->isPlain(),
                    'from_email'        => $this->getSenderEmail(),
                    'from_name'         => $this->getSenderName(),
                    'reply_to'          => $this->getMail()->getReplyTo(),
                    'return_to'         => $this->getMail()->getReturnPath(),
                ))
                ->addRecipients($emails, $names, Mage_Core_Model_Email_Queue::EMAIL_TYPE_TO)
                ->addRecipients($this->_bccEmails, array(), Mage_Core_Model_Email_Queue::EMAIL_TYPE_BCC);
            $emailQueue->addMessageToQueue();

            return true;
  //      }

Then you can debug the cron setting and when you fix the cron then remove the file from local pool.

Hope this helps you out.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.