[Exim] Selectively Limiting $message_size using a router/fil…

Top Page
Delete this message
Reply to this message
Author: Odhiambo G. Washington
Date:  
To: exim-users
Subject: [Exim] Selectively Limiting $message_size using a router/filter (Global)
Hello Eximers,
(I guess this is a good name, no?)

I've had a request from a user and I believe it's practical. I know I can run
a router just before the local delivery to do it, since Exim is able to know
the $message_size. What I don't know is how to write the router :)

Two users have asked me to block any mail sent to them that is surpasses some
$message_size. One of them wants all mail over 3MB to be rejected with some
message. The other one prefers 5MB. On my server, the global message)size limit
is 10M, which I believe is stupid for an ISP which has some clients with pretty
good connections.

I know the $message_size is available for the system filter also but I was
wondering if people have recommendations. Looking at the filter specification,
I've noted two possibilities:

if $message_size is above XX
${ if >{$message_size}{4M} .....

The problem is that both users (and some others yet to come) all prefer different
values. I was thinking that I could use a flat file, or some db where I could store
username:$message_size values, like

user1:    3M
user2:    5M


I'd like to do this globally, not via some .forward as maintaining that would be
a pain in the $%*.... MySQL would be a good option but my users are not MySQL based.
These are system accounts.


Any pointers/suggestions most welcome.


Thank you.


-Wash

--
Odhiambo Washington   <wash@???>  "The box said 'Requires
Wananchi Online Ltd.  www.wananchi.com      Windows 95, NT, or better,'
Tel: +254 2 313985-9  +254 2 313922         so I installed FreeBSD."
GSM: +254 72 743223   +254 733 744121       This sig is McQ!  :-)



The first duty of a revolutionary is to get away with it.
        -- Abbie Hoffman