When a remote smtp client connects to piler the piler-smtp daemon checks its IP-address against these cidr blocks and actions in the exact order as they are in the acl file, and decides if the connection is permitted or not.
The format of smtp.acl is
Action is either “permit” or “reject” both in lowercase and without quotes.
When piler-smtp starts it syslogs all the parsed smtp acl rules. If you mistype the action or the cidr block is invalid, then such line is discarded and syslogs the acl line having the error.
Notice that there’s no reject line in the previous example, because there’s an implicit reject rule at the end. Also if you do specify acl entries, then “127.0.0.1/8 permit” is implicitly added to the end of the list to allow the gui to reach the piler-smtp daemon for health checks.
If the remote client is rejected then piler-smtp sends back an 550 error message (550 Service currently unavailable), terminates the tcp connection, and syslogs the action: