Hi there,
I Think i finally got it but since i'm not so sure could you take a look and
check if there's any mistakes ?
begin acl
#!!# ACL that is used after the RCPT command
check_recipient:
# Accept if the source is local SMTP (i.e. not over TCP/IP)
accept hosts = :
# ...and everyone that authenticated
require verify = sender
accept authenticated = *
condition = ${if
eq{$authenticated_id}{$sender_address}{yes}{no}}
verify = sender
# Deny if the local part contains @ or % or / or | or !.
deny local_parts = ^.*[@%!/|] : ^\\.
# Always accept mail to postmaster
accept local_parts = postmaster
domains = +local_domains
# look up connecting host on RBLs
deny message = $sender_host_address blacklisted at
$dnslist_domain
dnslists = bl.spamcop.net : \
blackholes.mail-abuse.org : \
dialup.mail-abuse.org : \
blackholes.easynet.nl : \
sbl.spamhaus.org : \
opm.blitzed.org : \
ipwhois.rfc-ignorant.org : \
cbl.abuseat.org : \
spamhaus.relays.osirusoft.com=127.0.0.6 : \
sbl.spamhaus.org=127.0.0.2 : \
relays.ordb.org
accept domains = +local_domains
accept hosts = +relay_hosts
accept condition = ${perl{checkrelayhost}{$sender_host_address}}
# Accept bounces to lists even if callbacks or other checks would fail
warn message = X-WhitelistedRCPT-nohdrfromcallback: Yes
condition = \
${if and {{match{$local_part}{(.*)-bounces\+.*}} \
{exists
{/usr/local/cpanel/3rdparty/mailman/lists/${lc:$1}_${lc:$domain}/config.pck}
}} \
{yes}{no}}
accept condition = \
${if and {{match{$local_part}{(.*)-bounces\+.*}} \
{exists
{/usr/local/cpanel/3rdparty/mailman/lists/${lc:$1}_${lc:$domain}/config.pck}
}} \
{yes}{no}}
warn message = X-WhitelistedRCPT-nohdrfromcallback: Yes
condition = \
${if and {{match{$local_part}{mailman-bounces\+.*}} \
{exists
{/usr/local/cpanel/3rdparty/mailman/lists/mailman/config.pck}}} \
{yes}{no}}
accept condition = \
${if and {{match{$local_part}{mailman-bounces\+.*}} \
{exists
{/usr/local/cpanel/3rdparty/mailman/lists/mailman/config.pck}}} \
{yes}{no}}
# deny all rest
deny message = $sender_fullhost is currently not permitted to send, you
must first authenticate
#!!# ACL that is used after the DATA command
check_message:
require verify = header_sender
accept
Thank, GREAT LIST :)
Oren.