commit c55e935: [Feature] Support suppressing DMARC reporting for particular recipients

Andrew Lewis nerf at judo.za.org
Mon Jul 29 17:51:10 UTC 2024


Author: Andrew Lewis
Date: 2024-01-10 15:38:39 +0200
URL: https://github.com/rspamd/rspamd/commit/c55e935c94acf43c0924317067b5ebf11567f904 (refs/pull/4772/head)

[Feature] Support suppressing DMARC reporting for particular recipients

---
 src/plugins/lua/dmarc.lua | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/src/plugins/lua/dmarc.lua b/src/plugins/lua/dmarc.lua
index 99fede96a..792672bd0 100644
--- a/src/plugins/lua/dmarc.lua
+++ b/src/plugins/lua/dmarc.lua
@@ -267,7 +267,14 @@ local function dmarc_validate_policy(task, policy, hdrfromdom, dmarc_esld)
     if settings.reporting.exclude_domains then
       if settings.reporting.exclude_domains:get_key(policy.domain) or
           settings.reporting.exclude_domains:get_key(rspamd_util.get_tld(policy.domain)) then
-        rspamd_logger.infox(task, 'DMARC reporting suppressed for %s', policy.domain)
+        rspamd_logger.info(task, 'DMARC reporting suppressed for sender domain %s', policy.domain)
+        return
+      end
+    end
+    if settings.reporting.exclude_recipients then
+      local rcpt = task:get_principal_recipient()
+      if rcpt and settings.reporting.exclude_recipients:get_key(rcpt) then
+        rspamd_logger.info(task, 'DMARC reporting suppressed for recipient %s', rcpt)
         return
       end
     end
@@ -515,6 +522,11 @@ if type(settings.reporting) == 'table' then
       type = 'map',
       description = 'Domains not to store DMARC reports about'
     },
+    exclude_recipients = {
+      optional = true,
+      type = 'map',
+      description = 'Recipients not to store DMARC reports for'
+    },
   })
 end
 


More information about the Commits mailing list