.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.42) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "Mail::SpamAssassin::Plugin::Pyzor 3pm" .TH Mail::SpamAssassin::Plugin::Pyzor 3pm "2022-09-10" "perl v5.34.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" Mail::SpamAssassin::Plugin::Pyzor \- perform Pyzor check of messages .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& loadplugin Mail::SpamAssassin::Plugin::Pyzor .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" Pyzor is a collaborative, networked system to detect and block spam using identifying digests of messages. .PP See http://pyzor.org/ for more information about Pyzor. .SH "USER OPTIONS" .IX Header "USER OPTIONS" .IP "use_pyzor (0|1) (default: 1)" 4 .IX Item "use_pyzor (0|1) (default: 1)" Whether to use Pyzor, if it is available. .IP "pyzor_fork (0|1) (default: 1)" 4 .IX Item "pyzor_fork (0|1) (default: 1)" Instead of running Pyzor synchronously, fork separate process for it and read the results in later (similar to async \s-1DNS\s0 lookups). Increases throughput. .IP "pyzor_count_min \s-1NUMBER\s0 (default: 5)" 4 .IX Item "pyzor_count_min NUMBER (default: 5)" This option sets how often a message's body checksum must have been reported to the Pyzor server before SpamAssassin will consider the Pyzor check as matched. .Sp As most clients should not be auto-reporting these checksums, you should set this to a relatively low value, e.g. \f(CW5\fR. .IP "pyzor_welcomelist_min \s-1NUMBER\s0 (default: 10)" 4 .IX Item "pyzor_welcomelist_min NUMBER (default: 10)" Previously pyzor_whitelist_min which will work interchangeably until 4.1. .Sp This option sets how often a message's body checksum must have been welcomelisted to the Pyzor server for SpamAssassin to consider ignoring the result. Final decision is made by pyzor_welcomelist_factor. .IP "pyzor_welcomelist_factor \s-1NUMBER\s0 (default: 0.2)" 4 .IX Item "pyzor_welcomelist_factor NUMBER (default: 0.2)" Previously pyzor_whitelist_factor which will work interchangeably until 4.1. .Sp Ignore Pyzor result if \s-1REPORTCOUNT\s0 x \s-1NUMBER\s0 >= pyzor_welcomelist_min. For default setting this means: 50 reports requires 10 welcomelistings. .SH "ADMINISTRATOR OPTIONS" .IX Header "ADMINISTRATOR OPTIONS" .IP "pyzor_timeout n (default: 5)" 4 .IX Item "pyzor_timeout n (default: 5)" How many seconds you wait for Pyzor to complete, before scanning continues without the Pyzor results. A numeric value is optionally suffixed by a time unit (s, m, h, d, w, indicating seconds (default), minutes, hours, days, weeks). .Sp You can configure Pyzor to have its own per-server timeout. Set this plugin's timeout with that in mind. This plugin's timeout is a maximum ceiling. If Pyzor takes longer than this to complete its communication with all servers, no results are used by SpamAssassin. .Sp Pyzor servers do not yet synchronize their servers, so it can be beneficial to check and report to more than one. See the pyzor-users mailing list for alternate servers that are not published via \&'pyzor discover'. .Sp If you are using multiple Pyzor servers, a good rule of thumb would be to set the SpamAssassin plugin's timeout to be the same or just a bit more than the per-server Pyzor timeout (e.g., 3.5 and 2 for two Pyzor servers). If more than one of your Pyzor servers is always timing out, consider removing one of them. .IP "pyzor_options options" 4 .IX Item "pyzor_options options" Specify additional options to the \fBpyzor\fR\|(1) command. Please note that only characters in the range [0\-9A\-Za\-z =,._/\-] are allowed for security reasons. .IP "pyzor_path \s-1STRING\s0" 4 .IX Item "pyzor_path STRING" This option tells SpamAssassin specifically where to find the \f(CW\*(C`pyzor\*(C'\fR client instead of relying on SpamAssassin to find it in the current \&\s-1PATH.\s0 Note that if \fItaint mode\fR is enabled in the Perl interpreter, you should use this, as the current \s-1PATH\s0 will have been cleared.