mirror of
				https://github.com/optim-enterprises-bv/Mailu.git
				synced 2025-11-03 19:47:52 +00:00 
			
		
		
		
	Honor per-user spam settings, fixes #21
This commit is contained in:
		@@ -1,5 +1,19 @@
 | 
				
			|||||||
connect = /data/freeposte.db
 | 
					connect = /data/freeposte.db
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					map {
 | 
				
			||||||
 | 
					  pattern = priv/spam_enabled
 | 
				
			||||||
 | 
					  table = user
 | 
				
			||||||
 | 
					  username_field = email
 | 
				
			||||||
 | 
					  value_field = spam_enabled
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					map {
 | 
				
			||||||
 | 
					  pattern = priv/spam_threshold
 | 
				
			||||||
 | 
					  table = user
 | 
				
			||||||
 | 
					  username_field = email
 | 
				
			||||||
 | 
					  value_field = spam_threshold
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
map {
 | 
					map {
 | 
				
			||||||
  pattern = priv/reply_enabled
 | 
					  pattern = priv/reply_enabled
 | 
				
			||||||
  table = user
 | 
					  table = user
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,6 +1,12 @@
 | 
				
			|||||||
require ["fileinto", "envelope", "mailbox", "imap4flags"];
 | 
					require ["variables", "fileinto", "envelope", "mailbox", "imap4flags", "regex", "relational", "comparator-i;ascii-numeric", "vnd.dovecot.extdata"];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if header :contains "X-Spam" "YES" {
 | 
					
 | 
				
			||||||
  setflag "\\seen";
 | 
					if string :is "${extdata.spam_enabled}" "1" {
 | 
				
			||||||
  fileinto :create "Junk";
 | 
					  if header :matches "X-Spam-Status" "* score=*" {
 | 
				
			||||||
 | 
					    if string :value "ge" :comparator "i;ascii-numeric" "${2}" "${extdata.spam_threshold}" {
 | 
				
			||||||
 | 
					      setflag "\\seen";
 | 
				
			||||||
 | 
					      fileinto :create "Junk";
 | 
				
			||||||
 | 
					      stop;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -59,6 +59,8 @@ spamd {
 | 
				
			|||||||
	rspamd_metric = "default";
 | 
						rspamd_metric = "default";
 | 
				
			||||||
  # Do not reject, add header
 | 
					  # Do not reject, add header
 | 
				
			||||||
  spamd_never_reject = yes;
 | 
					  spamd_never_reject = yes;
 | 
				
			||||||
 | 
						# Add extended spam headers
 | 
				
			||||||
 | 
						extended_spam_headers = yes;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
redis {
 | 
					redis {
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user