Change code in “/etc/exim.pl” under “check_limits”
sub check_limits
{
my $count = 0;
#find the current user
$uid = find_uid();
if (uid_exempt($uid)) { return "yes"; }
my $name = "";
my $email_limit = 0;
if (($name = getpwuid($uid))) {
if (-e "/etc/virtual/limit.$name") {
open (LIMIT, "/etc/virtual/limit.$name");
$email_limit = int(<LIMIT>);
close(LIMIT);
} else {
open (LIMIT, "/etc/virtual/limit");
$email_limit = int(<LIMIT>);
close(LIMIT);
}
if ($email_limit > 0) {
$count = (stat("/etc/virtual/usage/$name"))[7];
if ($count > $email_limit) {
die("You ($name) have reach your daily email limit of $email_limit emailsn");
}
open (USAGE, ">>/etc/virtual/usage/$name");
print USAGE "1";
close (USAGE);
chmod (0660, "/etc/virtual/usage/$name");
}
}
my $sender_address = Exim::expand_string('$sender_address');
my $mid = Exim::expand_string('$message_id');
log_bandwidth($uid,"type=email&email=$sender_address&method=outgoing&id=$mid");
return "yes"
}
PS. You will need to create a file “/etc/virtual/limit.USERNAME”. Otherwises, it will call global value from “/etc/virtual/limit”