docker-mailserver: [BUG] SpamAssassin cron failing

Miscellaneous first checks

  • I checked that all ports are open and not blocked by my ISP / hosting provider.
  • I know that SSL errors are likely the result of a wrong setup on the user side and not caused by DMS itself. I’m confident my setup is correct.

Affected Component(s)

/etc/cron.daily/spamassassin exited with return code 1

What happened and when does this occur?

Since the beginning of February, I’ve been receiving emails about Cron failing, and it’s been always about spamassassin.

image

I’m not sure where exactly to look to find the problem, but here’s the last bit of today’s email:

/etc/cron.daily/spamassassin:
...
...
...
Feb 11 07:11:23.732 [16331] dbg: rules: flush_evalstr (add_evalstr) compiling 60048 chars of Mail::SpamAssassin::Plugin::Check::_meta_tests_500_1
Feb 11 07:11:23.741 [16331] dbg: rules: flush_evalstr (add_evalstr) compiling 60193 chars of Mail::SpamAssassin::Plugin::Check::_meta_tests_500_2
Feb 11 07:11:23.750 [16331] dbg: rules: flush_evalstr (add_evalstr) compiling 60099 chars of Mail::SpamAssassin::Plugin::Check::_meta_tests_500_3
Feb 11 07:11:23.761 [16331] dbg: rules: flush_evalstr (add_evalstr) compiling 60079 chars of Mail::SpamAssassin::Plugin::Check::_meta_tests_500_4
Feb 11 07:11:23.772 [16331] dbg: rules: flush_evalstr (add_evalstr) compiling 60039 chars of Mail::SpamAssassin::Plugin::Check::_meta_tests_500_5
Feb 11 07:11:23.783 [16331] dbg: rules: flush_evalstr (add_evalstr) compiling 62363 chars of Mail::SpamAssassin::Plugin::Check::_meta_tests_500_6
Feb 11 07:11:23.797 [16331] dbg: rules: flush_evalstr (run_generic_tests) compiling 37106 chars of Mail::SpamAssassin::Plugin::Check::_meta_tests_500_7
Feb 11 07:11:23.802 [16331] dbg: rules: run_generic_tests - compiling eval code: meta, priority 500
Feb 11 07:11:23.802 [16331] dbg: rules: compiled meta tests
Feb 11 07:11:23.806 [16331] dbg: check: is spam? score=10.365 required=5
Feb 11 07:11:23.806 [16331] dbg: check: tests=BODY_EMPTY,DKIM_INVALID,KAM_DMARC_STATUS,MISSING_DATE,MISSING_HEADERS,T_SCC_BODY_TEXT_LINE
Feb 11 07:11:23.807 [16331] dbg: check: subtests=__BODY_TEXT_LINE,__DOS_MSGID_DIGITS10,__EMPTY_BODY,__E_LIKE_LETTER(160),__GATED_THROUGH_RCVD_REMOVER,__HAS_FROM,__HAS_MESSAGE_ID,__HAS_MSGID,__HAS_SUBJECT,__KAM_DROPBOX2,__KAM_FAKEDELIVER12,__KAM_FAKEDELIVER4,__KAM_FAKEDELIVER6,__KAM_FAKEDELIVER8,__KAM_GOOGLE2_2,__KAM_HARP3,__KAM_HAS_0_URIS,__KAM_JURY3,__KAM_MAILSPLOIT2,__KAM_MULTIPLE_FROM,__KAM_PAYPAL3B,__KAM_UPS2,__KAM_WU1,__KHOP_NO_FULL_NAME,__LOWER_E(160),__MISSING_REF,__MISSING_REPLY,__MSGID_OK_DIGITS,__MSGID_OK_HOST,__MSOE_MID_WRONG_CASE,__NONEMPTY_BODY,__NOT_SPOOFED,__RB_GT_200,__SANE_MSGID,__SCC_BODY_TEXT_LINE_FULL,__SUBJECT_EMPTY,__SUBJECT_PRESENT_EMPTY,__SUBJ_SHORT,__TO_NO_ARROWS_R,__UNUSABLE_MSGID (Total Subtest Hits: 358 / Deduplicated Total Hits: 40)
Feb 11 07:11:23.807 [16331] dbg: timing: total 2566 ms - init: 1905 (74.2%), parse: 1.78 (0.1%), extract_message_metadata: 2.1 (0.1%), get_uri_detail_list: 6 (0.2%), tests_pri_-1000: 7 (0.3%), compile_gen: 255 (9.9%), compile_eval: 24 (0.9%), tests_pri_-950: 4.4 (0.2%), tests_pri_-900: 5 (0.2%), tests_pri_-90: 3.9 (0.2%), tests_pri_0: 494 (19.2%), check_spf: 0.20 (0.0%), tests_pri_20: 4.1 (0.2%), tests_pri_30: 4.0 (0.2%), tests_pri_500: 127 (4.9%)
run-parts: /etc/cron.daily/spamassassin exited with return code 1

