On 10/03/2021 19:00, Dan Mahoney (Gushi) wrote:
All,

I'm working with the OpenDMARC folks on doing bug triage, and someone has requested that if a domain's policy says p=quarantine, that it should be "accepted" by postfix, and left for something like SpamAssassin to deal with.  (I don't see any specific handling in spamassassin that treats quaratine differently, but that's beside the point).

Per for RFCs, "quarantine" really means "queue for mail admins to deal with manually".  This is an old concept, going back in sendmail at least a decade, but it's been rarely used to this point.  Opendmarc makes this relatively common, and will catch mail admins by surprise.

So my question is (I've been reading the postfix milter docs for a half hour), is there any way to say (either globally or per-milter), "if the milter says hold, just deliver as normal?"

This is a thing that can be fixed in the milter, or fixed in postfix, but in an ideal world, both would exist.

(I mean, short of an every-minute cron job that just moves the things to the deliver queue).

-Dan

This works for me:

# grep ^RejectFailures /etc/opendmarc.conf # (note: false is the default anyway)
RejectFailures false

# postconf -n milter_header_checks
milter_header_checks = pcre:/etc/postfix/milter_header_checks.pcre

# cat /etc/postfix/milter_header_checks.pcre
# opendmarc is set not to reject failed emails, nor to instruct they
#   be held (RejectFailures false) - but it will still add a header
#   showing dmarc=fail: so here we can redirect them to a local
#   mailbox (because they sometimes prove to be genuine
#   i.e. from sender with misconfigured email server(s))
/^Authentication-Results: my_authserv_id.*dmarc=fail \(p=(reject|quarantine)/ REDIRECT dmarcfail@localhost


Reply via email to