aboutsummaryrefslogtreecommitdiffstats
path: root/doc/why-rspamd.html
blob: aceb1228c18f0620a3f40858afc6a2193702a1ec (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
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
<html><head><title>&#1060;&#1080;&#1083;&#1100;&#1090;&#1088;&#1072;&#1094;&#1080;&#1103; &#1089;&#1087;&#1072;&#1084;&#1072; &#1087;&#1088;&#1080; &#1087;&#1086;&#1084;&#1086;&#1097;&#1080; &#1089;&#1080;&#1089;&#1090;&#1077;&#1084;&#1099; rspamd.</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" >
</head>
<body class='pod'>
<!--
  generated by Pod::Simple::HTML v3.13,
  using Pod::Simple::PullParser v3.13,
  under Perl v5.010000 at Thu Feb  4 17:55:58 2010 GMT.

 If you want to change this HTML document, you probably shouldn't do that
   by changing it directly.  Instead, see about changing the calling options
   to Pod::Simple::HTML, and/or subclassing Pod::Simple::HTML,
   then reconverting this document from the Pod source.
   When in doubt, email the author of Pod::Simple::HTML for advice.
   See 'perldoc Pod::Simple::HTML' for more info.

-->

<!-- start doc -->
<a name='___top' class='dummyTopAnchor' ></a>

<h1><a class='u' href='#___top' title='click to go to top of document'
name="(1060)(1080)(1083)(1100)(1090)(1088)(1072)(1094)(1080)(1103)_(1089)(1087)(1072)(1084)(1072)_(1087)(1088)(1080)_(1087)(1086)(1084)(1086)(1097)(1080)_(1089)(1080)(1089)(1090)(1077)(1084)(1099)_rspamd."
>&#1060;&#1080;&#1083;&#1100;&#1090;&#1088;&#1072;&#1094;&#1080;&#1103; &#1089;&#1087;&#1072;&#1084;&#1072; &#1087;&#1088;&#1080; &#1087;&#1086;&#1084;&#1086;&#1097;&#1080; &#1089;&#1080;&#1089;&#1090;&#1077;&#1084;&#1099; rspamd.</a></h1>

<h2><a class='u' href='#___top' title='click to go to top of document'
name="1._(1048)(1089)(1090)(1086)(1088)(1080)(1103)_(1080)_(1087)(1088)(1077)(1076)(1087)(1086)(1089)(1099)(1083)(1082)(1080)_(1089)(1086)(1079)(1076)(1072)(1085)(1080)(1103)."
>1.
&#1048;&#1089;&#1090;&#1086;&#1088;&#1080;&#1103; &#1080; &#1087;&#1088;&#1077;&#1076;&#1087;&#1086;&#1089;&#1099;&#1083;&#1082;&#1080; &#1089;&#1086;&#1079;&#1076;&#1072;&#1085;&#1080;&#1103;.</a></h2>

<p>&#1052;&#1099; &#1076;&#1086;&#1083;&#1075;&#1086;&#1077; &#1074;&#1088;&#1077;&#1084;&#1103; &#1080;&#1089;&#1087;&#1086;&#1083;&#1100;&#1079;&#1086;&#1074;&#1072;&#1083;&#1080; &#1076;&#1083;&#1103; &#1092;&#1080;&#1083;&#1100;&#1090;&#1088;&#1072;&#1094;&#1080;&#1080; &#1089;&#1087;&#1072;&#1084;&#1072; spamassassin,
&#1086;&#1076;&#1085;&#1072;&#1082;&#1086;,
&#1087;&#1088;&#1080; &#1085;&#1072;&#1096;&#1080;&#1093; &#1086;&#1073;&#1098;&#1077;&#1084;&#1072;&#1093; &#1087;&#1086;&#1095;&#1090;&#1086;&#1074;&#1086;&#1075;&#1086; &#1090;&#1088;&#1072;&#1092;&#1080;&#1082;&#1072; (9-10 &#1084;&#1080;&#1083;&#1083;&#1080;&#1086;&#1085;&#1086;&#1074; &#1087;&#1080;&#1089;&#1077;&#1084; &#1074; &#1089;&#1091;&#1090;&#1082;&#1080;) spamassassin &#1085;&#1077; &#1086;&#1073;&#1077;&#1089;&#1087;&#1077;&#1095;&#1080;&#1074;&#1072;&#1083; &#1076;&#1086;&#1089;&#1090;&#1072;&#1090;&#1086;&#1095;&#1085;&#1086;&#1081; &#1087;&#1088;&#1086;&#1080;&#1079;&#1074;&#1086;&#1076;&#1080;&#1090;&#1077;&#1083;&#1100;&#1085;&#1086;&#1089;&#1090;&#1080;.
&#1055;&#1086;&#1089;&#1083;&#1077; &#1072;&#1085;&#1072;&#1083;&#1080;&#1079;&#1072; &#1080;&#1089;&#1093;&#1086;&#1076;&#1085;&#1086;&#1075;&#1086; &#1082;&#1086;&#1076;&#1072; &#1080; &#1087;&#1088;&#1080;&#1085;&#1094;&#1080;&#1087;&#1086;&#1074; &#1088;&#1072;&#1073;&#1086;&#1090;&#1099; &#1073;&#1099;&#1083;&#1086; &#1074;&#1099;&#1103;&#1074;&#1083;&#1077;&#1085;&#1099; &#1089;&#1083;&#1077;&#1076;&#1091;&#1102;&#1097;&#1080;&#1077; &#34;&#1074;&#1088;&#1086;&#1078;&#1076;&#1077;&#1085;&#1085;&#1099;&#1077;&#34; &#1087;&#1088;&#1086;&#1073;&#1083;&#1077;&#1084;&#1099; SA:</p>

<ul>
<li>&#1086;&#1073;&#1088;&#1072;&#1073;&#1086;&#1090;&#1082;&#1072; &#1087;&#1080;&#1089;&#1100;&#1084;&#1072; &#1086;&#1089;&#1091;&#1097;&#1077;&#1089;&#1090;&#1074;&#1083;&#1103;&#1077;&#1090;&#1089;&#1103; &#1085;&#1072;&#1073;&#1086;&#1088;&#1086;&#1084; &#1088;&#1077;&#1075;&#1091;&#1083;&#1103;&#1088;&#1085;&#1099;&#1093; &#1074;&#1099;&#1088;&#1072;&#1078;&#1077;&#1085;&#1080;&#1081;,
&#1086;&#1076;&#1085;&#1072;&#1082;&#1086;,
&#1082;&#1086;&#1083;&#1080;&#1095;&#1077;&#1089;&#1090;&#1074;&#1086; &#1101;&#1090;&#1080;&#1093; &#1074;&#1099;&#1088;&#1072;&#1078;&#1077;&#1085;&#1080;&#1081; &#1089;&#1083;&#1080;&#1096;&#1082;&#1086;&#1084; &#1074;&#1077;&#1083;&#1080;&#1082;&#1086; &#1080; &#1103;&#1074;&#1083;&#1103;&#1077;&#1090;&#1089;&#1103; &#1082;&#1083;&#1102;&#1095;&#1077;&#1074;&#1099;&#1084; &#1084;&#1086;&#1084;&#1077;&#1085;&#1090;&#1086;&#1084; &#1079;&#1072;&#1076;&#1091;&#1084;&#1095;&#1080;&#1074;&#1086;&#1089;&#1090;&#1080; SA (&#1085;&#1072;&#1087;&#1088;&#1080;&#1084;&#1077;&#1088;,
&#1076;&#1083;&#1103; &#1080;&#1079;&#1074;&#1083;&#1077;&#1095;&#1077;&#1085;&#1080;&#1103; received &#1079;&#1072;&#1075;&#1086;&#1083;&#1086;&#1074;&#1082;&#1086;&#1074; &#1087;&#1080;&#1089;&#1100;&#1084;&#1072;,
SA &#1087;&#1088;&#1086;&#1074;&#1077;&#1088;&#1103;&#1077;&#1090; &#1086;&#1085;&#1099;&#1077; &#1085;&#1072; &#1089;&#1086;&#1086;&#1090;&#1074;&#1077;&#1090;&#1089;&#1090;&#1074;&#1080;&#1077; &#1074;&#1089;&#1077;&#1084; &#1077;&#1084;&#1091; &#1080;&#1079;&#1074;&#1077;&#1089;&#1090;&#1085;&#1099;&#1084; MTA,
&#1086;&#1095;&#1077;&#1074;&#1080;&#1076;&#1085;&#1086;,
&#1095;&#1090;&#1086; &#1090;&#1072;&#1082;&#1086;&#1077; &#1076;&#1077;&#1081;&#1089;&#1090;&#1074;&#1080;&#1077; &#1085;&#1077; &#1103;&#1074;&#1083;&#1103;&#1077;&#1090;&#1089;&#1103; &#1086;&#1087;&#1090;&#1080;&#1084;&#1072;&#1083;&#1100;&#1085;&#1099;&#1084;);</li>

<li>&#1085;&#1077;&#1090; &#1074;&#1086;&#1079;&#1084;&#1086;&#1078;&#1085;&#1086;&#1089;&#1090;&#1080; &#1103;&#1074;&#1085;&#1086; &#1087;&#1086;&#1083;&#1091;&#1095;&#1080;&#1090;&#1100; ip &#1072;&#1076;&#1088;&#1077;&#1089;,
&#1089; &#1082;&#1086;&#1090;&#1086;&#1088;&#1086;&#1075;&#1086; &#1085;&#1072;&#1084; &#1086;&#1090;&#1087;&#1088;&#1072;&#1074;&#1080;&#1083;&#1080; &#1087;&#1080;&#1089;&#1100;&#1084;&#1086; (&#1074; SA &#1101;&#1090;&#1086; &#1076;&#1077;&#1083;&#1072;&#1077;&#1090;&#1089;&#1103; &#1087;&#1072;&#1088;&#1089;&#1086;&#1084; received &#1079;&#1072;&#1075;&#1086;&#1083;&#1086;&#1074;&#1082;&#1086;&#1074;,
&#1095;&#1090;&#1086; &#1103; &#1083;&#1080;&#1095;&#1085;&#1086; &#1085;&#1077; &#1089;&#1095;&#1080;&#1090;&#1072;&#1102; &#1087;&#1088;&#1072;&#1074;&#1080;&#1083;&#1100;&#1085;&#1099;&#1084;,
&#1072; &#1090;&#1077;&#1084; &#1073;&#1086;&#1083;&#1077;&#1077; &#1086;&#1087;&#1090;&#1080;&#1084;&#1072;&#1083;&#1100;&#1085;&#1099;&#1084; &#1089;&#1087;&#1086;&#1089;&#1086;&#1073;&#1086;&#1084;,
&#1090;&#1072;&#1082; &#1082;&#1072;&#1082; MTA &#1074;&#1089;&#1077;&#1075;&#1076;&#1072; &#1079;&#1085;&#1072;&#1077;&#1090;,
&#1086;&#1090;&#1082;&#1091;&#1076;&#1072; &#1077;&#1084;&#1091; &#1087;&#1088;&#1080;&#1096;&#1083;&#1086; &#1076;&#1072;&#1085;&#1085;&#1086;&#1077; &#1087;&#1080;&#1089;&#1100;&#1084;&#1086;)</li>

<li>&#1085;&#1077;&#1090; &#1074;&#1086;&#1079;&#1084;&#1086;&#1078;&#1085;&#1086;&#1089;&#1090;&#1080; &#1087;&#1077;&#1088;&#1077;&#1076;&#1072;&#1095;&#1080; &#1089;&#1087;&#1072;&#1084; &#1092;&#1080;&#1083;&#1100;&#1090;&#1088;&#1091; &#1076;&#1072;&#1085;&#1085;&#1099;&#1093; SMTP &#1076;&#1080;&#1072;&#1083;&#1086;&#1075;&#1072;</li>

<li>MIME &#1087;&#1072;&#1088;&#1089;&#1080;&#1085;&#1075; &#1087;&#1080;&#1089;&#1077;&#1084; &#1086;&#1095;&#1077;&#1085;&#1100; &#1084;&#1077;&#1076;&#1083;&#1077;&#1085;&#1085;&#1099;&#1081;,
&#1090;&#1072;&#1082; &#1082;&#1072;&#1082; &#1086;&#1087;&#1103;&#1090;&#1100; &#1078;&#1077; &#1089;&#1076;&#1077;&#1083;&#1072;&#1085; &#1085;&#1072; &#1073;&#1072;&#1079;&#1077; &#1088;&#1077;&#1075;&#1091;&#1083;&#1103;&#1088;&#1085;&#1099;&#1093; &#1074;&#1099;&#1088;&#1072;&#1078;&#1077;&#1085;&#1080;&#1081;</li>
</ul>

<p>&#1042; &#1080;&#1090;&#1086;&#1075;&#1077; &#1084;&#1086;&#1078;&#1085;&#1086; &#1089;&#1082;&#1072;&#1079;&#1072;&#1090;&#1100;,
&#1095;&#1090;&#1086; &#1086;&#1089;&#1085;&#1086;&#1074;&#1085;&#1072;&#1103; &#1087;&#1088;&#1086;&#1073;&#1083;&#1077;&#1084;&#1072; SA - &#1101;&#1090;&#1086; &#1080;&#1079;&#1083;&#1080;&#1096;&#1085;&#1103;&#1103; &#1091;&#1074;&#1083;&#1077;&#1095;&#1077;&#1085;&#1085;&#1086;&#1089;&#1090;&#1100; &#1072;&#1074;&#1090;&#1086;&#1088;&#1086;&#1074; &#1088;&#1077;&#1075;&#1091;&#1083;&#1103;&#1088;&#1085;&#1099;&#1084;&#1080; &#1074;&#1099;&#1088;&#1072;&#1078;&#1077;&#1085;&#1080;&#1103;&#1084;&#1080; &#1080; &#1086;&#1090;&#1089;&#1091;&#1090;&#1089;&#1090;&#1074;&#1080;&#1077; &#1086;&#1087;&#1090;&#1080;&#1084;&#1080;&#1079;&#1072;&#1094;&#1080;&#1080;.
&#1042; &#1080;&#1090;&#1086;&#1075;&#1077;,
&#1074; &#1082;&#1072;&#1095;&#1077;&#1089;&#1090;&#1074;&#1077; &#1073;&#1072;&#1079;&#1086;&#1074;&#1099;&#1093; &#1087;&#1088;&#1080;&#1085;&#1094;&#1080;&#1087;&#1086;&#1074; &#1089;&#1086;&#1079;&#1076;&#1072;&#1085;&#1080;&#1103; rspamd &#1073;&#1099;&#1083;&#1080; &#1087;&#1088;&#1080;&#1085;&#1094;&#1080;&#1087;&#1099; &#1086;&#1087;&#1090;&#1080;&#1084;&#1080;&#1079;&#1072;&#1094;&#1080;&#1080; &#1074;&#1088;&#1077;&#1084;&#1077;&#1085;&#1080; &#1086;&#1073;&#1088;&#1072;&#1073;&#1086;&#1090;&#1082;&#1080; &#1087;&#1080;&#1089;&#1077;&#1084;,
&#1074; &#1095;&#1080;&#1089;&#1083;&#1077; &#1082;&#1086;&#1090;&#1086;&#1088;&#1099;&#1093;:</p>

<ul>
<li>&#1087;&#1086;&#1083;&#1085;&#1086;&#1089;&#1090;&#1100;&#1102; &#1072;&#1089;&#1080;&#1085;&#1093;&#1088;&#1086;&#1085;&#1085;&#1072;&#1103; &#1088;&#1072;&#1073;&#1086;&#1090;&#1072; &#1089; &#1089;&#1077;&#1090;&#1100;&#1102; (&#1085;&#1072; &#1073;&#1072;&#1079;&#1077; libevent),
&#1074; &#1090;&#1086;&#1084; &#1095;&#1080;&#1089;&#1083;&#1077; DNS &#1079;&#1072;&#1087;&#1088;&#1086;&#1089;&#1099; &#1080; &#1088;&#1072;&#1073;&#1086;&#1090;&#1072; &#1089; http</li>

<li>&#1073;&#1099;&#1089;&#1090;&#1088;&#1099;&#1077; &#1084;&#1077;&#1093;&#1072;&#1085;&#1080;&#1079;&#1084;&#1099; &#1074;&#1099;&#1076;&#1077;&#1083;&#1077;&#1085;&#1080;&#1103; &#1087;&#1072;&#1084;&#1103;&#1090;&#1080;</li>

<li>&#1082;&#1086;&#1084;&#1087;&#1080;&#1083;&#1103;&#1094;&#1080;&#1103; &#1074;&#1089;&#1077;&#1093; &#1088;&#1077;&#1075;&#1091;&#1083;&#1103;&#1088;&#1085;&#1099;&#1093; &#1074;&#1099;&#1088;&#1072;&#1078;&#1077;&#1085;&#1080;&#1081; &#1080; &#1074;&#1099;&#1079;&#1086;&#1074; &#1090;&#1086;&#1083;&#1100;&#1082;&#1086; &#1090;&#1077;&#1093; &#1080;&#1079; &#1085;&#1080;&#1093;,
&#1082;&#1086;&#1090;&#1086;&#1088;&#1099;&#1077; &#1085;&#1072;&#1080;&#1073;&#1086;&#1083;&#1077;&#1077; &#1074;&#1086;&#1079;&#1084;&#1086;&#1078;&#1085;&#1099; (&#1090;&#1086; &#1077;&#1089;&#1090;&#1100;,
&#1080;&#1084;&#1077;&#1077;&#1090;&#1089;&#1103; &#1084;&#1077;&#1093;&#1072;&#1085;&#1080;&#1079;&#1084; &#1074;&#1077;&#1076;&#1077;&#1085;&#1080;&#1103; &#1089;&#1090;&#1072;&#1090;&#1080;&#1089;&#1090;&#1080;&#1082;&#1080; &#1089;&#1088;&#1072;&#1073;&#1072;&#1090;&#1099;&#1074;&#1072;&#1085;&#1080;&#1103; &#1088;&#1072;&#1079;&#1083;&#1080;&#1095;&#1085;&#1099;&#1093; &#1087;&#1088;&#1072;&#1074;&#1080;&#1083;,
&#1080; &#1087;&#1088;&#1080; &#1086;&#1073;&#1088;&#1072;&#1073;&#1086;&#1090;&#1082;&#1077; &#1089;&#1083;&#1077;&#1076;&#1091;&#1102;&#1097;&#1077;&#1075;&#1086; &#1087;&#1080;&#1089;&#1100;&#1084;&#1072; &#1091;&#1095;&#1080;&#1090;&#1099;&#1074;&#1072;&#1077;&#1090;&#1089;&#1103; &#1086;&#1073;&#1088;&#1072;&#1073;&#1086;&#1090;&#1082;&#1072; &#1087;&#1088;&#1077;&#1076;&#1099;&#1076;&#1091;&#1097;&#1080;&#1093;,
&#1095;&#1090;&#1086; &#1087;&#1086;&#1079;&#1074;&#1086;&#1083;&#1103;&#1077;&#1090; &#1084;&#1072;&#1082;&#1089;&#1080;&#1084;&#1072;&#1083;&#1100;&#1085;&#1086; &#1073;&#1099;&#1089;&#1090;&#1088;&#1086; &#1087;&#1088;&#1086;&#1074;&#1077;&#1089;&#1090;&#1080; &#1086;&#1089;&#1085;&#1086;&#1074;&#1085;&#1099;&#1077; &#1090;&#1077;&#1089;&#1090;&#1099;)</li>

<li>&#1088;&#1072;&#1089;&#1096;&#1080;&#1088;&#1103;&#1077;&#1084;&#1072;&#1103; &#1072;&#1088;&#1093;&#1080;&#1090;&#1077;&#1082;&#1090;&#1091;&#1088;&#1072;: &#1074;&#1086;&#1079;&#1084;&#1086;&#1078;&#1085;&#1086;&#1089;&#1090;&#1100; &#1085;&#1072;&#1087;&#1080;&#1089;&#1072;&#1085;&#1080;&#1103; &#1087;&#1083;&#1072;&#1075;&#1080;&#1085;&#1086;&#1074; &#1085;&#1072; &#1089;&#1080;,
lua,
&#1074;&#1086;&#1079;&#1084;&#1086;&#1078;&#1085;&#1086;&#1089;&#1090;&#1100; &#1076;&#1086;&#1073;&#1072;&#1074;&#1083;&#1077;&#1085;&#1080;&#1103; &#1085;&#1086;&#1074;&#1099;&#1093; &#1090;&#1080;&#1087;&#1086;&#1074; &#1092;&#1080;&#1083;&#1100;&#1090;&#1088;&#1086;&#1074;,
&#1088;&#1072;&#1089;&#1096;&#1080;&#1088;&#1077;&#1085;&#1080;&#1081; &#1087;&#1088;&#1086;&#1090;&#1086;&#1082;&#1086;&#1083;&#1072; rspamc,
&#1074;&#1086;&#1079;&#1084;&#1086;&#1078;&#1085;&#1086;&#1089;&#1090;&#1100; &#1076;&#1086;&#1073;&#1072;&#1074;&#1083;&#1077;&#1085;&#1080;&#1103; &#1085;&#1086;&#1074;&#1099;&#1093; &#1090;&#1080;&#1087;&#1086;&#1074; &#1089;&#1090;&#1072;&#1090;&#1080;&#1089;&#1090;&#1080;&#1095;&#1077;&#1089;&#1082;&#1080;&#1093; &#1072;&#1083;&#1075;&#1086;&#1088;&#1080;&#1090;&#1084;&#1086;&#1074;,
&#1072;&#1083;&#1075;&#1086;&#1088;&#1080;&#1090;&#1084;&#1086;&#1074; &#1085;&#1086;&#1088;&#1084;&#1072;&#1083;&#1080;&#1079;&#1072;&#1094;&#1080;&#1080; &#1080; &#1087;&#1072;&#1088;&#1089;&#1080;&#1085;&#1075;&#1072; &#1090;&#1077;&#1082;&#1089;&#1090;&#1086;&#1074;</li>

<li>&#1074;&#1086;&#1079;&#1084;&#1086;&#1078;&#1085;&#1086;&#1089;&#1090;&#1100; &#1076;&#1080;&#1085;&#1072;&#1084;&#1080;&#1095;&#1077;&#1089;&#1082;&#1086;&#1081; &#1079;&#1072;&#1075;&#1088;&#1091;&#1079;&#1082;&#1080; &#1088;&#1072;&#1079;&#1083;&#1080;&#1095;&#1085;&#1099;&#1093; &#1085;&#1072;&#1089;&#1090;&#1088;&#1086;&#1077;&#1082;,
&#1089;&#1087;&#1080;&#1089;&#1082;&#1086;&#1074; ip &#1072;&#1076;&#1088;&#1077;&#1089;&#1086;&#1074; &#1080; &#1087;&#1088;&#1086;&#1095;&#1077;&#1081; &#1080;&#1085;&#1092;&#1086;&#1088;&#1084;&#1072;&#1094;&#1080;&#1080; &#1095;&#1077;&#1088;&#1077;&#1079; HTTP &#1087;&#1088;&#1086;&#1090;&#1086;&#1082;&#1086;&#1083; &#1089; &#1087;&#1086;&#1076;&#1076;&#1077;&#1088;&#1078;&#1082;&#1086;&#1081; &#1076;&#1072;&#1090;&#1099; &#1084;&#1086;&#1076;&#1080;&#1092;&#1080;&#1082;&#1072;&#1094;&#1080;&#1080; &#1090;&#1072;&#1082;&#1080;&#1093; &#1089;&#1087;&#1080;&#1089;&#1082;&#1086;&#1074;</li>

<li>&#1080;&#1089;&#1087;&#1086;&#1083;&#1100;&#1079;&#1086;&#1074;&#1072;&#1085;&#1080;&#1077; &#1074;&#1077;&#1079;&#1076;&#1077;,
&#1075;&#1076;&#1077; &#1074;&#1086;&#1079;&#1084;&#1086;&#1078;&#1085;&#1086;,
&#1089;&#1087;&#1077;&#1094;&#1080;&#1072;&#1083;&#1080;&#1079;&#1080;&#1088;&#1086;&#1074;&#1072;&#1085;&#1085;&#1099;&#1093; &#1082;&#1086;&#1085;&#1077;&#1095;&#1085;&#1099;&#1093; &#1072;&#1074;&#1090;&#1086;&#1084;&#1072;&#1090;&#1086;&#1074; &#1076;&#1083;&#1103; &#1088;&#1072;&#1079;&#1073;&#1086;&#1088;&#1072; &#1080; &#1072;&#1085;&#1072;&#1083;&#1080;&#1079;&#1072; &#1090;&#1077;&#1082;&#1089;&#1090;&#1086;&#1074;</li>

<li>&#1080;&#1089;&#1087;&#1086;&#1083;&#1100;&#1079;&#1086;&#1074;&#1072;&#1085;&#1080;&#1077; &#1073;&#1099;&#1089;&#1090;&#1088;&#1086;&#1075;&#1086; mime &#1087;&#1072;&#1088;&#1089;&#1077;&#1088;&#1072; gmime</li>
</ul>

<p>&#1042; &#1088;&#1077;&#1079;&#1091;&#1083;&#1100;&#1090;&#1072;&#1090;&#1077; &#1087;&#1077;&#1088;&#1077;&#1093;&#1086;&#1076;&#1072; &#1089; SA &#1085;&#1072; rspamd &#1087;&#1086;&#1089;&#1083;&#1077;&#1076;&#1085;&#1080;&#1081; &#1087;&#1086;&#1082;&#1072;&#1079;&#1072;&#1083; &#1074; &#1089;&#1088;&#1077;&#1076;&#1085;&#1077;&#1084; &#1074; 10 &#1088;&#1072;&#1079; &#1073;&#1086;&#1083;&#1077;&#1077; &#1073;&#1099;&#1089;&#1090;&#1088;&#1091;&#1102; &#1086;&#1073;&#1088;&#1072;&#1073;&#1086;&#1090;&#1082;&#1091; &#1089;&#1086;&#1086;&#1073;&#1097;&#1077;&#1085;&#1080;&#1081;.
&#1042; &#1076;&#1072;&#1085;&#1085;&#1099;&#1081; &#1084;&#1086;&#1084;&#1077;&#1085;&#1090; rspamd &#1080;&#1084;&#1077;&#1077;&#1090; &#1089;&#1090;&#1072;&#1090;&#1091;&#1089; &#1073;&#1077;&#1090;&#1072; &#1074;&#1077;&#1088;&#1089;&#1080;&#1080;,
&#1085;&#1086; &#1074;&#1087;&#1086;&#1083;&#1085;&#1077; &#1087;&#1088;&#1080;&#1075;&#1086;&#1076;&#1077;&#1085; &#1076;&#1083;&#1103; &#1088;&#1072;&#1073;&#1086;&#1090;&#1099;.</p>

<h2><a class='u' href='#___top' title='click to go to top of document'
name="2._(1059)(1089)(1090)(1072)(1085)(1086)(1074)(1082)(1072)_(1080)_(1085)(1072)(1089)(1090)(1088)(1086)(1081)(1082)(1072)_rspamd"
>2.
&#1059;&#1089;&#1090;&#1072;&#1085;&#1086;&#1074;&#1082;&#1072; &#1080; &#1085;&#1072;&#1089;&#1090;&#1088;&#1086;&#1081;&#1082;&#1072; rspamd</a></h2>

<p>&#1044;&#1083;&#1103; &#1089;&#1073;&#1086;&#1088;&#1082;&#1080; rspamd &#1074;&#1072;&#1084; &#1087;&#1086;&#1090;&#1088;&#1077;&#1073;&#1091;&#1102;&#1090;&#1089;&#1103;:</p>

<ul>
<li>libevent <a href="http://www.monkey.org/~provos/libevent/" class="podlinkurl"
>http://www.monkey.org/~provos/libevent/</a> - &#1073;&#1080;&#1073;&#1083;&#1080;&#1086;&#1090;&#1077;&#1082;&#1072; &#1076;&#1083;&#1103; &#1072;&#1089;&#1080;&#1085;&#1093;&#1088;&#1086;&#1085;&#1085;&#1086;&#1081; &#1086;&#1073;&#1088;&#1072;&#1073;&#1086;&#1090;&#1082;&#1080; &#1089;&#1086;&#1073;&#1099;&#1090;&#1080;&#1081;</li>

<li>glib <a href="http://library.gnome.org/devel/glib/" class="podlinkurl"
>http://library.gnome.org/devel/glib/</a> - &#1073;&#1080;&#1073;&#1083;&#1080;&#1086;&#1090;&#1077;&#1082;&#1072; &#1086;&#1073;&#1097;&#1077;&#1075;&#1086; &#1085;&#1072;&#1079;&#1085;&#1072;&#1095;&#1077;&#1085;&#1080;&#1103;,
&#1089;&#1086;&#1076;&#1077;&#1088;&#1078;&#1072;&#1097;&#1072;&#1103; &#1084;&#1085;&#1086;&#1075;&#1080;&#1077; &#1074;&#1077;&#1097;&#1080;,
&#1086; &#1082;&#1086;&#1090;&#1086;&#1088;&#1099;&#1093; &#1088;&#1072;&#1079;&#1088;&#1072;&#1073;&#1086;&#1090;&#1095;&#1080;&#1082;&#1080; libc,
&#1091;&#1074;&#1099;,
&#1079;&#1072;&#1073;&#1099;&#1083;&#1080; (glib &#1085;&#1077; &#1103;&#1074;&#1083;&#1103;&#1077;&#1090;&#1089;&#1103; &#1075;&#1088;&#1072;&#1092;&#1080;&#1095;&#1077;&#1089;&#1082;&#1086;&#1081; &#1073;&#1080;&#1073;&#1083;&#1080;&#1086;&#1090;&#1077;&#1082;&#1086;&#1081;,
&#1093;&#1086;&#1090;&#1103; &#1080; &#1080;&#1089;&#1087;&#1086;&#1083;&#1100;&#1079;&#1091;&#1077;&#1090;&#1089;&#1103;,
&#1085;&#1072;&#1087;&#1088;&#1080;&#1084;&#1077;&#1088;,
gtk)</li>

