Hello,
I'm trying to get the PRDR extension to work but can't find any
documentation about its ACL. All I see is the global option
'prdr_enable' and the ACL 'acl_smtp_data_prdr'. But I don't know how to
use it.
Currently, the ACL 'acl_smtp_data' has this:
# Add marker to the subject above the configured threshold
warn
!authenticated = *
condition = ${if <{$message_size}{5242880}{1}{0}}
spam = nobody:true
condition = ${if >={${lookup
pgsql{SQL_SPAMMRK}{$value}}}{10}{1}{0}}
condition = ${if >={$spam_score_int}{${lookup
pgsql{SQL_SPAMMRK}{$value}}}{1}{0}}
set acl_m_subject = $header_Subject: *** Spam $spam_score
remove_header = Subject
add_header = Subject: $acl_m_subject
# Reject spam at high scores (see database value, minimum score for
reject is 10 = 1.0)
deny
!authenticated = *
condition = ${if <{$message_size}{5242880}{1}{0}}
spam = nobody:true
condition = ${if >={${lookup
pgsql{SQL_SPAMFLT}{$value}}}{10}{1}{0}}
condition = ${if >={$spam_score_int}{${lookup
pgsql{SQL_SPAMFLT}{$value}}}{1}{0}}
add_header = X-Spam-Score: $spam_score ($spam_bar)
add_header = X-Spam-Report: $spam_report
message = Your message was rejected by recipient preference
because it scored $spam_score spam points.
Here's the referenced SQL queries:
SQL_SPAMFLT = \
select spam_filter \
from mail_entries \
where local || '@' || domain = '${quote_pgsql:$acl_m_rcpt_addr}'
SQL_SPAMMRK = \
select spam_marker \
from mail_entries \
where local || '@' || domain = '${quote_pgsql:$acl_m_rcpt_addr}'
This adds a marker to the subject and/or rejects the message depending
on the database record. The $acl_m_rcpt_addr value is set in the RCPT
ACL, but it can only be set once. I need another way to know the current
recipient for each recipient.
It's also unclear how the PRDR and DATA ACLs interoperate. I don't
understand what the documentation says about it, it's very vague.
An example for this would be very helpful. I could not find any
configuration info on the web for Exim with PRDR. Looks like nobody uses it.
I want to set this up so that multiple recipients in a single message
can be delivered in one go. Previously, I had to defer all from the
second recipient so that content filtering works properly. This delays
additional recipients by many minutes.
Would this check in the RCPT ACL be correct then?
defer
message = only one recipient at a time, or use PRDR
condition = $prdr_requested
condition = ${if def:acl_m_rcpt_addr {1}{0}}
I think the first condition needs to be inverted but how does that work?
-Yves
--
## 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/