73 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			73 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| rules {
 | |
|   QUARANTINE {
 | |
|     backend = "http";
 | |
|     url = "http://nginx:9081/pipe.php";
 | |
|     selector = "reject_no_global_bl";
 | |
|     formatter = "default";
 | |
|     meta_headers = true;
 | |
|   }
 | |
| 	RLINFO {
 | |
| 		backend = "http";
 | |
| 		url = "http://nginx:9081/pipe_rl.php";
 | |
| 		selector = "ratelimited";
 | |
| 		formatter = "json";
 | |
| 	}
 | |
|   PUSHOVERMAIL {
 | |
|     backend = "http";
 | |
|     url = "http://nginx:9081/pushover.php";
 | |
|     selector = "mailcow_rcpt";
 | |
|     formatter = "json";
 | |
|     meta_headers = true;
 | |
|   }
 | |
| }
 | |
| 
 | |
| custom_select {
 | |
|   mailcow_rcpt = <<EOD
 | |
| return function(task)
 | |
|   local action = task:get_metric_action('default')
 | |
|   if task:has_symbol('NO_LOG_STAT') or (action == 'soft reject' or action == 'reject' or action == 'add header' or action == 'rewrite subject') then
 | |
|     return false
 | |
|   else
 | |
|     if task:get_symbol("RCPT_MAILCOW_DOMAIN") then
 | |
|       return true
 | |
|     end
 | |
|     return false
 | |
|   end
 | |
| end
 | |
| EOD;
 | |
|   ratelimited = <<EOD
 | |
| return function(task)
 | |
|   local ratelimited = task:get_symbol("RATELIMITED")
 | |
|   if ratelimited then
 | |
|     return true
 | |
|   end
 | |
|   return false
 | |
| end
 | |
| EOD;
 | |
|   reject_no_global_bl = <<EOD
 | |
| return function(task)
 | |
|   if not task:has_symbol('GLOBAL_SMTP_FROM_BL')
 | |
|     and not task:has_symbol('GLOBAL_MIME_FROM_BL')
 | |
|     and not task:has_symbol('LOCAL_BL_ASN')
 | |
|     and not task:has_symbol('GLOBAL_RCPT_BL')
 | |
|     and not task:has_symbol('BAD_SUBJECT_00')
 | |
|     and not task:has_symbol('MAILCOW_BLACK') then
 | |
|       local action = task:get_metric_action('default')
 | |
|       if action == 'reject' or action == 'add header' or action == 'rewrite subject' then
 | |
|         return true
 | |
|       end
 | |
|   end
 | |
|   return false
 | |
| end
 | |
| EOD;
 | |
| }
 | |
| 
 | |
| custom_format {
 | |
|   msgid = <<EOD
 | |
| return function(task)
 | |
|   return task:get_message_id()
 | |
| end
 | |
| EOD;
 | |
| }
 | |
| 
 |