<li>gmime <a href="http://spruce.sourceforge.net/gmime/" class="podlinkurl"
>http://spruce.sourceforge.net/gmime/</a> - MIME &#1087;&#1072;&#1088;&#1089;&#1077;&#1088; &#1085;&#1072; &#1073;&#1072;&#1079;&#1077; &#1073;&#1080;&#1073;&#1083;&#1080;&#1086;&#1090;&#1077;&#1082;&#1080; glib</li>

<li>lua <a href="http://www.lua.org/" class="podlinkurl"
>http://www.lua.org/</a> - &#1074;&#1089;&#1090;&#1088;&#1072;&#1080;&#1074;&#1072;&#1077;&#1084;&#1099;&#1081; &#1089;&#1082;&#1088;&#1080;&#1087;&#1090;&#1086;&#1074;&#1099;&#1081; &#1103;&#1079;&#1099;&#1082; (&#1074; &#1087;&#1088;&#1080;&#1085;&#1094;&#1080;&#1087;&#1077;,
&#1085;&#1072;&#1083;&#1080;&#1095;&#1080;&#1077; lua &#1085;&#1077;&#1086;&#1073;&#1103;&#1079;&#1072;&#1090;&#1077;&#1083;&#1100;&#1085;&#1086;,
&#1085;&#1086; &#1073;&#1077;&#1079; lua &#1084;&#1085;&#1086;&#1075;&#1080;&#1081; &#1092;&#1091;&#1085;&#1082;&#1094;&#1080;&#1086;&#1085;&#1072;&#1083; rspamd &#1086;&#1089;&#1090;&#1072;&#1085;&#1077;&#1090;&#1089;&#1103; &#1085;&#1077;&#1088;&#1077;&#1072;&#1083;&#1080;&#1079;&#1086;&#1074;&#1072;&#1085;&#1085;&#1099;&#1084;)</li>

