aboutsummaryrefslogtreecommitdiffstats
path: root/doc/rspamc.1.md
blob: b28e72609e0a9fd5062ff13a516f55947a006df5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
% RSPAMC(1) Rspamd User Manual

# NAME

rspamc - rspamd command line client

# SYNOPSIS

rspamc [*options*] [*command*] [*input-file*]...

rspamc --help

# DESCRIPTION

Rspamc is a simple client for checking messages using rspamd or for learning rspamd by messages.
Rspamc supports the following commands:

* Scan commands:
	* *symbols*: scan message and show symbols (default command)
* Control commands
	* *learn_spam*: learn message as spam
	* *learn_ham*: learn message as ham
	* *fuzzy_add*: add message to fuzzy storage (check `-f` and `-w` options for this command)
	* *fuzzy_del*: delete message from fuzzy storage (check `-f` option for this command)
	* *stat*: show rspamd statistics
	* *stat_reset*: show and reset rspamd statistics (useful for graphs)
	* *counters*: display rspamd symbols statistics
	* *uptime*: show rspamd uptime
	* *add_symbol*: add or modify symbol settings in rspamd
	* *add_action*: add or modify action settings

Control commands that modifies rspamd state are considered as privileged and basically requires a password
to be specified with `-P` option (see **OPTIONS**, below, for details). 
This depends on a controller's settings and is discussed in `rspamd-workers` page.

`Input files` may be either regular file(s) or a directory to scan. If no files are specified rspamc reads
from the standard input. Controller commands usually does not accept any input, however learn* and fuzzy* commands
requires input. 

# OPTIONS

-h *host[:port]*, \--connect=*host[:port]*
	Specify host and port
	
-P *password*, \--password=*password*
	Specify control password
	
-c *name*, \--classifier=*name*
:	Classifier to learn spam or ham (bayes is used by default)

-w *weight*, \--weight=*weight*
:	Weight for fuzzy operations

-f *number*, \--flag=*number*
:	Flag for fuzzy operations

-p, \--pass
:	Pass all filters

-v, \--verbose
:	More verbose output

-i *ip address*, \--ip=*ip address*
:	Emulate that message was received from specified ip address

-u *username*, \--user=*username*
:	Emulate that message was from specified user

-d *user@domain*, \--deliver=*user@domain*
:	Emulate that message is delivered to specified user

-F *user@domain*, \--from=*user@domain*
:	Emulate that message is from specified user

-r *user@domain*, \--rcpt=*user@domain*
:	Emulate that message is for specified user

\--helo=*helo_string*
:	Imitate SMTP HELO passing from MTA

\--hostname=*hostname*
:	Imitate hostname passing from MTA (rspamd assumes that it is verified by MTA)

-t *seconds*, \--timeout=*seconds*
:	Timeout for waiting for a reply

-b *host:port*, \--bind=*host:port*
:	Bind to specified ip address

\--commands
:	List available commands

# RETURN VALUE

On exit rspamc returns `0` if operation was successfull and an error code otherwise.

# EXAMPLES

Check stdin:

	rspamc < some_file

Check files:
	
	rspamc symbols file1 file2 file3
	
Learn files:

	rspamc -P pass learn_spam file1 file2 file3

Add fuzzy hash to set 2:
	
	rspamc -P pass -f 2 -w 10 fuzzy_add file1 file2
	
Delete fuzzy hash from other server:

	rspamc -P pass -h hostname:11334 -f 2 fuzzy_del file1 file2
	
Get statistics:
	
	rspamc stat

Get uptime:
	
	rspamc uptime

Add custom rule's weight:

	rspamc add_symbol test 1.5
	
Add custom action's weight:

    rspamc add_action reject 7.1
    
# SEE ALSO

Rspamd documentation and source codes may be downloaded from
<https://rspamd.com/>.

[rspamd-workers]: https://rspamd.com/doc/workers/