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/

Reply via email to