Starting with Magento 1.9.1 the emails are not being sent directly during checkout but instead are being queued. The queue is being processed via your Magento cron jobs. So if you face the issue of Magento not sending any emails, you need to check if your Magento cron jobs is set up correctly.
Magento recommends running cron every minute for Enterprise Edition and every five minutes for Magento Open Source.
UNIX systems schedule tasks to be performed by particular users using a crontab, which is a file that contains instructions to the cron daemon that tell the daemon in effect to “run this command at this time on this date”. Each user has its own crontab, and commands in any given crontab are executed as the user who owns the crontab.
For Magento, this user is the web server. To determine your web server’s user, enter the following command:
ps -o "user group command" -C httpd,apache2
In CentOS, the Apache user is typically apache; in Ubuntu, it’s typically www-data.
To create a cron job as the user who runs Apache:
- Create or edit a crontab for the Apache user:
crontab -u apache-user-name -e
- A text editor displays. (You might need to choose a text editor first.)
In the editor, enter the following:
* * * * * /bin/sh /[your Magento install dir]/cron.sh
For example, for CentOS,
* * * * * /bin/sh /var/www/html/magento/cron.sh
- Save your changes to the crontab and exit the editor.