<li>perl <a href="http://www.perl.org/" class="podlinkurl"
>http://www.perl.org/</a> - &#1085;&#1072; &#1087;&#1077;&#1088;&#1083;&#1077; &#1085;&#1072;&#1087;&#1080;&#1089;&#1072;&#1085;,
&#1085;&#1072;&#1087;&#1088;&#1080;&#1084;&#1077;&#1088;,
&#1082;&#1086;&#1085;&#1089;&#1086;&#1083;&#1100;&#1085;&#1099;&#1081; &#1082;&#1083;&#1080;&#1077;&#1085;&#1090; rspamc,
&#1088;&#1072;&#1089;&#1087;&#1086;&#1079;&#1085;&#1072;&#1074;&#1072;&#1090;&#1077;&#1083;&#1100; &#1088;&#1077;&#1076;&#1080;&#1088;&#1077;&#1082;&#1090;&#1086;&#1074; &#1074; URL&#39;&#1103;&#1093;,
&#1087;&#1086;&#1101;&#1090;&#1086;&#1084;&#1091; &#1085;&#1072;&#1083;&#1080;&#1095;&#1080;&#1077; &#1087;&#1077;&#1088;&#1083;&#1072; &#1074; &#1089;&#1080;&#1089;&#1090;&#1077;&#1084;&#1077; &#1082;&#1088;&#1072;&#1081;&#1085;&#1077; &#1078;&#1077;&#1083;&#1072;&#1090;&#1077;&#1083;&#1100;&#1085;&#1086;</li>

<li>cmake <a href="http://www.cmake.org/" class="podlinkurl"
>http://www.cmake.org/</a> - &#1089;&#1080;&#1089;&#1090;&#1077;&#1084;&#1072; &#1089;&#1073;&#1086;&#1088;&#1082;&#1080;,
&#1082;&#1086;&#1090;&#1086;&#1088;&#1072;&#1103; &#1087;&#1086;&#1079;&#1074;&#1086;&#1083;&#1103;&#1077;&#1090; rspamd &#1089;&#1086;&#1073;&#1080;&#1088;&#1072;&#1090;&#1100;&#1089;&#1103; (&#1087;&#1086; &#1082;&#1088;&#1072;&#1081;&#1085;&#1077;&#1081; &#1084;&#1077;&#1088;&#1077;,
&#1074; &#1090;&#1077;&#1086;&#1088;&#1080;&#1080;) &#1085;&#1072; &#1074;&#1089;&#1077;&#1093; Posix &#1089;&#1086;&#1074;&#1084;&#1077;&#1089;&#1090;&#1080;&#1084;&#1099;&#1093; &#1089;&#1080;&#1089;&#1090;&#1077;&#1084;&#1072;&#1093;.
&#1048;&#1089;&#1087;&#1086;&#1083;&#1100;&#1079;&#1086;&#1074;&#1072;&#1090;&#1100; &#1089;&#1090;&#1072;&#1085;&#1076;&#1072;&#1088;&#1090;&#1085;&#1099;&#1077; &#1074; &#1076;&#1072;&#1085;&#1085;&#1086;&#1081; &#1089;&#1080;&#1090;&#1091;&#1072;&#1094;&#1080;&#1080; autotools &#1103; &#1085;&#1077; &#1089;&#1090;&#1072;&#1083;,
&#1090;&#1072;&#1082; &#1082;&#1072;&#1082; &#1089;&#1095;&#1080;&#1090;&#1072;&#1102; &#1080;&#1093; &#1089;&#1072;&#1084;&#1086;&#1081; &#1085;&#1077;&#1091;&#1076;&#1086;&#1073;&#1085;&#1086;&#1081; &#1074; &#1080;&#1089;&#1087;&#1086;&#1083;&#1100;&#1079;&#1086;&#1074;&#1072;&#1085;&#1080;&#1080; &#1089;&#1080;&#1089;&#1090;&#1077;&#1084;&#1086;&#1081; &#1089;&#1073;&#1086;&#1088;&#1082;&#1080; &#1080;&#1089;&#1093;&#1086;&#1076;&#1085;&#1080;&#1082;&#1086;&#1074;,
&#1082;&#1086;&#1090;&#1086;&#1088;&#1091;&#1102; &#1084;&#1086;&#1078;&#1085;&#1086; &#1090;&#1086;&#1083;&#1100;&#1082;&#1086; &#1087;&#1088;&#1080;&#1076;&#1091;&#1084;&#1072;&#1090;&#1100;.</li>

<li>mercurial <a href="http://mercurial.selenic.com/" class="podlinkurl"
>http://mercurial.selenic.com/</a> - &#1089;&#1080;&#1089;&#1090;&#1077;&#1084;&#1072; &#1091;&#1087;&#1088;&#1072;&#1074;&#1083;&#1077;&#1085;&#1080;&#1103; &#1074;&#1077;&#1088;&#1089;&#1080;&#1103;&#1084;&#1080; (SCM),
&#1080;&#1089;&#1087;&#1086;&#1083;&#1100;&#1079;&#1091;&#1077;&#1084;&#1072;&#1103; &#1076;&#1083;&#1103; &#1088;&#1072;&#1079;&#1088;&#1072;&#1073;&#1086;&#1090;&#1082;&#1080; rspamd.
&#1058;&#1072;&#1082; &#1082;&#1072;&#1082; &#1074; &#1085;&#1072;&#1089;&#1090;&#1086;&#1103;&#1097;&#1077;&#1077; &#1074;&#1088;&#1077;&#1084;&#1103; rspamd &#1085;&#1072;&#1093;&#1086;&#1076;&#1080;&#1090;&#1089;&#1103; &#1074; &#1089;&#1086;&#1089;&#1090;&#1086;&#1103;&#1085;&#1080;&#1080; &#1073;&#1077;&#1090;&#1072;-&#1074;&#1077;&#1088;&#1089;&#1080;&#1080;,
&#1090;&#1086; &#1088;&#1077;&#1083;&#1080;&#1079;&#1099; &#1074;&#1099;&#1093;&#1086;&#1076;&#1103;&#1090; &#1085;&#1077;&#1095;&#1072;&#1089;&#1090;&#1086; &#1080; &#1079;&#1072;&#1095;&#1072;&#1089;&#1090;&#1091;&#1102; &#1103;&#1074;&#1083;&#1103;&#1102;&#1090;&#1089;&#1103; &#1084;&#1077;&#1085;&#1077;&#1077; &#1089;&#1090;&#1072;&#1073;&#1080;&#1083;&#1100;&#1085;&#1099;&#1084;&#1080;,
&#1095;&#1077;&#1084; &#1090;&#1077;&#1082;&#1091;&#1097;&#1072;&#1103; &#1074;&#1077;&#1088;&#1089;&#1080;&#1103; &#1074; &#1088;&#1077;&#1087;&#1086;&#1079;&#1080;&#1090;&#1086;&#1088;&#1080;&#1080;,
&#1087;&#1086;&#1101;&#1090;&#1086;&#1084;&#1091; &#1076;&#1083;&#1103; &#1091;&#1089;&#1090;&#1072;&#1085;&#1086;&#1074;&#1082;&#1080; rspamd &#1083;&#1091;&#1095;&#1096;&#1077; &#1080;&#1089;&#1087;&#1086;&#1083;&#1100;&#1079;&#1086;&#1074;&#1072;&#1090;&#1100; &#1074;&#1077;&#1088;&#1089;&#1080;&#1102; &#1085;&#1077;&#1087;&#1086;&#1089;&#1088;&#1077;&#1076;&#1089;&#1090;&#1074;&#1077;&#1085;&#1085;&#1086; &#1080;&#1079; &#1088;&#1077;&#1087;&#1086;&#1079;&#1080;&#1090;&#1086;&#1088;&#1080;&#1103;.</li>
</ul>

