exim "failed to expand condition" error, user sender limit ignored

Netbulae

Verified User
Joined
May 8, 2009
Messages
7
Hi,

For a couple of days now I noticed exim spitting out these entries in the mainlog. I inspected the issue and it looks like the user has reached it's e-mail limit. Exim keeps sending mail however,

This is the error:

failed to expand condition "${if and{{bool_lax{NULL}}{bool_lax{${perl{check_limits} }}}}}" for lookuphost router: You (username) have reached your daily email limit of 5 emails
inside "and{...}" condition

I've downloaded a fresh exim.pl and exim.conf from directadmin.com, the permissions are correct and when I disable the line " condition = "${perl{check_limits}}" ", the error goes away. But the limits still get ignored.

Anyone experienced the same?

Kind regards,

Jorick Astrego
Netbulae
 
Hello,

A few things:

1) Our condition should look like your 2nd version. The first one look completely foreign to me. I've not familiar with the bool_lax calls.

2) The "failed to expand condition" is correct if the limit is reached. This is how the exim.pl tells exim to completely stop, by returning a script failure.

3) If you disable the condition line.. then there are no conditions, and exim will continue sending, as the limit is never checked. The "check_limits" is the limit check, so you do need it.


In any case, the "limit" would be either at:
/etc/virtual/limit
or
/etc/virtual/limit_username

and the usage count that the exim.pl uses to determine if said limit is reached, goes here:
/etc/virtual/usage/username


This guide is related:
http://help.directadmin.com/item.php?id=514

Let us know if the problem persists.

John
 
Back
Top