Magento – Non-transactional emails are not being sent (email confirmation, welcome email, shipping)

emailmagento1.9.2.4

I've looked at the core-email queue in the SQL database and only "new order" and "update order" are being sent in the queue for the CRON job.

I've read somewhere that there might be an exception and that only transaction-email are being sent to the queue and the rest is being handle by the server.
Magento 1.9.1 – Emails being sent by the new email queue?

So, I found this guide to see how to debug it
http://www.hummingbirduk.com/magento-not-sending-emails/
and followed the steps and was able to see receive test emails from the server. So the problem lies in the magento configuration and settings.

I've been spending quite some time figuring the problem and now I am out of idea and was wondering if someone my have hints about how to solve this problem or what step could I take to narrow the solution.

Best Answer

1-

A CRON is a daemon which keeps running and gets activated at a said interval (time period). Cron helps store owners to setup up and schedule commands which will run periodically at set time and date. Various Magento services such as “Sending Newsletter “, Cleanup with logs, Cleanup cache, Customer notification etc. requires a mechanism where store owners can setup and schedule commands to run periodically.

Most of the web hosts have their own set of task scheduler; you can ask and verify the task scheduler from your webhost. While setting a cron-job make sure that minimum time duration is set to run every 15 minutes (not less than this) as Magento spends around 1 minute to index 1000 products and sets the status to “Success” from “Pending”.

Now to setup Crontab in Magento go to Admin => system => configuration => system => ‘Cron (Scheduled Tasks)’ tab.

You will notice that all times are in minutes.

Magento Cron Best Practices

Generate schedules every: 60

Schedule ahead for: 1

Missed if not run within: 60

History cleanup every: 120

Success history lifetime: 120

Failure history lifetime: 120

run the cron every 15 minutes for better results and that will not overlap with other Cron services.

2-

go to your hosting cpanel and set path and run time of cron.php file in cron job section

by default you can set path like php -f /home/username/public_html/cron.php.

Related Topic