Mail::...::Pyzor(3pm)

πŸ’– Mail::...::Pyzor πŸ’–

okay bestie, welcome to the manual page for Mail::SpamAssassin::Plugin::Pyzor β€” a.k.a. the user-contributed Perl documentation glow-up of your fave spam-blocking plugin. it's giving plugin-queen. let's get into it 🫢


✨ NAME ✨

Mail::SpamAssassin::Plugin::Pyzor β€” bestie, this plugin does a Pyzor check of your messages. that's it, that's the job πŸ’…


🌸 SYNOPSIS 🌸

loadplugin     Mail::SpamAssassin::Plugin::Pyzor

that's literally all you need to load it. no cap. ✨


πŸ¦‹ DESCRIPTION πŸ¦‹

so Pyzor? iconic honestly. it's a collaborative, networked system to detect and block spam using identifying digests of messages. like, the whole squad pools their knowledge fr fr.

want more info about Pyzor? go peek at http://pyzor.org/ β€” it's right there πŸ’œ


πŸŽ€ USER SETTINGS πŸŽ€

  • use_pyzor (0|1) β€” default: 1. do you wanna use Pyzor, if it is available? yes queen. this is your on/off switch.
  • 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.

and listen β€” as most clients should not be auto-reporting these checksums, you should set this to a relatively low value, e.g. 5. lowkey keep it chill πŸ™ˆ

  • pyzor_welcomelist_min NUMBER β€” default: 10. hiiii so this used to be pyzor_whitelist_min and that one will work interchangeably until 4.1. legacy vibes, she's still valid.

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. so it's a two-step, she doesn't decide alone πŸ’…

  • pyzor_welcomelist_factor NUMBER β€” default: 0.2. again, previously pyzor_whitelist_factor, and it will work interchangeably until 4.1.

ignore the Pyzor result if REPORTCOUNT x NUMBER >= pyzor_welcomelist_min. for the default setting this means: 50 reports requires 10 welcomelistings. the math is mathing ✨


πŸ‘‘ ADMINISTRATOR SETTINGS πŸ‘‘

  • pyzor_fork (0|1) β€” default: 1. instead of running Pyzor synchronously, fork a separate process for it and read the results in later (similar to async DNS lookups). increases throughput. considered experimental on Windows, where the default is 0. main character energy, but she's experimental on Windows, so know that 🫢
  • pyzor_perl (0|1) β€” default: 0. instead of running the Pyzor client, use a pure Perl client. perl princess behavior honestly 🧚
  • 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).

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. so like β€” it's the vibe check deadline ⏰

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.

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. girl, let her go 😭

  • pyzor_options options β€” specify additional options to the pyzor(1) command. please note that only characters in the range [0-9A-Za-z =,._/-] are allowed for security reasons. we are NOT playing with injection bestie, the character list is the character list 🚫
  • pyzor_path STRING β€” this option tells SpamAssassin specifically where to find the pyzor client instead of relying on SpamAssassin to find it in the current PATH. note that if taint mode is enabled in the Perl interpreter, you should use this, as the current PATH will have been cleared. taint mode said "nope" and cleared the whole path, so hand her the coordinates πŸ“
  • pyzor_server_file FILE β€” Pyzor servers configuration file path, used by the Pyzor Perl implementation. by default Pyzor will connect to public.pyzor.org on port 24441. default destination locked in βœ…

πŸ’– reminder bestie: this is the User Contributed Perl Documentation version of Mail::...::Pyzor(3pm), brought to you by perl v5.40.1 and dated 2026-07-23. that's the whole page, you ate it, periodt. πŸŽ€πŸ¦‹πŸ’…
πŸ“¦ where this page comes from