Symptoms
After updating to cpanel-exim-4.100, messages are stuck in the Exim queue, and errors similar to the following are present in the Exim log.
# 2026-09-11 10:26:27 1x4y0b-0000000H6J0-2x5y Spool file 1x4y0b-0000000H6J0-2x5y-D not found
Cause
The messages are failing to send because they have been moved to a different spool directory than MailScanner expects. It was discovered that the MailScanner Exim version check is failing to detect the correct Exim version. Since the version check fails to match the correct Exim version, the messages in the queue are not found, and MailScanner then tries to use the old-style queue used by an older Exim version.
Resolution
cPanel does not provide MailScanner or MailScanner Front-End (MSFE) tools, and ConfigServer has been shut down. MailScanner and MSFE should be uninstalled.
There are two main options to resolve the issue.
- Remove MailScanner and fix the Exim Queue ( Tab 1 )
- Update MailScanner manually to resume processing emails ( Tab 2 )
Note: It may be necessary to work with your system administrator to fully uninstall the software and restore emails.
After removing MailScanner, the emails in the queue need to be moved so Exim can deliver them.
# Update:
The community has found a way to workaround this problem by editing the MailScanner version check ( Tab 2 ).
-
Navigate to the spool directory
# cd /var/spool/exim/input/0
-
Move the spool files back to input, this is a fallback directory when Exim can't find the spool split files.
# find . -maxdepth 1 -type f -exec mv -n -t /var/spool/exim/input/ {} +
-
Restart Exim and run the queue
# systemctl start exim && exim -qff
-
Backup MailScanner and update the version check with a Perl replace command.
# perl -i.bak-exim4100 -pe 's/^(\s*)if ($ver >= 4.97) {/$1my ($vmaj, $vmin) = $ver =~ /^(\d+)\.(\d+)/;\n$1if (defined $vmaj && ($vmaj > 4 || ($vmaj == 4 && $vmin >= 97))) {/' /usr/mailscanner/usr/sbin/MailScanner
-
Restart MailScanner
# systemctl restart MailScanner
-
Requeue emails with MSFE ( Mailscanner Front-End plugin )
# /usr/msfe/msreq.pl
Note: If MSFE is not installed, the queue files must be moved back manually or requeued manually.
Comments
0 comments
Article is closed for comments.