Magento – Magento 1.9.1 Order emails not sent – cron checked – stuck in core_email_queue

emailmagento-1.9orders

I've got a Magento 1.9.1 implementation and am having issues sending out order related emails.

I have checked cron jobs and AOE Scheduler reports core_email_queue_sendall and core_email_queue_cleanup are enabled and running.

I've setup system cron to run cron.php every 5 minutes.

But I'm still not receiving emails.

Upon checking the database tables, I actually see that all the order related emails (new orders, etc) are in core_email_queue. The 'processed_at' column has a value, indicating that the email has been processed.

Why don't I see the emails? Does having a 'processed_at' value indicate that the emails had already been sent out?

Best Answer

Have you checked your Magento logs yet? We recently had a client who reported the same symptom on their 1.9.1 installation. When we checked the Magento logs, we discovered that their system was making calls to a PHP module called mb_string() which were failing.

Fatal error: Call to undefined function mb_convert_encoding() in /public_html/lib/Pelago/Emogrifier.php on line 556

That mb_string() function is used in Magento 1.9.1 to strip out CSS styles from your email templates and inline them into your outbound email HTML code for supporting Mail Clients that won’t render CSS 3 styles : http://www.myintervals.com/blog/2014/12/02/magento-and-the-intervals-emogrifier-class/

Their web host did not have this PHP module installed / enabled, so the function calls were throwing errors before the logic that sends the actual message can be executed, causing emails to not be sent.

If your logs show a similar error, you may need to contact your web hosting provider to see if they can enable support for mb_string()

If they don't support it, you'll need to find another host who offers support for it if you want to continue running 1.9.1

If this error isn't being thrown in your logs, you may find one of the answers submitted in this discussion may apply : New order email confirmation not being sent