After updating to DirectAdmin 1.702 (Exim 4.99.3), 451 Temporary local problem - please try late

hqn34

Verified User
Joined
Nov 7, 2022
Messages
31
After updating to DirectAdmin 1.702 (Exim 4.99.3), all incoming and outgoing mail started failing with:

451 Temporary local problem - please try later

Exim mainlog shows:

Undefined subroutine &main::find_uid called
Undefined subroutine &main::auth_hit_limit_acl called
Undefined subroutine &main::hit_limit_user called
Undefined subroutine &main::check_limits called

Issue is reproducible after:

cd /usr/local/directadmin/custombuild
./build exim_conf
systemctl restart exim

We confirmed that generated /etc/exim.conf references these Perl functions, but generated /etc/exim.pl does not contain them.

Temporary workaround that restored mail flow:

sub find_uid { return 0; }
sub auth_hit_limit_acl { return 0; }
sub hit_limit_user { return 0; }
sub check_limits { return 1; }

added manually to /etc/exim.pl

CustomBuild options:

  • exim.conf update: yes
  • BlockCracking: yes
  • Easy Spam Fighter: yes
  • Rspamd: yes
Can anyone confirm if this is a known 1.702 Exim template issue?
 
Update / Solution:

The issue was caused by an old custom Exim configuration file:

/usr/local/directadmin/custombuild/custom/exim/exim.conf

This file was created before the DirectAdmin 1.702 update. After 1.702, Exim/Perl mail limit handling changed, and this old custom exim.conf became incompatible with the new generated /etc/exim.pl.

Because of that, Exim started failing with:

Undefined subroutine &main::find_uid called
Undefined subroutine &main::auth_hit_limit_acl called
Undefined subroutine &main::hit_limit_user called
Undefined subroutine &main::check_limits called

and mail sending/receiving failed with:

451 Temporary local problem - please try later

Solution:

I disabled the old custom Exim config:

mv /usr/local/directadmin/custombuild/custom/exim/exim.conf /usr/local/directadmin/custombuild/custom/exim/exim.conf.disabled

Then rebuilt the Exim config:

cd /usr/local/directadmin/custombuild
./build exim_conf
systemctl restart exim

After that, Exim generated the correct current configuration. Mail sending/receiving started working again, and Rspamd also started receiving/scanning messages again.

So the root cause was not Exim 4.99.3 itself, but an outdated custom exim.conf overriding the new DirectAdmin 1.702 Exim template.
 
Back
Top