[exim] FW: Explanation of Exim's behaviour when doing a line…

Top Page
Delete this message
Reply to this message
Author: Paul McIlfatrick
Date:  
To: exim-users
Subject: [exim] FW: Explanation of Exim's behaviour when doing a linear lookup of 'recipients' in a flat file
Resolved the problem!

After the warns in the acl_smtp_rcpt ACL section of the config file there
was the following lines:

accept  domains         =       +local_domains
        endpass
        message         =       Unknown local user!
        verify          =       recipient


I think that the verify must do a check of the static.aliases file for the
recipient. If it is found then true is returned and the earlier warn values
will then be used in the acl_smtp_data ACL part.


Thanks



Paul McIlfatrick



> > I know when the lsearch has looked up the reject-list file
> > successfully or not as I have modified Exim's config file to output
> > different log messages depending on what path was taken.
> >
> > The following is part of the acl_smtp_rcpt ACL:
> >
> > warn    senders         =       :
> >         set acl_m1      =       yes

> >
> > warn    message         =       Invalid sender [$sender_address]
> >         senders         =       postmaster@??? :
> > mailer-daemon@???
> >         set acl_m2      =       yes

> >
> > warn    message         =       Unknown user!
> >         recipients      =       lsearch;/etc/exim/reject-list
> >         set acl_m3      =       yes
> >         set acl_m4      =       $local_part

> >
> > And the following is part of the acl_smtp_data ACL:
> >
> > discard senders         =       :
> >         message         =       A valid sender header is required for

bounces - discard!
> >         !verify         =       header_sender

> >
> > discard message         =       Unsolicited bounce detected from null

sender - discard!
> >         condition       =       ${if def:acl_m1{1}{0}}
> >         condition       =       ${if match
> > {$message_body}{$primary_hostname}{0}{1}}

> >
> > discard message         =       From invalid user [$sender_address] -

discard!
> >         condition       =       ${if def:acl_m2{1}{0}}

> >
> > discard message         =       For unknown user [$acl_m4] - discard!
> >         condition       =       ${if def:acl_m3{1}{0}}

> >
> >
> > As I said in my original post, lsearch of the reject-list file for
> > aperson@??? only works if aperson is defined in the
> > static.aliases file as aperson: :blackhole:!
>
> Well I went insane and above the call of duty and actually
> stuck all of this stuff into my exim configuration files and
> ran it. It worked. A little strangly for my taste, but it
> worked none the less.
>
> If it only works when there's an entry in the alias file,
> then there is something really screwy going somewhere else in
> your setup and I'd really need to see the whole thing and
> what you are testing it with along with exactly what you are
> expecting. AFAICT, the lsearch is doing what it should be
> doing and the problem is elsewhere.
>
> However.. WHY are you pretending accept mail for these
> recipients when you can just deny them in the acl_smtp_rcpt?
> If they arn't there anymore, stop accepting their mail. It
> wont affect other users getting the mail and will hopefully
> stop people trying to send them mail.


Why I'm pretending to accept mail is the result of my previous posting to
exim users asking for "Help with our postmaster@??? being spoofed as a
sender address" and it stops the postmaster of our company's MTA relay (it
does the virus checking of e-mails as they arrive into the company before
forwarding them to our local MTA) sending me e-mails when I reject them
early! Doing it the way I have it now in the config file has removed a lot
of messages from the postmaster of our company's MTA relay.