Please talk to me like I'm five with this one.

What we're using:

  • civiCRM version 5.41.0
  • Wordpress 5.9.5
  • PHP 7.2.34 (I do get a warning that this one should be updated)
  • Mosaico 2.7.16

The web guy told me that cron is set up as per docs instructions every six hours: enter image description here

But when I get into civi I get greeted with the "Cron not running" message and I don't know how to make it work. I have to execute everything by hand from Administer > System settings > Scheduled jobs menu.

Civirules cron is enabled (no parameters) and so are Send scheduled mailings and Update membership statuses.

I would like to illustrate the problem when sending out e-mail (Mailtrap is being used for testing):

What works:

  1. Mailings > New mailing > send test (immediately works)

What sort of works:

  1. Mailings > New mailing > next > Schedule (Send immediately) > Submit mailing (but only after I manually execute scheduled job in System settings)

What doesn't work:

  1. Contact > more > Send an email results in "Mailing error - expected a string or file resource"
  2. Contact > Actions > Email - send now results in "Mailing error - expected a string or file resource"
  3. Contact > Actions > Email - Email - schedule/send via Civimail results in Send test to either single person or group as greyed out and being able only to save the draft

How do I activate cron jobs so that I don't have to do it all by hand? Is it something that can be done from civi or do I need to contact the web guy and what should I tell him?

Thank you

2 Answers 2


Your 'web guy' appears to have set up a (linux system) cron correctly, but it's not "working", likely for any of many possible reasons, e.g. permissions, ownership, environment, etc. It's not something you'd be normally be able to diagnose or fix without access to the server or reports that might get generated.

You could look at your list of system jobs and see if any of them are running - it's possible that one of them early on is breaking the cron in some way, that might be a helpful clue (e.g. the php process in the cron may be a different version of php, be running out of memory, be hitting some kind of security issue, etc.).

re: your notes about what works and what doesn't. The bit that works tells me that if your cron is setup, then civimail should work. The bit that doesn't work suggests your server doesn't have any mail server installed. You can likely fix that by installing this excellent extension: https://civicrm.org/extensions/transactional-emails


It isn't possible to configure cron jobs within CiviCRM itself. This is something that needs to be done on the server. So this is probably something that you will need your 'web guy' to help you with.

The documentation about how to set this up is here:


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.