Channel.fetch is working but not sheduled

Infos:

  • Used Zammad version: 5.2.2-1663055983.80ed32a9.centos7
  • Used Zammad installation type: package
  • Operating system: CentOS Linux release 7.9.2009

Expected behavior:

  • Emails are imported and triggers are processed automatically within 5min

Actual behavior:

  • No email are imported automatically. Running zammad run rails c and Channel.fetch will fetch the mails as expected.

  • Health Status is:

{
  "healthy": false,
  "message": "Failed to run scheduled job 'Check channels.'. Cause: Failed to run Channel.fetch after 11 tries.;Channel: Email::Account out  Can't use Channel::Driver::Smtp: #<ActiveRecord::RecordNotFound: Can't find S/MIME encryption certificates for: nils.censored@censored.de>",
  "issues": [
    "Failed to run scheduled job 'Check channels.'. Cause: Failed to run Channel.fetch after 11 tries.",
    "Channel: Email::Account out  Can't use Channel::Driver::Smtp: #<ActiveRecord::RecordNotFound: Can't find S/MIME encryption certificates for: nils.censored@censored.de>"
  ],
  "actions": [
    "restart_failed_jobs"
  ],
  "token": "censored"
}

Here some more debug info:

irb(main):006:0> Delayed::Job.count
=> 0
irb(main):007:0> Delayed::Job.first
=> nil
irb(main):008:0> Delayed::Job.last
=> nil
irb(main):009:0> p Scheduler.find_by(name: 'Execute jobs')
nil
=> nil

Steps to reproduce the behavior:

  • Sent a mail to Zammad and wait.
  • The problemes started after upgrading from zammad-5.2.1-1659072546.e6bf4d57.centos7.x86_64

Background

  • The Certificate Error comes from usage of the S/MIME Plugin. I used the Rest API to generate an article configured to encrypt.
    In the GUI it is not possible to create an Article marked as encrypt given there is not valid certificate.
    • Still this was not a problem with the version before
    • I couldn’t get rid of the message deleting all Articles containing the wrong message. Only deleting the complete mail account helped
    • Still after deleting it, the sheduler seems not work. New mails are not processed automatically.
  • All email accounts are green in the the Settings but one email account that we use for testing purposes is disabled.

Maybe Related:

Okay I found the Solution.

Under Settings > System > Monitoring > Current Status was button that gave the possibility to perform the restart_failed_jobs action.

Doing so everything works now as expected again.