15

I'm at loss on what to do.

This morning I configured cron and according to Aoe_Scheduler the emails in the queue are sent each 5 minutes. I don't, however, receive new order confirmations on my email account. I've triple checked whether I've configured the right confirmation address and I quadruple checked spam folders, but no emails there.

I'm worried that the customers didn't get any emails either. Does anyone recognize this problem? I ran 1.9.1 (and since a few minutes 1.9.2).

edit: Creating an account or requesting a new password on frontend does sent emails.

3
  • What do your outbound mail logs show? Commented Jul 7, 2015 at 22:25
  • @BenLessani-Sonassi I'm on a shared magento server so I can't access those logs directly ( I'll contact my hostingprovider) Thanks for the log suggestion.
    – Frank
    Commented Jul 7, 2015 at 23:05
  • Also setting Aoe_Scheduler Queue configuration -> Queue Usage -> Never helps.
    – amitshree
    Commented Mar 6, 2016 at 9:54

3 Answers 3

15

Try a workarround:

in CMS > SALES EMAILS Set Order > Sent Emails via seperate Mail (BCC is Buggy)

Magento know this bug and will fix in 2.0.

1
  • When is fix scheduled for? Is it fixed now?
    – camdixon
    Commented Nov 1, 2016 at 18:20
9

Three days were spent investigating and addressing those hiccups, and I can now share my newly found knowledge of the possible problems arising from updating Magento to 1.9.

First of all, Magento 1.9+ relies completely on cron jobs to send transactional emails. If you didn’t have cron jobs set up properly before, you are going to have to do it now.

First of all make sure you have set up cron tasks in the Magento admin under System > Configuration > Advanced > System > Cron. The default settings are:

Generate Schedules Every: 15
Schedule Ahead for: 20
Missed if Not Run Within: 15
History Cleanup Every: 10
Success History Lifetime: 60
Failure History Lifetime: 600

There are people suggesting these settings should be changed, but since they can’t seem to agree on the best combination, I’d rather leave it as it is.

You then need to go into your hosting control panel and set up cron jobs. In cPanel it’s under Advanced > Cron Jobs. Set them up to run every five minutes and use this command:

php -f /home/username/public_html/cron.php

Check that the above path is correct and that the file cron.php is actually there in the root of your Magento installation (if you’ve just upgraded, it should be). Change username to the correct account.

Now, I initially made the mistake of following the advice of the developers at xtento.com who say to use a wget command string: wget -O /dev/null -q http://www.YOURDOMAIN.com/PATH_TO_MAGENTO/cron.php.

This did not work for me at all, whereas the php command did, so my advice is: stick with that.

4
  • Thanks for your help! Your php suggestion of "php -f /home/username/public_html/cron.php" worked for me.
    – scottiss
    Commented Nov 21, 2015 at 0:27
  • Awesome man! it worked for me too, like a charm
    – CodeRomeos
    Commented Jan 5, 2016 at 11:15
  • Using wget should work as well.. I'm curious as to what went wrong there Commented Apr 19, 2017 at 22:44
  • Thanks, I was not running cron on the DEV instance and noted that forgot password emails were sending but order confirmation not following upgrade to 1.9.4.1... Adding the cron for the DEV site resolved the order email sending. Appears Transactional Emails are sent via cron as of 1.9. The following is the syntax we use for our cron, can be helpful to stop the cron triggering db updates mid upgrade: "! test -e /absolute/path/to/your/sites/document/root/maintenance.flag && php -f /absolute/path/to/your/sites/document/root/cron.php > /dev/null 2>&1"
    – Flipmedia
    Commented Jul 16, 2019 at 9:38
2

Order confirmation emails were not sending to customer or us. Checked cron jobs under cpanel and it was empty. My test site worked fine so checked cron jobs to find this setting and instantly 60 emails came in once I set it in live site. Hope this helps someone, drove me crazy.

min: 0,26,42,58 hour:* Day:* Month:* Weekday:*

Command: php /home/username/public_html/cron.php > /dev/null

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.