# Host and connection rules scores
#
# Please don't modify this file as your changes might be overwritten with
# the next update.
#
# You can modify '$LOCAL_CONFDIR/rspamd.conf.local.override' to redefine
# parameters defined on the top level
#
# You can modify '$LOCAL_CONFDIR/rspamd.conf.local' to add
# parameters defined on the top level
#
# For specific modules or configuration you can also modify
# '$LOCAL_CONFDIR/local.d/hfilter_group.conf' - to add your options or rewrite defaults
# '$LOCAL_CONFDIR/override.d/hfilter_group.conf' - to override the defaults
#
# See https://rspamd.com/doc/developers/writing_rules.html for details

description = "SMTP envelope filter";

symbols = {
    "HFILTER_HELO_BAREIP" {
        weight = 3.0;
        description = "Helo host is bare ip";
    }
    "HFILTER_HELO_BADIP" {
        weight = 4.5;
        description = "Helo host is very bad ip";
    }
    "HFILTER_HELO_1" {
        weight = 0.5;
        description = "Helo host checks (very low)";
    }
    "HFILTER_HELO_2" {
        weight = 1.0;
        description = "Helo host checks (low)";
    }
    "HFILTER_HELO_3" {
        weight = 2.0;
        description = "Helo host checks (medium)";
    }
    "HFILTER_HELO_4" {
        weight = 2.5;
        description = "Helo host checks (hard)";
    }
    "HFILTER_HELO_5" {
        weight = 3.0;
        description = "Helo host checks (very hard)";
    }
    "HFILTER_HOSTNAME_1" {
        weight = 0.5;
        description = "Hostname checks (very low)";
    }
    "HFILTER_HOSTNAME_2" {
        weight = 1.0;
        description = "Hostname checks (low)";
    }
    "HFILTER_HOSTNAME_3" {
        weight = 2.0;
        description = "Hostname checks (medium)";
    }
    "HFILTER_HOSTNAME_4" {
        weight = 2.5;
        description = "Hostname checks (hard)";
    }
    "HFILTER_HOSTNAME_5" {
        weight = 3.0;
        description = "Hostname checks (very hard)";
    }
    "HFILTER_HELO_NORESOLVE_MX" {
        weight = 0.2;
        description = "MX found in Helo and no resolve";
    }
    "HFILTER_HELO_NORES_A_OR_MX" {
        weight = 0.3;
        description = "Helo no resolve to A or MX";
    }
    "HFILTER_HELO_IP_A" {
        weight = 1.0;
        description = "Helo A IP != hostname IP";
    }
    "HFILTER_HELO_NOT_FQDN" {
        weight = 2.0;
        description = "Helo not FQDN";
    }
    "HFILTER_FROMHOST_NORESOLVE_MX" {
        weight = 0.5;
        description = "MX found in FROM host and no resolve";
    }
    "HFILTER_FROMHOST_NORES_A_OR_MX" {
        weight = 1.5;
        description = "FROM host no resolve to A or MX";
    }
    "HFILTER_FROMHOST_NOT_FQDN" {
        weight = 3.0;
        description = "FROM host not FQDN";
    }
    "HFILTER_FROM_BOUNCE" {
        weight = 0.0;
        description = "Bounce message";
    }
/*
    # Disabled by default
    "HFILTER_MID_NORESOLVE_MX" {
        weight = 0.5;
        description = "MX found in Message-id host and no resolve";
    }
    "HFILTER_MID_NORES_A_OR_MX" {
        weight = 0.5;
        name = ;
        description = "Message-id host no resolve to A or MX";
    }
    "HFILTER_MID_NOT_FQDN" {
        weight = 0.5;
        description = "Message-id host not FQDN";
    }
*/
    "HFILTER_HOSTNAME_UNKNOWN" {
        weight = 2.5;
        description = "Unknown client hostname (PTR or FCrDNS verification failed)";
    }
    "HFILTER_RCPT_BOUNCEMOREONE" {
        weight = 1.5;
        description = "Message from bounce and over 1 recipient";
    }
    "HFILTER_URL_ONLY" {
        weight = 2.2;
        description = "URL only in body";
    }
    "HFILTER_URL_ONELINE" {
        weight = 2.5;
        description = "One line URL and text in body";
    }
    "RDNS_NONE" {
        weight = 2.0;
        description = "Cannot resolve reverse DNS for sender's IP";
    }
    "RDNS_DNSFAIL" {
        weight = 0.0;
        description = "PTR verification DNS error";
    }
}
