On 26/04/18 02:25, Mike Brown via Exim-users wrote:
On Wed, Apr 25, 2018 at 11:19:56PM +0100, Jeremy Harris via Exim-users wrote:
On 25/04/18 15:19, Mike Brown via Exim-users wrote:

</snip>


I went back and looked again and found the following:

acl_smtp_mail = acl_check_mail
acl_smtp_rcpt = acl_check_rcpt
acl_smtp_data = acl_check_data
acl_smtp_mime = acl_check_mime

Just curious, why bother having scl_smtp_xxxx when they become acl_check_xxxx?
Why not just use acl_smtp_rcpt?  Just goes to show what little I know about
exim.  I don't do anything fancy with my setup, because it is just me on my
home server.

I'm not an expert on Exim, but as far as I understand the bit on the left of the '=' sign is an Exim setting name - so that can't be changed. The bit on the right is whatever you choose to be. So "acl_smtp_mail = acl_check_smtp" can be read like:

"just after the server receives the the MAIL smtp command, execute the acl named 'acl_check_mail'"

Think of "acl_check_mail" as a function name, whose contents and functionality you define lower down in the config file.

The entities on the left (acl_smtp_mail, acl_smtp_rcpt etc.) are a pre-defined list of acl's which you can use in Exim at various points during processing of the email connection and messages. There are further explanations as to what each one does and when it is called here:

https://www.exim.org/exim-html-current/doc/html/spec_html/ch-access_control_lists.html

So towards the top of exim conf you would have define the acl, if you intend to use it lower down:

[code]

acl_smtp_mail = my_own_smtp_mail_acl

[/code]

... and lower down in exim.conf you write what my_own_smtp_mail_acl is supposed to do or check:

[code]

# this starts the section containing all acl's
begin acl

my_own_smtp_mail_acl:

  deny    message       = Restricted characters in address
          domains       = +local_domains
          local_parts   = ^[.] : ^.*[@%!/|]

  deny authenticated = *
       !encrypted    = *
       message       = TLS required on authenticated connections

  accept

[/code]

Most acl's have to end with 'accept' (maybe all?) - otherwise messages or connections reaching the end of the acl without being explicitly accepted further up would be rejected.

I hope the above helps a bit. I struggled as well when I started to use Exim in understanding the structure and purpose of the config file - but eventually it starts to make sense :-)

--
## List details at https://lists.exim.org/mailman/listinfo/exim-users
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/

Reply via email to