]> source.dussan.org Git - rspamd.git/commitdiff
[Minor] Use extract specific urls for emails in rbl module
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Sun, 25 Aug 2019 08:23:05 +0000 (09:23 +0100)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Sun, 25 Aug 2019 08:23:05 +0000 (09:23 +0100)
src/plugins/lua/rbl.lua

index aacd2715cac38f4c9735069c2fff9849f4b767d0..83f57f495e2cd0aac8fc9d121c3523fcae49e825 100644 (file)
@@ -52,7 +52,7 @@ local function get_monitored(rbl)
     ret.prefix = rbl.monitored_address
   end
 
-  if rbl.dkim or rbl.url or rbl.email then
+  if rbl.dkim or rbl.urls or rbl.emails then
     ret.random = true
   end
 
@@ -388,9 +388,21 @@ local function gen_rbl_callback(rule)
   end
 
   local function check_emails(task, requests_table)
-    local emails = task:get_emails()
+    local ex_params = {
+      task = task,
+      limit = rule.requests_limit,
+      filter = function(u) return u:get_protocol() == 'mailto' end,
+      need_emails = true,
+      prefix = 'rbl_email'
+    }
 
-    if not emails then
+    if rule.emails_domainonly then
+      ex_params.esld_limit = 1
+      ex_params.prefix = 'rbl_email_domainonly'
+    end
+
+    local emails = lua_util.extract_specific_urls(ex_params)
+    if not emails or #emails == 0 then
       return false
     end