I read that
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 cronjob
To resolve this issue, I installed http://www.magentocommerce.com/magento-connect/aoe-scheduler.html extension. But had error message on magento admin "No heartbeat task found. Check if cron is configured correctly" and still no sales email was being sent.
My hosting is on godaddy server, to resolve No heartbeat task found, did following steps
1. Logged in to goDaddy
2. In Advance section, go to Crons Jobs
3. Add new Cron Job with command
/bin/sh /home/<your hosting>/public_html/scheduler_cron.sh Hope it will resolve the email sending issue.
Note if you are not able to install aoe-scheduler, download its zipped version from "https://github.com/AOEpeople/Aoe_Scheduler", and copy it to your domain directly wisely. To take back is recommended.
References
http://magento.stackexchange.com/questions/45571/new-order-email-confirmation-not-being-sent-magento-1-9-1