<p>&#1055;&#1086;&#1089;&#1083;&#1077; &#1091;&#1089;&#1090;&#1072;&#1085;&#1086;&#1074;&#1082;&#1080; &#1074;&#1089;&#1077;&#1093; &#1090;&#1088;&#1077;&#1073;&#1091;&#1077;&#1084;&#1099;&#1093; &#1087;&#1088;&#1086;&#1075;&#1088;&#1072;&#1084;&#1084; &#1080; &#1073;&#1080;&#1073;&#1083;&#1080;&#1086;&#1090;&#1077;&#1082; &#1084;&#1086;&#1078;&#1085;&#1086; &#1087;&#1088;&#1080;&#1089;&#1090;&#1091;&#1087;&#1080;&#1090;&#1100; &#1085;&#1077;&#1087;&#1086;&#1089;&#1088;&#1077;&#1076;&#1089;&#1090;&#1074;&#1077;&#1085;&#1085;&#1086; &#1082; &#1091;&#1089;&#1090;&#1072;&#1085;&#1086;&#1074;&#1082;&#1077; rspamd.</p>

<dl>
<dt><a name="1_(1089)(1082)(1072)(1095)(1080)(1074)(1072)(1077)(1084)_(1090)(1077)(1082)(1091)(1097)(1077)(1077)_(1089)(1086)(1089)(1090)(1086)(1103)(1085)(1080)(1077)_(1088)(1077)(1087)(1086)(1079)(1080)(1090)(1086)(1088)(1080)(1103):_$_hg_clone_http://rspamd.hg.sourceforge.net:8000/hgroot/rspamd/rspamd"
>1 &#1089;&#1082;&#1072;&#1095;&#1080;&#1074;&#1072;&#1077;&#1084; &#1090;&#1077;&#1082;&#1091;&#1097;&#1077;&#1077; &#1089;&#1086;&#1089;&#1090;&#1086;&#1103;&#1085;&#1080;&#1077; &#1088;&#1077;&#1087;&#1086;&#1079;&#1080;&#1090;&#1086;&#1088;&#1080;&#1103;: $ hg clone http://rspamd.hg.sourceforge.net:8000/hgroot/rspamd/rspamd</a></dt>

