1

I have started to get multiple errors after updating to latest Magento 1.9.1:

Fatal error: Call to a member function setMessageBody() on a non-object in /home/tanviherbals/public_html/app/code/core/Mage/Core/Model/Email/Template.php on line 410

I get this error on sending data through contact us form, online consultation form, sending tracking order info, sending emails to customers from backend.

Please help on the same:

www.tanviherbals.com

  • 2
    Add Mage::log($emailQueue); just before line no. 410 in Template.php, and then check the /var/log/system.log, what's the value of $emailQueue – Rahul Kumar Das May 7 '15 at 5:57
2

just change this

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

to

if (false) {

work for order, and register

thanks.

  • 2
    This doesn't really solve the problem, though...it just forces order and registration emails to not use the new queue system that was released in 1.9.1 – Bryan 'BJ' Hoffpauir Jr. May 10 '15 at 12:59
  • This may alleviate the symptom but not the root cause of the problem. The root cause is the failure of the setMessageBody() function call. This "solution" only removes the tests & use of the new Email Queue object. In CE 1.9.1+ Magento no longer sends order emails in a synchronous manner - it queues them up in a database table and a cron job runs every minute to process the queue & send mail. This masks the underlying problem of your currently misconfigured system and is no guarantee that other email functions will work properly now or post-upgrades. Solve the problem, don't cover it up. – Bryan 'BJ' Hoffpauir Jr. Aug 12 '15 at 11:56

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.