[Exim] Using ACL to block spaam... possible?

Top Page
Delete this message
Reply to this message
Author: Lukas
Date:  
To: Exim-users
Subject: [Exim] Using ACL to block spaam... possible?
Hi all!

I am going to put a strange question but I need a piece of advice from someone more expert than me...
I installed Exim 4.14 (configured with Courier IMAP and MySQL for users management) on Mac OS X 10.2.4.
It works fine but I am experiencing the plague of spam.
I know that the answer is "Use SMTP AUTH!" but let's suppose that for some reasons I cannot use it.
(Please... I know it is strange but give me a serious answer anyway...)

Lets' suppose I want my Exim to be a relay server only for my client everywhere they are with their (dial up) computer.

I tried to think about an ACL setting that let me obtain the result without using SMTP AUTH.
In the ACL_CHECK_RCPT section I added this:

  deny    senders        = !${lookup mysql{SELECT id FROM passwd \
                           WHERE '$sender_address' rlike id} {$sender_address}{}}
          message        = We do not relay!


(where passwd is a MySQL database table containing users' data and id is the name of the field containing the user's email address)

It works correctly except for the fact it rejects also mail messages coming from other server trying to deliver to my local users (for example, if a client of mine uses a web mail on a different provider, the mail server of that providers gets a rejection of the message because it doesn't identify as the user on my server. It is obvious... the sender result to be that provider's user!).

My question is: is there a way to tell Exim to make a difference between a remote server trying to deliver a message to my server and a directly connected client trying to use my server as an open relay? How can I modify my ACL statement in order to get this result?

Thanx everybody

Lukas