<dd>
<dt><a 
>2 &#1082;&#1086;&#1085;&#1092;&#1080;&#1075;&#1091;&#1088;&#1080;&#1088;&#1091;&#1077;&#1084; rspamd: $ cd rspamd &#38;&#38; cmake .
(&#1087;&#1088;&#1080; &#1085;&#1077;&#1086;&#1073;&#1093;&#1086;&#1076;&#1080;&#1084;&#1086;&#1089;&#1090;&#1080; &#1080;&#1079;&#1084;&#1077;&#1085;&#1080;&#1090;&#1100; &#1087;&#1072;&#1088;&#1072;&#1084;&#1077;&#1090;&#1088;&#1099; &#1084;&#1086;&#1078;&#1085;&#1086; &#1074;&#1085;&#1072;&#1095;&#1072;&#1083;&#1077; &#1074;&#1086;&#1089;&#1087;&#1086;&#1083;&#1100;&#1079;&#1086;&#1074;&#1072;&#1090;&#1100;&#1089;&#1103; &#1082;&#1086;&#1084;&#1072;&#1085;&#1076;&#1086;&#1081; ccmake .)</a></dt>

<dd>
<dt><a name="3_(1089)(1086)(1073)(1080)(1088)(1072)(1077)(1084):_$_make"
>3 &#1089;&#1086;&#1073;&#1080;&#1088;&#1072;&#1077;&#1084;: $ make</a></dt>

<dd>
<dt><a name="4_(1091)(1089)(1090)(1072)(1085)(1072)(1074)(1083)(1080)(1074)(1072)(1077)(1084):_#_make_install"
>4 &#1091;&#1089;&#1090;&#1072;&#1085;&#1072;&#1074;&#1083;&#1080;&#1074;&#1072;&#1077;&#1084;: # make install</a></dt>
</dl>

<h3><a class='u' href='#___top' title='click to go to top of document'
name="(1050)(1086)(1085)(1092)(1080)(1075)(1091)(1088)(1080)(1088)(1086)(1074)(1072)(1085)(1080)(1077)"
>&#1050;&#1086;&#1085;&#1092;&#1080;&#1075;&#1091;&#1088;&#1080;&#1088;&#1086;&#1074;&#1072;&#1085;&#1080;&#1077;</a></h3>

<p>&#1042; &#1087;&#1088;&#1086;&#1094;&#1077;&#1089;&#1089;&#1077; &#1091;&#1089;&#1090;&#1072;&#1085;&#1086;&#1074;&#1082;&#1080; &#1089;&#1090;&#1072;&#1074;&#1103;&#1090;&#1089;&#1103; &#1082;&#1086;&#1085;&#1092;&#1080;&#1075;&#1091;&#1088;&#1072;&#1094;&#1080;&#1086;&#1085;&#1085;&#1099;&#1077; &#1092;&#1072;&#1081;&#1083;&#1099; &#1087;&#1086; &#1091;&#1084;&#1086;&#1083;&#1095;&#1072;&#1085;&#1080;&#1102; &#1074; &#1082;&#1072;&#1090;&#1072;&#1083;&#1086;&#1075; {PREFIX}/etc.
&#1055;&#1088;&#1080; &#1101;&#1090;&#1086;&#1084;,
&#1074; &#1082;&#1072;&#1090;&#1072;&#1083;&#1086;&#1075; etc/rspamd &#1091;&#1089;&#1090;&#1072;&#1085;&#1072;&#1074;&#1083;&#1080;&#1074;&#1072;&#1102;&#1090;&#1089;&#1103; &#1087;&#1088;&#1072;&#1074;&#1080;&#1083;&#1072; &#1087;&#1086; &#1091;&#1084;&#1086;&#1083;&#1095;&#1072;&#1085;&#1080;&#1102; (headers,
html,
drugs,
loto &#1080;.&#1090;.&#1087;.),
&#1072; &#1074; &#1082;&#1072;&#1090;&#1072;&#1083;&#1086;&#1075; etc/rspamd.conf.sample &#1091;&#1089;&#1090;&#1072;&#1085;&#1072;&#1074;&#1083;&#1080;&#1074;&#1072;&#1077;&#1090;&#1089;&#1103; &#1082;&#1086;&#1085;&#1092;&#1080;&#1075;&#1091;&#1088;&#1072;&#1094;&#1080;&#1086;&#1085;&#1085;&#1099;&#1081; &#1092;&#1072;&#1081;&#1083; &#1087;&#1086; &#1091;&#1084;&#1086;&#1083;&#1095;&#1072;&#1085;&#1080;&#1102;.
&#1045;&#1075;&#1086; &#1084;&#1086;&#1078;&#1085;&#1086; &#1089;&#1082;&#1086;&#1087;&#1080;&#1088;&#1086;&#1074;&#1072;&#1090;&#1100; &#1074; &#1092;&#1072;&#1081;&#1083; etc/rspamd.conf &#1080; &#1086;&#1090;&#1088;&#1077;&#1076;&#1072;&#1082;&#1090;&#1080;&#1088;&#1086;&#1074;&#1072;&#1090;&#1100; &#1074; &#1089;&#1086;&#1086;&#1090;&#1074;&#1077;&#1090;&#1089;&#1090;&#1074;&#1080;&#1080; &#1089; &#1089;&#1086;&#1073;&#1089;&#1090;&#1074;&#1077;&#1085;&#1085;&#1099;&#1084;&#1080; &#1087;&#1088;&#1077;&#1076;&#1087;&#1086;&#1095;&#1090;&#1077;&#1085;&#1080;&#1103;&#1084;&#1080;.
&#1050;&#1086;&#1085;&#1092;&#1080;&#1075;&#1091;&#1088;&#1072;&#1094;&#1080;&#1086;&#1085;&#1085;&#1099;&#1081; &#1092;&#1072;&#1081;&#1083; &#1087;&#1086; &#1091;&#1084;&#1086;&#1083;&#1095;&#1072;&#1085;&#1080;&#1102; &#1089;&#1085;&#1072;&#1073;&#1078;&#1077;&#1085; &#1082;&#1086;&#1084;&#1084;&#1077;&#1085;&#1090;&#1072;&#1088;&#1080;&#1103;&#1084;&#1080; &#1082; &#1082;&#1072;&#1078;&#1076;&#1086;&#1081; &#1076;&#1080;&#1088;&#1077;&#1082;&#1090;&#1080;&#1074;&#1077;,
&#1072; &#1090;&#1072;&#1082;&#1078;&#1077; &#1087;&#1086;&#1076;&#1088;&#1086;&#1073;&#1085;&#1086; &#1086;&#1087;&#1080;&#1089;&#1072;&#1085; &#1074; &#1076;&#1086;&#1082;&#1091;&#1084;&#1077;&#1085;&#1090;&#1072;&#1094;&#1080;&#1080; &#1082; rspamd,
&#1085;&#1072;&#1093;&#1086;&#1076;&#1103;&#1097;&#1077;&#1081;&#1089;&#1103; &#1074; &#1082;&#1072;&#1090;&#1072;&#1083;&#1086;&#1075;&#1077; &#1080;&#1089;&#1093;&#1086;&#1076;&#1085;&#1080;&#1082;&#1086;&#1074; doc/rspamd.pdf.
&#1042; &#1076;&#1072;&#1085;&#1085;&#1086;&#1084; &#1078;&#1077; &#1088;&#1091;&#1082;&#1086;&#1074;&#1086;&#1076;&#1089;&#1090;&#1074;&#1077; &#1087;&#1086;&#1076;&#1088;&#1086;&#1073;&#1085;&#1086; &#1080;&#1079;&#1083;&#1086;&#1078;&#1077;&#1085; &#1087;&#1088;&#1080;&#1085;&#1094;&#1080;&#1087; &#1088;&#1072;&#1073;&#1086;&#1090;&#1099; rspamd &#1080; &#1085;&#1072;&#1089;&#1090;&#1088;&#1086;&#1081;&#1082;&#1080; &#1074;&#1089;&#1077;&#1093; &#1084;&#1086;&#1076;&#1091;&#1083;&#1077;&#1081; &#1089;&#1080;&#1089;&#1090;&#1077;&#1084;&#1099;.
&#1044;&#1083;&#1103; &#1073;&#1072;&#1079;&#1086;&#1074;&#1086;&#1081; &#1088;&#1072;&#1073;&#1086;&#1090;&#1099; &#1076;&#1086;&#1089;&#1090;&#1072;&#1090;&#1086;&#1095;&#1085;&#1086; &#1080;&#1089;&#1087;&#1088;&#1072;&#1074;&#1080;&#1090;&#1100; &#1087;&#1091;&#1090;&#1080; &#1082; &#1092;&#1072;&#1081;&#1083;&#1072;&#1084; &#1083;&#1086;&#1075;&#1086;&#1074;,
&#1087;&#1080;&#1076;&#1092;&#1072;&#1081;&#1083;&#1091;,
&#1072; &#1090;&#1072;&#1082;&#1078;&#1077; &#1086;&#1073;&#1088;&#1072;&#1090;&#1080;&#1090;&#1100; &#1074;&#1085;&#1080;&#1084;&#1072;&#1085;&#1080;&#1077; &#1085;&#1072; &#1088;&#1072;&#1079;&#1076;&#1077;&#1083;&#1099; factors &#1080; classifiers.
&#1054;&#1089;&#1090;&#1072;&#1085;&#1086;&#1074;&#1083;&#1102;&#1089;&#1100; &#1085;&#1072; &#1101;&#1090;&#1086;&#1084; &#1085;&#1077;&#1089;&#1082;&#1086;&#1083;&#1100;&#1082;&#1086; &#1087;&#1086;&#1076;&#1088;&#1086;&#1073;&#1085;&#1077;&#1077;.</p>

<p>&#1042;&#1089;&#1077; &#1076;&#1080;&#1088;&#1077;&#1082;&#1090;&#1080;&#1074;&#1099; rspamd &#1080;&#1084;&#1077;&#1102;&#1090; &#1092;&#1086;&#1088;&#1084;&#1072;&#1090; param = value; &#1075;&#1076;&#1077; &#1089;&#1080;&#1084;&#1074;&#1086;&#1083; &#39;;&#39; &#1103;&#1074;&#1083;&#1103;&#1077;&#1090;&#1089;&#1103; &#1087;&#1088;&#1080;&#1079;&#1085;&#1072;&#1082;&#1086;&#1084; &#1086;&#1082;&#1086;&#1085;&#1095;&#1072;&#1085;&#1080;&#1103; &#1076;&#1080;&#1088;&#1077;&#1082;&#1090;&#1080;&#1074;&#1099;.
&#1058;&#1072;&#1082;&#1078;&#1077; &#1092;&#1072;&#1081;&#1083; &#1088;&#1072;&#1079;&#1073;&#1080;&#1090; &#1085;&#1072; &#1089;&#1077;&#1082;&#1094;&#1080;&#1080;,
&#1082;&#1072;&#1078;&#1076;&#1072;&#1103; &#1089;&#1077;&#1082;&#1094;&#1080;&#1103; &#1080;&#1084;&#1077;&#1077;&#1090; &#1080;&#1084;&#1103; (&#1085;&#1072;&#1087;&#1088;&#1080;&#1084;&#1077;&#1088; worker {}) &#1080; &#1074;&#1085;&#1091;&#1090;&#1088;&#1077;&#1085;&#1085;&#1080;&#1077; &#1076;&#1080;&#1088;&#1077;&#1082;&#1090;&#1074;&#1099; &#1074;&#1085;&#1091;&#1090;&#1088;&#1080; &#1092;&#1080;&#1075;&#1091;&#1088;&#1085;&#1099;&#1093; &#1089;&#1082;&#1086;&#1073;&#1086;&#1082;.
&#1055;&#1086;&#1089;&#1083;&#1077; &#1082;&#1072;&#1078;&#1076;&#1086;&#1081; &#1089;&#1077;&#1082;&#1094;&#1080;&#1080; &#1090;&#1072;&#1082;&#1078;&#1077; &#1086;&#1073;&#1103;&#1079;&#1072;&#1090;&#1077;&#1083;&#1077;&#1085; &#1089;&#1080;&#1084;&#1074;&#1086;&#1083; &#39;;&#39;.
&#1058;&#1072;&#1082;&#1078;&#1077; &#1082;&#1072;&#1078;&#1076;&#1099;&#1081; &#1084;&#1086;&#1076;&#1091;&#1083;&#1100; &#1080;&#1084;&#1077;&#1077;&#1090; &#1086;&#1089;&#1086;&#1073;&#1099;&#1081; &#1092;&#1086;&#1088;&#1084;&#1072;&#1090; &#1089;&#1077;&#1082;&#1094;&#1080;&#1080;:</p>

<pre>
.module 'name' {
	param = value;
};
</pre>


<p>&#1042;&#1089;&#1077; &#1101;&#1090;&#1086; &#1084;&#1086;&#1078;&#1077;&#1090; &#1087;&#1086;&#1082;&#1072;&#1079;&#1072;&#1090;&#1100;&#1089;&#1103; &#1089;&#1083;&#1086;&#1078;&#1085;&#1099;&#1084; &#1085;&#1072; &#1087;&#1077;&#1088;&#1074;&#1099;&#1081; &#1074;&#1079;&#1075;&#1083;&#1103;&#1076;,
&#1085;&#1086; &#1101;&#1090;&#1086; &#1087;&#1086;&#1079;&#1074;&#1086;&#1083;&#1103;&#1077;&#1090; &#1083;&#1091;&#1095;&#1096;&#1077; &#1089;&#1090;&#1088;&#1091;&#1082;&#1090;&#1091;&#1088;&#1080;&#1088;&#1086;&#1074;&#1072;&#1090;&#1100; &#1092;&#1072;&#1081;&#1083; &#1080; &#1086;&#1073;&#1083;&#1077;&#1075;&#1095;&#1072;&#1077;&#1090; &#1088;&#1072;&#1089;&#1096;&#1080;&#1088;&#1103;&#1077;&#1084;&#1086;&#1089;&#1090;&#1100; rspamd.
&#1044;&#1083;&#1103; &#1087;&#1077;&#1088;&#1074;&#1086;&#1085;&#1072;&#1095;&#1072;&#1083;&#1100;&#1085;&#1086;&#1081; &#1085;&#1072;&#1089;&#1090;&#1088;&#1086;&#1081;&#1082;&#1080; &#1076;&#1086;&#1089;&#1090;&#1072;&#1090;&#1086;&#1095;&#1085;&#1086; &#1086;&#1073;&#1088;&#1072;&#1090;&#1080;&#1090;&#1100; &#1074;&#1085;&#1080;&#1084;&#1072;&#1085;&#1080;&#1077; &#1085;&#1072; &#1088;&#1072;&#1079;&#1076;&#1077;&#1083; factors,
&#1082;&#1086;&#1090;&#1086;&#1088;&#1099;&#1081; &#1086;&#1087;&#1080;&#1089;&#1099;&#1074;&#1072;&#1077;&#1090; &#1074;&#1077;&#1089;&#1072; &#1088;&#1072;&#1079;&#1083;&#1080;&#1095;&#1085;&#1099;&#1093; &#1087;&#1088;&#1072;&#1074;&#1080;&#1083;,
&#1088;&#1072;&#1079;&#1076;&#1077;&#1083; metric,
&#1082;&#1086;&#1090;&#1086;&#1088;&#1099;&#1081; &#1086;&#1087;&#1080;&#1089;&#1099;&#1074;&#1072;&#1077;&#1090; &#1084;&#1072;&#1082;&#1089;&#1080;&#1084;&#1072;&#1083;&#1100;&#1085;&#1099;&#1081; &#1074;&#1077;&#1089;,
&#1095;&#1090;&#1086;&#1073;&#1099; &#1087;&#1080;&#1089;&#1100;&#1084;&#1086; &#1089;&#1095;&#1080;&#1090;&#1072;&#1083;&#1086;&#1089;&#1100; &#1089;&#1087;&#1072;&#1084;&#1086;&#1084;,
&#1072; &#1090;&#1072;&#1082;&#1078;&#1077; &#1085;&#1072; &#1088;&#1072;&#1079;&#1076;&#1077;&#1083; classifiers.
&#1056;&#1072;&#1079;&#1076;&#1077;&#1083; classifiers &#1086;&#1073;&#1077;&#1089;&#1087;&#1077;&#1095;&#1080;&#1074;&#1072;&#1077;&#1090; &#1088;&#1072;&#1073;&#1086;&#1090;&#1091; &#1089;&#1090;&#1072;&#1090;&#1080;&#1089;&#1090;&#1080;&#1095;&#1077;&#1089;&#1082;&#1080;&#1093; &#1072;&#1083;&#1075;&#1086;&#1088;&#1080;&#1090;&#1084;&#1086;&#1074;.
&#1042; rspamd &#1074; &#1085;&#1072;&#1089;&#1090;&#1086;&#1103;&#1097;&#1077;&#1077; &#1074;&#1088;&#1077;&#1084;&#1103; &#1088;&#1077;&#1072;&#1083;&#1080;&#1079;&#1086;&#1074;&#1072;&#1085; &#1072;&#1083;&#1075;&#1086;&#1088;&#1080;&#1090;&#1084; winnow,
&#1082;&#1086;&#1090;&#1086;&#1088;&#1099;&#1081; &#1088;&#1072;&#1073;&#1086;&#1090;&#1072;&#1077;&#1090; &#1089;&#1083;&#1077;&#1076;&#1091;&#1102;&#1097;&#1080;&#1084; &#1086;&#1073;&#1088;&#1072;&#1079;&#1086;&#1084;:</p>

<dl>
<dt><a name="1_(1090)(1077)(1082)(1089)(1090)_(1088)(1072)(1079)(1073)(1080)(1074)(1072)(1077)(1090)(1089)(1103)_(1085)(1072)_(1089)(1083)(1086)(1074)(1072),_(1090)(1072)(1082)(1078)(1077)_(1074)(1099)(1076)(1077)(1083)(1103)(1077)(1090)(1089)(1103)_(1086)(1082)(1085)(1086)_(1074)_(1087)(1103)(1090)(1100)_(1089)(1083)(1086)(1074)"
>1 &#1090;&#1077;&#1082;&#1089;&#1090; &#1088;&#1072;&#1079;&#1073;&#1080;&#1074;&#1072;&#1077;&#1090;&#1089;&#1103; &#1085;&#1072; &#1089;&#1083;&#1086;&#1074;&#1072;,
&#1090;&#1072;&#1082;&#1078;&#1077; &#1074;&#1099;&#1076;&#1077;&#1083;&#1103;&#1077;&#1090;&#1089;&#1103; &#1086;&#1082;&#1085;&#1086; &#1074; &#1087;&#1103;&#1090;&#1100; &#1089;&#1083;&#1086;&#1074;</a></dt>

<dd>
<dt><a name="2_(1086)(1082)(1085)(1086)_(1087)(1077)(1088)(1077)(1084)(1077)(1097)(1072)(1077)(1090)(1089)(1103)_(1087)(1086)_(1089)(1083)(1086)(1074)(1072)(1084),_(1087)(1088)(1080)_(1101)(1090)(1086)(1084)_(1074)(1099)(1076)(1077)(1083)(1103)(1102)(1090)(1089)(1103)_(1089)(1083)(1086)(1074)(1086)(1089)(1086)(1095)(1077)(1090)(1072)(1085)(1080)(1103)_(1087)(1086)_(1086)(1087)(1088)(1077)(1076)(1077)(1083)(1077)(1085)(1085)(1086)(1084)(1091)_(1072)(1083)(1075)(1086)(1088)(1080)(1090)(1084)(1091)_(1080)_(1074)(1099)(1095)(1080)(1089)(1083)(1103)(1077)(1090)(1089)(1103)_(1080)(1093)_(1093)(1077)(1096)"
>2 &#1086;&#1082;&#1085;&#1086; &#1087;&#1077;&#1088;&#1077;&#1084;&#1077;&#1097;&#1072;&#1077;&#1090;&#1089;&#1103; &#1087;&#1086; &#1089;&#1083;&#1086;&#1074;&#1072;&#1084;,
&#1087;&#1088;&#1080; &#1101;&#1090;&#1086;&#1084; &#1074;&#1099;&#1076;&#1077;&#1083;&#1103;&#1102;&#1090;&#1089;&#1103; &#1089;&#1083;&#1086;&#1074;&#1086;&#1089;&#1086;&#1095;&#1077;&#1090;&#1072;&#1085;&#1080;&#1103; &#1087;&#1086; &#1086;&#1087;&#1088;&#1077;&#1076;&#1077;&#1083;&#1077;&#1085;&#1085;&#1086;&#1084;&#1091; &#1072;&#1083;&#1075;&#1086;&#1088;&#1080;&#1090;&#1084;&#1091; &#1080; &#1074;&#1099;&#1095;&#1080;&#1089;&#1083;&#1103;&#1077;&#1090;&#1089;&#1103; &#1080;&#1093; &#1093;&#1077;&#1096;</a></dt>

<dd>
<dt><a 
>3 &#1082;&#1072;&#1078;&#1076;&#1099;&#1081; &#1087;&#1086;&#1083;&#1091;&#1095;&#1077;&#1085;&#1085;&#1099;&#1081; &#1090;&#1072;&#1082;&#1080;&#1084; &#1086;&#1073;&#1088;&#1072;&#1079;&#1086;&#1084; &#1093;&#1077;&#1096; &#1087;&#1088;&#1086;&#1074;&#1077;&#1088;&#1103;&#1077;&#1090;&#1089;&#1103; &#1074; &#1092;&#1072;&#1081;&#1083;&#1077; &#1089;&#1090;&#1072;&#1090;&#1080;&#1089;&#1090;&#1080;&#1082;&#1080;,
&#1074; &#1082;&#1086;&#1090;&#1086;&#1088;&#1086;&#1084; &#1093;&#1088;&#1072;&#1085;&#1103;&#1090;&#1089;&#1103; &#1093;&#1077;&#1096;&#1080; &#1080; &#1080;&#1093; &#1074;&#1077;&#1089;&#1072;,
&#1077;&#1089;&#1083;&#1080; &#1093;&#1077;&#1096; &#1085;&#1072;&#1081;&#1076;&#1077;&#1085;,
&#1090;&#1086; &#1077;&#1075;&#1086; &#1074;&#1077;&#1089; &#1076;&#1086;&#1073;&#1072;&#1074;&#1083;&#1103;&#1077;&#1090;&#1089;&#1103; &#1082; &#1089;&#1091;&#1084;&#1084;&#1072;&#1088;&#1085;&#1086;&#1084;&#1091; &#1074;&#1077;&#1089;&#1091; &#1076;&#1072;&#1085;&#1085;&#1086;&#1075;&#1086; &#1092;&#1072;&#1081;&#1083;&#1072;</a></dt>

<dd>
<dt><a name="4_(1092)(1072)(1081)(1083),_(1085)(1072)(1073)(1088)(1072)(1074)(1096)(1080)(1081)_(1074)_(1089)(1091)(1084)(1084)(1077)_(1073)(1086)(1083)(1100)(1096)(1077)_(1074)(1077)(1089)(1072)_(1089)(1095)(1080)(1090)(1072)(1077)(1090)(1089)(1103)_(1082)(1083)(1072)(1089)(1089)(1086)(1084)_(1087)(1080)(1089)(1100)(1084)(1072)"
>4 &#1092;&#1072;&#1081;&#1083;,
&#1085;&#1072;&#1073;&#1088;&#1072;&#1074;&#1096;&#1080;&#1081; &#1074; &#1089;&#1091;&#1084;&#1084;&#1077; &#1073;&#1086;&#1083;&#1100;&#1096;&#1077; &#1074;&#1077;&#1089;&#1072; &#1089;&#1095;&#1080;&#1090;&#1072;&#1077;&#1090;&#1089;&#1103; &#1082;&#1083;&#1072;&#1089;&#1089;&#1086;&#1084; &#1087;&#1080;&#1089;&#1100;&#1084;&#1072;</a></dt>
</dl>

<p>&#1054;&#1089;&#1085;&#1086;&#1074;&#1085;&#1072;&#1103; &#1080;&#1076;&#1077;&#1103; &#1090;&#1072;&#1082;&#1086;&#1075;&#1086; &#1087;&#1086;&#1076;&#1093;&#1086;&#1076;&#1072; &#1074; &#1086;&#1087;&#1088;&#1077;&#1076;&#1077;&#1083;&#1077;&#1085;&#1080;&#1080; &#1087;&#1086; &#1089;&#1083;&#1086;&#1074;&#1086;&#1089;&#1086;&#1095;&#1077;&#1090;&#1072;&#1085;&#1080;&#1103;&#1084;,
&#1082; &#1082;&#1072;&#1082;&#1086;&#1084;&#1091; &#1082;&#1083;&#1072;&#1089;&#1089;&#1091; &#1087;&#1088;&#1080;&#1085;&#1072;&#1076;&#1083;&#1077;&#1078;&#1080;&#1090; &#1076;&#1072;&#1085;&#1085;&#1086;&#1077; &#1087;&#1080;&#1089;&#1100;&#1084;&#1086;.
&#1042; SA &#1076;&#1083;&#1103; &#1101;&#1090;&#1086;&#1081; &#1094;&#1077;&#1083;&#1080; &#1080;&#1089;&#1087;&#1086;&#1083;&#1100;&#1079;&#1091;&#1077;&#1090;&#1089;&#1103; &#1074;&#1077;&#1088;&#1086;&#1103;&#1090;&#1085;&#1086;&#1089;&#1090;&#1085;&#1099;&#1081; &#1072;&#1083;&#1075;&#1086;&#1088;&#1080;&#1090;&#1084; bayes,
&#1082;&#1086;&#1090;&#1086;&#1088;&#1099;&#1081; &#1076;&#1086;&#1089;&#1090;&#1072;&#1090;&#1086;&#1095;&#1085;&#1086; &#1087;&#1086;&#1093;&#1086;&#1078; &#1085;&#1072; &#1074;&#1099;&#1096;&#1077;&#1086;&#1087;&#1080;&#1089;&#1072;&#1085;&#1085;&#1099;&#1081;,
&#1085;&#1086; &#1089;&#1095;&#1080;&#1090;&#1072;&#1077;&#1090; &#1085;&#1077; &#1074;&#1077;&#1089;&#1072;,
&#1072; &#1074;&#1077;&#1088;&#1086;&#1103;&#1090;&#1085;&#1086;&#1089;&#1090;&#1080;.
&#1069;&#1092;&#1092;&#1077;&#1082;&#1090;&#1080;&#1074;&#1085;&#1086;&#1089;&#1090;&#1100; &#1082;&#1072;&#1078;&#1076;&#1086;&#1075;&#1086; &#1080;&#1079; &#1072;&#1083;&#1075;&#1086;&#1088;&#1080;&#1090;&#1084;&#1086;&#1074; &#1087;&#1088;&#1080;&#1084;&#1077;&#1088;&#1085;&#1086; &#1086;&#1076;&#1080;&#1085;&#1072;&#1082;&#1086;&#1074;&#1072; &#1080; &#1079;&#1072;&#1074;&#1080;&#1089;&#1080;&#1090; &#1074; &#1086;&#1089;&#1085;&#1086;&#1074;&#1085;&#1086;&#1084; &#1086;&#1090; &#1101;&#1092;&#1092;&#1077;&#1082;&#1090;&#1080;&#1074;&#1085;&#1086;&#1089;&#1090;&#1080; &#1086;&#1073;&#1091;&#1095;&#1077;&#1085;&#1080;&#1103;.
&#1054;&#1076;&#1085;&#1072;&#1082;&#1086;,
&#1074; &#1086;&#1090;&#1083;&#1080;&#1095;&#1080;&#1077; &#1086;&#1090; SA,
rspamd &#1080;&#1089;&#1087;&#1086;&#1083;&#1100;&#1079;&#1091;&#1077;&#1090; &#1085;&#1077; &#1086;&#1090;&#1076;&#1077;&#1083;&#1100;&#1085;&#1099;&#1077; &#1089;&#1083;&#1086;&#1074;&#1072;,
&#1072; &#1089;&#1083;&#1086;&#1074;&#1086;&#1089;&#1086;&#1095;&#1077;&#1090;&#1072;&#1085;&#1080;&#1103;,
&#1095;&#1090;&#1086; &#1087;&#1086;&#1074;&#1099;&#1096;&#1072;&#1077;&#1090; &#1077;&#1075;&#1086; &#1101;&#1092;&#1092;&#1077;&#1082;&#1090;&#1080;&#1074;&#1085;&#1086;&#1089;&#1090;&#1100;.
&#1042; &#1089;&#1077;&#1082;&#1094;&#1080;&#1080; classifiers &#1084;&#1086;&#1078;&#1085;&#1086; &#1091;&#1089;&#1090;&#1072;&#1085;&#1086;&#1074;&#1080;&#1090;&#1100; &#1088;&#1072;&#1079;&#1083;&#1080;&#1095;&#1085;&#1099;&#1077; &#1082;&#1083;&#1072;&#1089;&#1089;&#1099; &#1087;&#1080;&#1089;&#1077;&#1084;,
&#1072; &#1076;&#1072;&#1083;&#1077;&#1077; &#1074; &#1089;&#1077;&#1082;&#1094;&#1080;&#1080; factors &#1091;&#1082;&#1072;&#1079;&#1072;&#1090;&#1100; &#1080;&#1093; &#1074;&#1077;&#1089; (&#1079;&#1072;&#1076;&#1072;&#1074;,
&#1085;&#1072;&#1087;&#1088;&#1080;&#1084;&#1077;&#1088;,
&#1076;&#1083;&#1103; &#1079;&#1072;&#1074;&#1077;&#1076;&#1086;&#1084;&#1086; &#1073;&#1077;&#1079;&#1074;&#1088;&#1077;&#1076;&#1085;&#1099;&#1093; &#1087;&#1080;&#1089;&#1077;&#1084; - ham - &#1086;&#1090;&#1088;&#1080;&#1094;&#1072;&#1090;&#1077;&#1083;&#1100;&#1085;&#1099;&#1081; &#1074;&#1077;&#1089;).
&#1056;&#1072;&#1079;&#1084;&#1077;&#1088; &#1092;&#1072;&#1081;&#1083;&#1086;&#1074; &#1089;&#1090;&#1072;&#1090;&#1080;&#1089;&#1090;&#1080;&#1082;&#1080; &#1076;&#1086;&#1083;&#1078;&#1077;&#1085; &#1073;&#1099;&#1090;&#1100; &#1088;&#1072;&#1079;&#1091;&#1084;&#1085;&#1086; &#1073;&#1086;&#1083;&#1100;&#1096;&#1080;&#1084; &#1076;&#1083;&#1103; &#1093;&#1088;&#1072;&#1085;&#1077;&#1085;&#1080;&#1103; &#1082;&#1072;&#1082; &#1084;&#1086;&#1078;&#1085;&#1086; &#1073;&#1086;&#1083;&#1100;&#1096;&#1077;&#1075;&#1086; &#1095;&#1080;&#1089;&#1083;&#1072; &#1093;&#1077;&#1096;&#1077;&#1081;.
&#1054;&#1076;&#1085;&#1072;&#1082;&#1086;,
&#1085;&#1077;&#1086;&#1073;&#1093;&#1086;&#1076;&#1080;&#1084;&#1086; &#1091;&#1095;&#1080;&#1090;&#1099;&#1074;&#1072;&#1090;&#1100;,
&#1095;&#1090;&#1086; &#1101;&#1090;&#1080; &#1092;&#1072;&#1081;&#1083;&#1099; &#1094;&#1077;&#1083;&#1080;&#1082;&#1086;&#1084; &#1079;&#1072;&#1075;&#1088;&#1091;&#1078;&#1072;&#1102;&#1090;&#1089;&#1103; &#1074; &#1087;&#1072;&#1084;&#1103;&#1090;&#1100; (&#1093;&#1086;&#1090;&#1103;,
&#1088;&#1077;&#1072;&#1083;&#1080;&#1079;&#1072;&#1094;&#1080;&#1103; &#1086;&#1090;&#1086;&#1073;&#1088;&#1072;&#1078;&#1077;&#1085;&#1080;&#1103; &#1092;&#1072;&#1081;&#1083;&#1072; &#1074; &#1087;&#1072;&#1084;&#1103;&#1090;&#1080; &#1074; &#1088;&#1072;&#1079;&#1083;&#1080;&#1095;&#1085;&#1099;&#1093; &#1054;&#1057; &#1076;&#1086;&#1087;&#1091;&#1089;&#1082;&#1072;&#1077;&#1090; &#1079;&#1072;&#1075;&#1088;&#1091;&#1079;&#1082;&#1091; &#1080; &#1074;&#1099;&#1075;&#1088;&#1091;&#1079;&#1082;&#1091; &#1089;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094; &#1101;&#1090;&#1086;&#1075;&#1086; &#1092;&#1072;&#1081;&#1083;&#1072; &#1074; &#1089;&#1074;&#1086;&#1087; &#1089;&#1080;&#1089;&#1090;&#1077;&#1084;&#1099;,
&#1085;&#1086; &#1101;&#1092;&#1092;&#1077;&#1082;&#1090;&#1080;&#1074;&#1085;&#1086;&#1089;&#1090;&#1100; &#1101;&#1090;&#1086;&#1075;&#1086; &#1076;&#1086;&#1074;&#1086;&#1083;&#1100;&#1085;&#1086; &#1085;&#1080;&#1079;&#1082;&#1072;),
&#1087;&#1086;&#1101;&#1090;&#1086;&#1084;&#1091; &#1085;&#1077;&#1086;&#1073;&#1093;&#1086;&#1076;&#1080;&#1084;&#1086; &#1089;&#1086;&#1080;&#1079;&#1084;&#1077;&#1088;&#1103;&#1090;&#1100; &#1088;&#1072;&#1079;&#1084;&#1077;&#1088; &#1086;&#1087;&#1077;&#1088;&#1072;&#1090;&#1080;&#1074;&#1085;&#1086;&#1081; &#1087;&#1072;&#1084;&#1103;&#1090;&#1080; &#1080; &#1092;&#1072;&#1081;&#1083;&#1086;&#1074; &#1089;&#1090;&#1072;&#1090;&#1080;&#1089;&#1090;&#1080;&#1082;&#1080;.</p>

<h2><a class='u' href='#___top' title='click to go to top of document'
name="4._(1055)(1086)(1076)(1082)(1083)(1102)(1095)(1077)(1085)(1080)(1077)_(1080)_(1087)(1088)(1086)(1074)(1077)(1088)(1082)(1072)_(1088)(1072)(1073)(1086)(1090)(1086)(1089)(1087)(1086)(1089)(1086)(1073)(1085)(1086)(1089)(1090)(1080)_rspamd"
>4.
&#1055;&#1086;&#1076;&#1082;&#1083;&#1102;&#1095;&#1077;&#1085;&#1080;&#1077; &#1080; &#1087;&#1088;&#1086;&#1074;&#1077;&#1088;&#1082;&#1072; &#1088;&#1072;&#1073;&#1086;&#1090;&#1086;&#1089;&#1087;&#1086;&#1089;&#1086;&#1073;&#1085;&#1086;&#1089;&#1090;&#1080; rspamd</a></h2>

<p>&#1044;&#1083;&#1103; &#1087;&#1088;&#1086;&#1074;&#1077;&#1088;&#1082;&#1080; &#1088;&#1072;&#1073;&#1086;&#1090;&#1099; &#1089;&#1080;&#1089;&#1090;&#1077;&#1084;&#1099; rspamd &#1087;&#1088;&#1086;&#1097;&#1077; &#1074;&#1089;&#1077;&#1075;&#1086; &#1074;&#1086;&#1089;&#1087;&#1086;&#1083;&#1100;&#1079;&#1086;&#1074;&#1072;&#1090;&#1100;&#1089;&#1103; &#1082;&#1086;&#1084;&#1072;&#1085;&#1076;&#1086;&#1081; rspamc:</p>

<pre>
hostname:~> rspamc stat
Do rspamc command stat
Messages scanned: 1234040
Messages learned: 59151
Connections count: 1176623
Control connections count: 59152
Pools allocated: 2530714
Pools freed: 2530699
Bytes allocated: 66991793394
Memory chunks allocated: 6453232
Shared chunks allocated: 3
Chunks freed: 6453090
Oversized chunks: 468849
Statfile: WINNOW_HAM (version 69); length: 100.0 MB; free blocks: 4563488; total blocks: 6553581; free: 69.63%
Statfile: WINNOW_SPAM (version 36383); length: 100.0 MB; free blocks: 760504; total blocks: 6553581; free: 11.60%
</pre>


<p>&#1042; &#1076;&#1072;&#1085;&#1085;&#1086;&#1084; &#1089;&#1083;&#1091;&#1095;&#1072;&#1077; &#1074;&#1099;&#1074;&#1086;&#1076;&#1080;&#1090;&#1089;&#1103; &#1086;&#1073;&#1097;&#1072;&#1103; &#1089;&#1090;&#1072;&#1090;&#1080;&#1089;&#1090;&#1080;&#1082;&#1072;.
&#1058;&#1072;&#1082;&#1086;&#1075;&#1086; &#1078;&#1077; &#1101;&#1092;&#1092;&#1077;&#1082;&#1090;&#1072; &#1084;&#1086;&#1078;&#1085;&#1086; &#1076;&#1086;&#1089;&#1090;&#1080;&#1075;&#1085;&#1091;&#1090;&#1100; &#1082;&#1086;&#1084;&#1072;&#1085;&#1076;&#1086;&#1081; telnet &#1085;&#1072; &#1087;&#1086;&#1088;&#1090; &#1087;&#1088;&#1086;&#1094;&#1077;&#1089;&#1089;&#1072; controller (&#1086;&#1085; &#1086;&#1087;&#1080;&#1089;&#1072;&#1085; &#1074; &#1082;&#1086;&#1085;&#1092;&#1080;&#1075;&#1091;&#1088;&#1072;&#1094;&#1080;&#1086;&#1085;&#1085;&#1086;&#1084; &#1092;&#1072;&#1081;&#1083;&#1077; &#1074; &#1089;&#1077;&#1082;&#1094;&#1080;&#1080; worker,
type &#1091; &#1082;&#1086;&#1090;&#1086;&#1088;&#1086;&#1075;&#1086; controller).
&#1055;&#1086; &#1091;&#1084;&#1086;&#1083;&#1095;&#1072;&#1085;&#1080;&#1102; &#1101;&#1090;&#1086; &#1087;&#1086;&#1088;&#1090; 11334 &#1085;&#1072; &#1072;&#1076;&#1088;&#1077;&#1089;&#1077; 127.0.0.1.
&#1056;&#1072;&#1073;&#1086;&#1090;&#1091; &#1087;&#1088;&#1072;&#1074;&#1080;&#1083; &#1080; &#1089;&#1090;&#1072;&#1090;&#1080;&#1089;&#1090;&#1080;&#1082;&#1080; &#1084;&#1086;&#1078;&#1085;&#1086; &#1090;&#1072;&#1082;&#1078;&#1077; &#1087;&#1088;&#1086;&#1074;&#1077;&#1088;&#1080;&#1090;&#1100; &#1087;&#1086; &#1082;&#1086;&#1084;&#1072;&#1085;&#1076;&#1077; rspamc:</p>

<pre>
~> rspamc symbols /tmp/mailman.eml 
Processing /tmp/mailman.eml
Process file: /tmp/mailman.eml
Sending 4950 bytes...
RSPAMD/1.1 0 OK
Metric: default; False; -3.35 / 10.00 / 0.00
Symbol: WINNOW_HAM; 5.00
Symbol: RECEIVED_RBL; pbl.spamhaus.org,insecure-bl.rambler.ru
Urls: 
</pre>


<p>&#1042; &#1076;&#1072;&#1085;&#1085;&#1086;&#1084; &#1089;&#1083;&#1091;&#1095;&#1072;&#1077; &#1087;&#1086;&#1082;&#1072;&#1079;&#1099;&#1074;&#1072;&#1102;&#1090;&#1089;&#1103; &#1073;&#1072;&#1083;&#1083;&#1099;,
&#1085;&#1072;&#1073;&#1088;&#1072;&#1085;&#1085;&#1099;&#1077; &#1087;&#1080;&#1089;&#1100;&#1084;&#1086;&#1084;,
&#1072; &#1090;&#1072;&#1082;&#1078;&#1077; &#1076;&#1086;&#1087;&#1086;&#1083;&#1085;&#1080;&#1090;&#1077;&#1083;&#1100;&#1085;&#1072;&#1103; &#1080;&#1085;&#1092;&#1086;&#1088;&#1084;&#1072;&#1094;&#1080;&#1103;.
&#1055;&#1086;&#1076;&#1088;&#1086;&#1073;&#1085;&#1077;&#1077; &#1086; &#1087;&#1088;&#1086;&#1090;&#1086;&#1082;&#1086;&#1083;&#1077; rspamc &#1074; &#1076;&#1086;&#1082;&#1091;&#1084;&#1077;&#1085;&#1090;&#1072;&#1094;&#1080;&#1080; (doc/rspamd.pdf).
&#1044;&#1083;&#1103; &#1087;&#1086;&#1076;&#1082;&#1083;&#1102;&#1095;&#1077;&#1085;&#1080;&#1103; rspamd &#1082; MTA &#1083;&#1091;&#1095;&#1096;&#1077; &#1074;&#1089;&#1077;&#1075;&#1086; &#1080;&#1089;&#1087;&#1086;&#1083;&#1100;&#1079;&#1086;&#1074;&#1072;&#1090;&#1100; milter,
&#1077;&#1089;&#1083;&#1080; &#1074;&#1072;&#1096; MTA postfix &#1080;&#1083;&#1080; sendmail.
&#1042; &#1082;&#1072;&#1095;&#1077;&#1089;&#1090;&#1074;&#1077; milter&#39;&#1072; &#1084;&#1086;&#1078;&#1085;&#1086; &#1080;&#1089;&#1087;&#1086;&#1083;&#1100;&#1079;&#1086;&#1074;&#1072;&#1090;&#1100;,
&#1085;&#1072;&#1087;&#1088;&#1080;&#1084;&#1077;&#1088;,
rmilter: <a href="https://www.milter.org/milter/71/" class="podlinkurl"
>https://www.milter.org/milter/71/</a>.
&#1054; &#1085;&#1072;&#1089;&#1090;&#1088;&#1086;&#1081;&#1082;&#1077; postfix + rmilter &#1084;&#1085;&#1086;&#1081; &#1073;&#1099;&#1083;&#1072; &#1085;&#1072;&#1087;&#1080;&#1089;&#1072;&#1085;&#1072; &#1089;&#1083;&#1077;&#1076;&#1091;&#1102;&#1097;&#1072;&#1103; &#1079;&#1072;&#1084;&#1077;&#1090;&#1082;&#1072;: <a href="http://cebka.pp.ru/blog/2009/02/-nginxpostfixrmilter.html" class="podlinkurl"
>http://cebka.pp.ru/blog/2009/02/-nginxpostfixrmilter.html</a> &#1044;&#1083;&#1103; MTA exim &#1084;&#1086;&#1078;&#1085;&#1086; &#1074;&#1086;&#1089;&#1087;&#1086;&#1083;&#1100;&#1079;&#1086;&#1074;&#1072;&#1090;&#1100;&#1089;&#1103; &#1092;&#1072;&#1081;&#1083;&#1086;&#1084; local_scan.c &#1074; &#1082;&#1072;&#1090;&#1072;&#1083;&#1086;&#1075;&#1077; contrib/exim.
&#1048;&#1085;&#1089;&#1090;&#1088;&#1091;&#1082;&#1094;&#1080;&#1080; &#1087;&#1086; &#1077;&#1075;&#1086; &#1091;&#1089;&#1090;&#1072;&#1085;&#1086;&#1074;&#1082;&#1077; &#1086;&#1087;&#1080;&#1089;&#1072;&#1085;&#1099; &#1074; &#1089;&#1072;&#1084;&#1086;&#1084; &#1092;&#1072;&#1081;&#1083;&#1077;,
&#1086;&#1076;&#1085;&#1072;&#1082;&#1086;,
&#1101;&#1090;&#1086; &#1090;&#1088;&#1077;&#1073;&#1091;&#1077;&#1090; &#1087;&#1077;&#1088;&#1077;&#1089;&#1073;&#1086;&#1088;&#1082;&#1080; MTA.
&#1058;&#1072;&#1082;&#1078;&#1077; rspamd &#34;&#1087;&#1086;&#1085;&#1080;&#1084;&#1072;&#1077;&#1090;&#34; &#1087;&#1088;&#1086;&#1090;&#1086;&#1082;&#1086;&#1083; SA,
&#1087;&#1086;&#1101;&#1090;&#1086;&#1084;&#1091; &#1076;&#1083;&#1103; &#1087;&#1086;&#1076;&#1082;&#1083;&#1102;&#1095;&#1077;&#1085;&#1080;&#1103; rspamd &#1084;&#1086;&#1078;&#1085;&#1086; &#1080;&#1089;&#1087;&#1086;&#1083;&#1100;&#1079;&#1086;&#1074;&#1072;&#1090;&#1100; &#1090;&#1077; &#1078;&#1077; &#1089;&#1088;&#1077;&#1076;&#1089;&#1090;&#1074;&#1072;,
&#1095;&#1090;&#1086; &#1080; &#1076;&#1083;&#1103; &#1087;&#1086;&#1076;&#1082;&#1083;&#1102;&#1095;&#1077;&#1085;&#1080;&#1103; &#1082; MTA SA.</p>

<p>&#1055;&#1086;&#1076;&#1088;&#1086;&#1073;&#1085;&#1077;&#1077; &#1086; &#1082;&#1086;&#1084;&#1072;&#1085;&#1076;&#1072;&#1093; rspamc &#1080; &#1087;&#1088;&#1086;&#1090;&#1086;&#1082;&#1086;&#1083;&#1077; rspamc &#1085;&#1072;&#1087;&#1080;&#1089;&#1072;&#1085;&#1086; &#1086;&#1087;&#1103;&#1090;&#1100; &#1078;&#1077; &#1074; &#1076;&#1086;&#1082;&#1091;&#1084;&#1077;&#1085;&#1090;&#1072;&#1094;&#1080;&#1080;.</p>

<h2><a class='u' href='#___top' title='click to go to top of document'
name="5._(1054)(1073)(1091)(1095)(1077)(1085)(1080)(1077)_rspamd"
>5.
&#1054;&#1073;&#1091;&#1095;&#1077;&#1085;&#1080;&#1077; rspamd</a></h2>

<p>&#1055;&#1088;&#1086;&#1094;&#1077;&#1089;&#1089; &#1086;&#1073;&#1091;&#1095;&#1077;&#1085;&#1080;&#1103; &#1074;&#1072;&#1078;&#1077;&#1085; &#1076;&#1083;&#1103; &#1082;&#1086;&#1088;&#1088;&#1077;&#1082;&#1090;&#1085;&#1086;&#1081; &#1088;&#1072;&#1073;&#1086;&#1090;&#1099; &#1089;&#1090;&#1072;&#1090;&#1080;&#1089;&#1090;&#1080;&#1082;&#1080;.
&#1044;&#1083;&#1103; &#1086;&#1073;&#1091;&#1095;&#1077;&#1085;&#1080;&#1103; &#1080;&#1089;&#1087;&#1086;&#1083;&#1100;&#1079;&#1091;&#1077;&#1090;&#1089;&#1103; &#1082;&#1086;&#1084;&#1072;&#1085;&#1076;&#1072; rspamc learn.
&#1044;&#1083;&#1103; &#1091;&#1082;&#1072;&#1079;&#1072;&#1085;&#1080;&#1103; &#1092;&#1072;&#1081;&#1083;&#1072; (&#1082;&#1083;&#1072;&#1089;&#1089;&#1072;) &#1087;&#1080;&#1089;&#1100;&#1084;&#1072; &#1080;&#1089;&#1087;&#1086;&#1083;&#1100;&#1079;&#1091;&#1077;&#1090;&#1089;&#1103; &#1082;&#1083;&#1102;&#1095; -s.
&#1055;&#1088;&#1080;&#1084;&#1077;&#1088; &#1080;&#1089;&#1087;&#1086;&#1083;&#1100;&#1079;&#1086;&#1074;&#1072;&#1085;&#1080;&#1103;:</p>

<pre>
~> rspamc -s WINNOW_HAM learn /tmp/mailman.eml
Processing /tmp/mailman.eml
Process file: /tmp/mailman.eml
Do rspamc command learn
Sending 4950 bytes...
Learn succeed. Sum weight: 128.48
</pre>


<p>&#1042; &#1082;&#1072;&#1095;&#1077;&#1089;&#1090;&#1074;&#1077; &#1087;&#1072;&#1088;&#1072;&#1084;&#1077;&#1090;&#1088;&#1086;&#1074; &#1084;&#1086;&#1078;&#1085;&#1086; &#1091;&#1082;&#1072;&#1079;&#1099;&#1074;&#1072;&#1090;&#1100; &#1085;&#1077;&#1089;&#1082;&#1086;&#1083;&#1100;&#1082;&#1086; &#1092;&#1072;&#1081;&#1083;&#1086;&#1074;,
&#1094;&#1077;&#1083;&#1099;&#1077; &#1082;&#1072;&#1090;&#1072;&#1083;&#1086;&#1075;&#1080;,
&#1072; &#1090;&#1072;&#1082;&#1078;&#1077; imap &#1087;&#1072;&#1087;&#1082;&#1080;:</p>

<pre>
~> rspamc -s WINNOW_SPAM learn imaps:user:cebka:password::host:somehost.rambler.ru:mbox:abuse.spam
Processing imaps:user:cebka:password::host:mailsupport.rambler.ru:mbox:abuse.spam
Enter IMAP password: 
Process imap: host: somehost.rambler.ru, mbox: abuse.spam
Do rspamc command learn
Sending 382650 bytes...
Learn succeed. Sum weight: 1850.24
<skipped>
</pre>


<p>&#1055;&#1088;&#1080; &#1086;&#1073;&#1091;&#1095;&#1077;&#1085;&#1080;&#1080; &#1085;&#1077;&#1086;&#1073;&#1093;&#1086;&#1076;&#1080;&#1084;&#1086; &#1091;&#1095;&#1080;&#1090;&#1099;&#1074;&#1072;&#1090;&#1100;,
&#1095;&#1090;&#1086;&#1073;&#1099; &#1082;&#1086;&#1083;&#1080;&#1095;&#1077;&#1089;&#1090;&#1074;&#1086; spam &#1080; ham &#1087;&#1080;&#1089;&#1077;&#1084; &#1073;&#1099;&#1083;&#1086; &#1087;&#1088;&#1080;&#1084;&#1077;&#1088;&#1085;&#1086; &#1088;&#1072;&#1074;&#1085;&#1099;&#1084;.
&#1042;&#1077;&#1089; &#1087;&#1086;&#1082;&#1072;&#1079;&#1099;&#1074;&#1072;&#1077;&#1090; &#1089;&#1091;&#1084;&#1084;&#1072;&#1088;&#1085;&#1099;&#1081; &#1074;&#1077;&#1089; &#1089;&#1083;&#1086;&#1074;&#1086;&#1089;&#1086;&#1095;&#1077;&#1090;&#1072;&#1085;&#1080;&#1081; &#1090;&#1077;&#1082;&#1089;&#1090;&#1072;,
&#1082;&#1086;&#1090;&#1086;&#1088;&#1099;&#1081; &#1073;&#1099;&#1083; &#1076;&#1086; &#1086;&#1073;&#1091;&#1095;&#1077;&#1085;&#1080;&#1103; &#1076;&#1072;&#1085;&#1085;&#1099;&#1084; &#1087;&#1080;&#1089;&#1100;&#1084;&#1086;&#1084; (&#1090;&#1086; &#1077;&#1089;&#1090;&#1100;,
&#1090;&#1086;,
&#1085;&#1072;&#1089;&#1082;&#1086;&#1083;&#1100;&#1082;&#1086; &#1074;&#1077;&#1083;&#1080;&#1082;&#1072; &#1074;&#1077;&#1088;&#1086;&#1103;&#1090;&#1085;&#1086;&#1089;&#1090;&#1100; &#1087;&#1088;&#1080;&#1085;&#1072;&#1076;&#1083;&#1077;&#1078;&#1085;&#1086;&#1089;&#1090;&#1080; &#1076;&#1072;&#1085;&#1085;&#1086;&#1075;&#1086; &#1087;&#1080;&#1089;&#1100;&#1084;&#1072; &#1082; &#1101;&#1090;&#1086;&#1084;&#1091; &#1082;&#1083;&#1072;&#1089;&#1089;&#1091;).
&#1055;&#1088;&#1080; &#1086;&#1073;&#1085;&#1072;&#1088;&#1091;&#1078;&#1077;&#1085;&#1080;&#1080; &#1085;&#1077;&#1074;&#1077;&#1088;&#1085;&#1099;&#1093; &#1089;&#1088;&#1072;&#1073;&#1072;&#1090;&#1099;&#1074;&#1072;&#1085;&#1080;&#1081; &#1089;&#1090;&#1072;&#1090;&#1080;&#1089;&#1090;&#1080;&#1082;&#1080; &#1084;&#1086;&#1078;&#1085;&#1086; &#1085;&#1077;&#1089;&#1082;&#1086;&#1083;&#1100;&#1082;&#1086; &#1088;&#1072;&#1079; &#1087;&#1088;&#1080;&#1084;&#1077;&#1085;&#1080;&#1090;&#1100; learn &#1082; &#1079;&#1072;&#1076;&#1072;&#1085;&#1085;&#1086;&#1084;&#1091; &#1087;&#1080;&#1089;&#1100;&#1084;&#1091;,
&#1087;&#1088;&#1086;&#1074;&#1077;&#1088;&#1103;&#1103; &#1077;&#1075;&#1086; &#1089;&#1091;&#1084;&#1084;&#1072;&#1088;&#1085;&#1099;&#1081; &#1074;&#1077;&#1089;.</p>

<h2><a class='u' href='#___top' title='click to go to top of document'
name="6._(1055)(1086)(1076)(1076)(1077)(1088)(1078)(1082)(1072)_(1080)_(1076)(1072)(1083)(1100)(1085)(1077)(1081)(1096)(1080)(1077)_(1076)(1077)(1081)(1089)(1090)(1074)(1080)(1103)"
>6.
&#1055;&#1086;&#1076;&#1076;&#1077;&#1088;&#1078;&#1082;&#1072; &#1080; &#1076;&#1072;&#1083;&#1100;&#1085;&#1077;&#1081;&#1096;&#1080;&#1077; &#1076;&#1077;&#1081;&#1089;&#1090;&#1074;&#1080;&#1103;</a></h2>

<p>&#1045;&#1089;&#1083;&#1080; &#1074;&#1099; &#1088;&#1077;&#1096;&#1080;&#1083;&#1080; &#1080;&#1089;&#1087;&#1086;&#1083;&#1100;&#1079;&#1086;&#1074;&#1072;&#1090;&#1100; rspamd &#1076;&#1083;&#1103; &#1086;&#1073;&#1088;&#1072;&#1073;&#1086;&#1090;&#1082;&#1080; &#1074;&#1072;&#1096;&#1077;&#1081; &#1087;&#1086;&#1095;&#1090;&#1099;,
&#1090;&#1086; &#1083;&#1091;&#1095;&#1096;&#1080;&#1084; &#1080;&#1089;&#1090;&#1086;&#1095;&#1085;&#1080;&#1082;&#1086;&#1084; &#1080;&#1085;&#1092;&#1086;&#1088;&#1084;&#1072;&#1094;&#1080;&#1080; &#1073;&#1091;&#1076;&#1077;&#1090; &#1103;&#1074;&#1083;&#1103;&#1090;&#1100;&#1089;&#1103; &#1076;&#1086;&#1082;&#1091;&#1084;&#1077;&#1085;&#1090;&#1072;&#1094;&#1080;&#1103; &#1082; rspamd,
&#1072; &#1090;&#1072;&#1082;&#1078;&#1077; &#1087;&#1088;&#1080;&#1084;&#1077;&#1088;&#1099; lua &#1087;&#1083;&#1072;&#1075;&#1080;&#1085;&#1086;&#1074;: etc/plugins/lua.
&#1062;&#1077;&#1083;&#1100;&#1102; &#1078;&#1077; &#1076;&#1072;&#1085;&#1085;&#1086;&#1081; &#1089;&#1090;&#1072;&#1090;&#1100;&#1080; &#1103;&#1074;&#1083;&#1103;&#1077;&#1090;&#1089;&#1103; &#1086;&#1079;&#1085;&#1072;&#1082;&#1086;&#1084;&#1083;&#1077;&#1085;&#1080;&#1077; &#1089; &#1086;&#1089;&#1085;&#1086;&#1074;&#1085;&#1099;&#1084;&#1080; &#1087;&#1088;&#1080;&#1077;&#1084;&#1072;&#1084;&#1080; &#1087;&#1086; &#1091;&#1089;&#1090;&#1072;&#1085;&#1086;&#1074;&#1082;&#1077;,
&#1082;&#1086;&#1085;&#1092;&#1080;&#1075;&#1091;&#1088;&#1080;&#1088;&#1086;&#1074;&#1072;&#1085;&#1080;&#1102; &#1080; &#1086;&#1073;&#1091;&#1095;&#1077;&#1085;&#1080;&#1102; rspamd,
&#1072; &#1090;&#1072;&#1082;&#1078;&#1077; &#1086;&#1087;&#1080;&#1089;&#1072;&#1085;&#1080;&#1077; &#1087;&#1088;&#1077;&#1080;&#1084;&#1091;&#1097;&#1077;&#1089;&#1090;&#1074; rspamd &#1087;&#1086; &#1089;&#1088;&#1072;&#1074;&#1085;&#1077;&#1085;&#1080;&#1102; &#1089; SA.
&#1045;&#1089;&#1083;&#1080; &#1085;&#1072; &#1083;&#1102;&#1073;&#1086;&#1084; &#1101;&#1090;&#1072;&#1087;&#1077; &#1088;&#1072;&#1073;&#1086;&#1090;&#1099; &#1089; rspamd &#1091; &#1074;&#1072;&#1089; &#1074;&#1086;&#1079;&#1085;&#1080;&#1082;&#1072;&#1077;&#1090; &#1087;&#1088;&#1086;&#1073;&#1083;&#1077;&#1084;&#1072;,
&#1090;&#1086; &#1084;&#1086;&#1078;&#1085;&#1086; &#1086; &#1085;&#1077;&#1081; &#1089;&#1086;&#1086;&#1073;&#1097;&#1080;&#1090;&#1100; &#1084;&#1085;&#1077;: <b>vsevolod@highsecure.ru</b> &#1080;&#1083;&#1080; &#1078;&#1077; &#1074; &#1089;&#1087;&#1080;&#1089;&#1086;&#1082; &#1088;&#1072;&#1089;&#1089;&#1099;&#1083;&#1082;&#1080; rspamd &#1085;&#1072; sourceforge (&#1072;&#1085;&#1075;&#1083;&#1086;&#1075;&#1086;&#1074;&#1086;&#1088;&#1103;&#1097;&#1080;&#1081;): <b>rspamd-devel@lists.sourceforge.net</b>.
&#1057;&#1072;&#1084;&#1072; &#1089;&#1080;&#1089;&#1090;&#1077;&#1084;&#1072; rspamd &#1085;&#1072;&#1093;&#1086;&#1076;&#1080;&#1090;&#1089;&#1103; &#1074; &#1089;&#1086;&#1089;&#1090;&#1086;&#1103;&#1085;&#1080;&#1080; &#1073;&#1077;&#1090;&#1072;-&#1074;&#1077;&#1088;&#1089;&#1080;&#1080;,
&#1087;&#1086;&#1101;&#1090;&#1086;&#1084;&#1091; &#1074;&#1072;&#1096;&#1072; &#1087;&#1086;&#1084;&#1086;&#1097;&#1100; &#1074; &#1090;&#1077;&#1089;&#1090;&#1080;&#1088;&#1086;&#1074;&#1072;&#1085;&#1080;&#1080; &#1080; &#1079;&#1072;&#1087;&#1088;&#1086;&#1089;&#1099; &#1092;&#1091;&#1085;&#1082;&#1094;&#1080;&#1086;&#1085;&#1072;&#1083;&#1100;&#1085;&#1086;&#1089;&#1090;&#1080; &#1073;&#1091;&#1076;&#1091;&#1090; &#1085;&#1077;&#1086;&#1094;&#1077;&#1085;&#1080;&#1084;&#1099; &#1074; &#1088;&#1072;&#1079;&#1074;&#1080;&#1090;&#1080;&#1080; rspamd.</p>

<!-- end doc -->

</body></html>