The email is quite long, and seems to be all about SpamAssassin, whatever that cron is doing 😊

Please let me know what else might be helpful.

What did you expect to happen?

Cron should complete successfully.

How do we replicate the issue?

N/A

DMS version

v10.4.0

What operating system is DMS running on?

Linux

What instruction set architecture is DMS running on?

x86_64 / AMD64

What container orchestration tool are you using?

Docker Compose

docker-compose.yml

mailserver:
    image: docker.io/mailserver/docker-mailserver:latest
    hostname: ${HOSTNAME}
    domainname: ${DOMAINNAME}
    container_name: mailserver
    restart: always
    stop_grace_period: 1m
    ports:
    - "25:25"    # SMTP  (explicit TLS => STARTTLS)
    - "587:587"  # ESMTP (explicit TLS => STARTTLS)
    - "993:993"  # IMAP4 (implicit TLS)
    volumes:
    - /mailserver/data:/var/mail
    - /mailserver/state:/var/mail-state
    - /mailserver/logs:/var/log/mail
    - /mailserver/letsencrypt:/etc/letsencrypt
    - ./config/:/tmp/docker-mailserver/
    - /etc/localtime:/etc/localtime:ro
    env_file:
    - .env
    - mailserver.env
    cap_add:
    - NET_ADMIN
    - SYS_PTRACE

What level of experience do you have with Docker and mail servers?

  • I am inexperienced with docker
  • I am inexperienced with mail servers
  • I am uncomfortable with the CLI

Code of conduct

Improvements to this form?

Allow us to paste images.

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Comments: 16 (16 by maintainers)

Most upvoted comments

Aah good one 👌

That comes from a KAM.cf file I have in the custom files for SpamAssassin.

Does this mean that it’s been always failing until now, but the emails were not being sent until the latest update from DMS? 🤣

Well, at least now I know what the issue is. Thank you for looking into this. I’ll get this resolved. 👍 Have a good day.

I updated your post to use the <details> markdown syntax - nicer for issues. The problem is shown directly in the first 3 lines:

Feb 15 07:10:02.479 [18651] warn: config: invalid regexp for __KAM_MAILBOX1 '/mailbox .{0,12}exceeded|(storage|email).(limit|quota|size)|quota is full|have been rejected|new version|pending messages|quota is low|annual upgrade|important message|messages pending|messages placed on hold|upgrade to our service|recent attack|deactivating all mailbox|close down.{|undeliverable0,10}account|communication failure|de<A1>ctiv<A1>ted if no <A1>ction|invalid users|request .{0,13}shutdown|migrating all email|delivery of \d|messages.{0,6}returned|\d.{0,2}(failed|undelivered|incoming) (message|mail)|synchronize \d email|messages.{1,10}suspend|report your account|configuration error|updating stage|blacklisted|(server|quota|quarantine) notification|mailbox agreement|(system|security|server) upgrade|system malfunction|mail notice|due for an update|mailbox managment|automatically renew|\d pending/i': Unescaped left brace in regex is passed through in regex; marked by <-- HERE in m/(?i)mailbox .{0,12}ex
 ceeded|(storage|email).(limit|quota|size)|quota is full|have been rejected|new version|pending messages|quota is low|annual upgrade|important message|messages pending|messages placed on hold|upgrade to our service|recent attack|deactivating all mailbox|close down.{ <-- HERE |undeliverable0,10}account|communication failure|de<A1>ctiv<A1>ted if no <A1>ction|invalid users|request .{0,13}shutdown|migrating all email|delivery of \d|messages.{0,6}returned|\d.{0,2}(failed|undelivered|incoming) (message|mail)|synchronize \d email|messages.{1,10}suspend|report your account|configuration error|updating stage|blacklisted|(server|quota|quarantine) notification|mailbox agreement|(system|security|server) upgrade|system malfunction|mail notice|due for an update|mailbox managment|automatically renew|\d pending/
Feb 15 07:10:04.069 [18651] warn: lint: 1 issues detected, please rerun with debug enabled for more information

Somehow, there is an invalid regular expression there. I don’t know really how this came to be…