Re: [Exim] Checking for valid accounts in a mail from relays

Page principale
Supprimer ce message
Répondre à ce message
Auteur: Peter Bowyer
Date:  
À: exim-users
Sujet: Re: [Exim] Checking for valid accounts in a mail from relays
Andrey Tverdokhleb <hardloaf@???> wrote:
> On Fri, 30 Jul 2004 00:01:49 +0100, Peter Bowyer <peter@???>
> wrote:
>> So you're actually trying to drop mails addressed to a defined list
>> of To: headers? I thought it was the other way round. My
>> misunderstanding.
>
> No. I'm trying to drop undefined addresses :)
>
>>>> you
>>>> could probably knock up a data acl which looks in To: and cc: for
>>>> stuff.
>>
>> A data acl or a system filter could probably do this. It wouldn't
>> necessarily be pretty. If you put the valid addresses in a file,
>> something like
>>
>> drop condition = ${lookup{$header_to:}lsearch {/path/to/file}{1}{0}}
>>
>> Not sure what this will do with multiple headers, multi-value
>> headers, etc. But it's somewhere to start.
>
> "drop" is not very good idea, since it bounces message back. "discard"
> is good.


No, 'deny' bounces messages back. The only difference between 'discard' and
'drop' that with 'drop', Exim drops the SMTP connection straigt away rather
than waiting for more commands. 'discard' is better, though.

> Also I found that my relay is using qmail and it adds field
> Delivered-To: which contains envelope To from original message, so
> everything is much simpler now.


Wasn't that what someone suggested yesterday? Glad you got round to checking
it.

> This is what I have now for "after DATA" ACL:
>
> check_message:
>   require verify = header_syntax
>   require verify = header_sender
>   discard condition = ${if def:header_delivered-to: \
>                              {${lookup{$header_delivered-to:}
> wildlsearch {/etc/exim4/allowed_rec} {no}{yes}}}\
>                              {no}\
>                        }
>           logwrite = Delivered-To: user $header_delivered-to: is not
>   allowed. accept

>
> Works perfectly, exactly as I wanted. Only problem was with logging -
> I wanted to use log_message, but for some reason it didn't write this
> message to my log. logwrite works though.
>
> So, thanks for idea :)


You're welcome. Can I suggest a little less aggression next time you're
asking for free help?

Peter