Browse Source

[Feature] Support suppressing DMARC reports for some domains

tags/1.6.2
Andrew Lewis 7 years ago
parent
commit
41ac6b2323
1 changed files with 9 additions and 0 deletions
  1. 9
    0
      src/plugins/lua/dmarc.lua

+ 9
- 0
src/plugins/lua/dmarc.lua View File

@@ -33,6 +33,7 @@ end

local N = 'dmarc'
local no_sampling_domains
local no_reporting_domains
local statefile = string.format('%s/%s', rspamd_paths['DBDIR'], 'dmarc_reports_last_sent')
local VAR_NAME = 'dmarc_reports_last_sent'
local INTERVAL = 86400
@@ -515,6 +516,13 @@ local function dmarc_callback(task)

if rua and redis_params and dmarc_reporting then

if no_reporting_domains then
if no_reporting_domains:get_key(dmarc_domain) or no_reporting_domains:get_key(rspamd_util.get_tld(dmarc_domain)) then
rspamd_logger.infox(task, 'DMARC reporting suppressed for %1', dmarc_domain)
return maybe_force_action(disposition)
end
end

local spf_result
if spf_ok then
spf_result = 'pass'
@@ -597,6 +605,7 @@ if not opts or type(opts) ~= 'table' then
return
end
no_sampling_domains = rspamd_map_add(N, 'no_sampling_domains', 'map', 'Domains not to apply DMARC sampling to')
no_reporting_domains = rspamd_map_add(N, 'no_reporting_domains', 'map', 'Domains not to apply DMARC reporting to')

if opts['symbols'] then
for k,_ in pairs(dmarc_symbols) do

Loading…
Cancel
Save