Provided by: libpublicinbox-perl_1.8.0-1_all bug

NAME

       PublicInbox::SaPlugin::ListMirror - SpamAssassin plugin for mailing list mirrors

SYNOPSIS

         loadplugin PublicInbox::SaPlugin::ListMirror

       Declare some mailing lists based on the expected List-Id value, expected servers, and
       mailing list address:

         list_mirror List-Id <foo.example.com> *.example.com foo@example.com
         list_mirror List-Id <bar.example.com> *.example.com bar@example.com

       Bump the score for messages which come from unexpected servers:

         header LIST_MIRROR_RECEIVED eval:check_list_mirror_received()
         describe LIST_MIRROR_RECEIVED Received does not match expected
         score LIST_MIRROR_RECEIVED 10

       Bump the score for messages which Bcc the list:

         header LIST_MIRROR_BCC eval:check_list_mirror_bcc()
         describe LIST_MIRROR_BCC Mailing list was Bcc-ed
         score LIST_MIRROR_BCC 5

DESCRIPTION

       This plugin contains common functions to provide accurate, ongoing mirrors of existing
       mailing lists.  It may be used independently of the rest of public-inbox, it does not
       depend on any public-inbox code, only SpamAssassin.

ADMINISTRATOR SETTINGS

       This plugin has no administrator settings, aside from the need to load it via "loadplugin"
       and enabling user rules "allow_user_rules 1"

USER SETTINGS

       list_mirror HEADER HEADER_VALUE HOSTNAME_GLOB [LIST_ADDRESS]
           Declare a list based on an expected "HEADER" matching "HEADER_NAME" exactly coming
           from "HOSTNAME_GLOB".  "LIST_ADDRESS" is optional, but may specify the address of the
           mailing list being mirrored.

           "List-Id" or "X-Mailing-List" are common values of "HEADER"

           An example of "HEADER_VALUE" is "<foo.example.org>" if "HEADER" is "List-Id".

           "HOSTNAME_GLOB" may be a wildcard match for machines where mail can come from or an
           exact match.

           "LIST_ADDRESS" is only required if using the "check_list_mirror_bcc" eval rule

           "list_mirror" may be specified multiple times.

EVAL FUNCTIONS

       header LIST_MIRROR_RECEIVED eval:check_list_mirror_received()
           The "check_list_mirror_received" function implements "Received:" header checking based
           on "list_mirror" configuration values.

           This rule can be used to score and prevent messages from being injected directly into
           your mirror without going through the expected mailing list servers:

             ifplugin PublicInbox::SaPlugin::ListMirror
               header LIST_MIRROR_RECEIVED eval:check_list_mirror_received()
               describe LIST_MIRROR_RECEIVED Received does not match expected
             endif

       header LIST_MIRROR_BCC eval:check_list_mirror_bcc()
           The "check_list_mirror_bcc" function checks for Bcc to mailing lists declared with a
           "LIST_ADDRESS" via "list_mirror"

           Spammers will often Bcc mailing lists; while it's uncommon and strange for valid
           messages to be Bcc-ed to any public mailing list.  This rule allows users to assign a
           score to Bcc-ed messages

             ifplugin PublicInbox::SaPlugin::ListMirror
               header LIST_MIRROR_BCC eval:check_list_mirror_bcc()
               describe LIST_MIRROR_BCC Mailing list was Bcc-ed
             endif

CONTACT

       Feedback welcome via plain-text mail to <mailto:meta@public-inbox.org>

       The mail archives are hosted at <https://public-inbox.org/meta/> and
       <http://4uok3hntl7oi7b4uf4rtfwefqeexfzil2w6kgk2jn5z2f764irre7byd.onion/meta/>

COPYRIGHT

       Copyright (C) 2016-2021 all contributors <mailto:meta@public-inbox.org>

       License: AGPL-3.0+ <http://www.gnu.org/licenses/agpl-3.0.txt>

SEE ALSO

       Mail::SpamAssassin::Conf