aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/lua/spamtrap.lua
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/lua/spamtrap.lua')
-rw-r--r--src/plugins/lua/spamtrap.lua12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/plugins/lua/spamtrap.lua b/src/plugins/lua/spamtrap.lua
index 33805b592..af2523187 100644
--- a/src/plugins/lua/spamtrap.lua
+++ b/src/plugins/lua/spamtrap.lua
@@ -29,14 +29,24 @@ local settings = {
learn_spam = false,
fuzzy_flag = 1,
fuzzy_weight = 10.0,
- key_prefix = 'sptr_'
+ key_prefix = 'sptr_',
+ check_authed = true,
+ check_local = true
}
local function spamtrap_cb(task)
local rcpts = task:get_recipients('smtp')
+ local authed_user = task:get_user()
+ local ip_addr = task:get_ip()
local called_for_domain = false
local target
+ if ((not settings['check_authed'] and authed_user) or
+ (not settings['check_local'] and ip_addr and ip_addr:is_local())) then
+ rspamd_logger.infox(task, "skip spamtrap checks for local networks or authenticated user");
+ return
+ end
+
local function do_action(rcpt)
if settings['learn_fuzzy'] then
rspamd_plugins.fuzzy_check.learn(task,