public
nobgit
read
NobMail
Based on mailcow: dockerized
Languages
Repository composition by tracked source files.
PHP
49%
JavaScript
35%
HTML
9%
CSS
4%
Shell
2%
Python
1%
Lua
0%
Perl
0%
Ruby
0%
SCSS
0%
Create file
Wiki Documentation
Clone
https://nobgit.com/orgs/nobgit/nobmail.git
ssh://[email protected]:2222/orgs/nobgit/nobmail.git
Trace
data/conf/rspamd/local.d/metadata_exporter.conf
Trace helps you understand code history line by line. See who changed each line, when it changed, and which commit introduced it.
Author
Date
Commit
Line
Code
1
rules {
2
QUARANTINE {
3
backend = "http";
4
url = "http://nginx:9081/pipe.php";
5
selector = "reject_no_global_bl";
6
formatter = "multipart";
7
}
8
RLINFO {
9
backend = "http";
10
url = "http://nginx:9081/pipe_rl.php";
11
selector = "ratelimited";
12
formatter = "json";
13
}
14
PUSHOVERMAIL {
15
backend = "http";
16
url = "http://nginx:9081/pushover.php";
17
selector = "mailcow_rcpt";
18
formatter = "multipart";
19
}
20
}
22
custom_select {
23
mailcow_rcpt = <<EOD
24
return function(task)
25
local action = task:get_metric_action('default')
26
if task:has_symbol('NO_LOG_STAT') or (action == 'soft reject' or action == 'reject' or action == 'add header' or action == 'rewrite subject') then
27
return false
28
else
29
if task:get_symbol("RCPT_MAILCOW_DOMAIN") then
30
return true
31
end
32
return false
33
end
34
end
35
EOD;
36
ratelimited = <<EOD
37
return function(task)
38
local ratelimited = task:get_symbol("RATELIMITED")
39
if ratelimited then
40
return true
41
end
42
return false
43
end
44
EOD;
45
reject_no_global_bl = <<EOD
46
return function(task)
47
if not task:has_symbol('GLOBAL_SMTP_FROM_BL')
48
and not task:has_symbol('GLOBAL_MIME_FROM_BL')
49
and not task:has_symbol('LOCAL_BL_ASN')
50
and not task:has_symbol('GLOBAL_RCPT_BL')
51
and not task:has_symbol('BAD_SUBJECT_00')
52
and not task:has_symbol('MAILCOW_BLACK') then
53
local action = task:get_metric_action('default')
54
if action == 'reject' or action == 'add header' or action == 'rewrite subject' then
55
return true
56
end
57
end
58
return false
59
end
60
EOD;
61
}
63
custom_format {
64
msgid = <<EOD
65
return function(task)
66
return task:get_message_id()
67
end
68
EOD;
69
}