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.
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